COMM5007 Individual Project
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
COMM5007 Individual Project (100 pts)
Due date: Week 11 Wednesday @11:59pm, 9 August
Data Resources: The Yahoo Finance API is a range of libraries/APIs/methods to obtain historical and real time data for a variety of financial markets and products, as shown on Yahoo! Finance (https://finance.yahoo.com/trending-tickers). By utilizing the Yahoo Finance API, you can access a wealth of financial data that can help you make informed investment decisions (code examples are shown in the file). This data includes stock prices, historical price trends, volume data, market news, and more.
Task Description: You are asked to recommend stocks to your customers to invest. Your recommendations will have a significant impact on your customers' financial well-being. You will need to submit the following documents, based on the tasks we described below.
Deliverable:
You need to submit the following three files in Moodle (more submission information will be available later):
1. A Jupyter notebook file containing codes with comments to understand the coding. This file should be named as “zID_Codes.ipynb”, for example, “z13626739_Codes.ipynb” . Please make sure that all Python codes can run without errors. You will lose points if codes do not work. Refer to marking rubrics for more details.
2. A .pdf document which should include:
a. brief description on the ideas of your selection in Task #1
b. show your results in Task #2;
c. briefly explain your plots created in Task #3;
d. briefly describe your defined customer groups, and descriptive analysis in Task #4. Note: Please do not include codes in this document. This file should be named as “zID_Instructions.pdf”, for example, “z13626739_Instructions.pdf”.
3. A video no more than 10 minutes to pitch your data analysis and design ideas. You need to justify your selection, creation, and analytics. For the submission, you may need to compress the file within 150MB (e.g., by reducing the resolution). In this video, you need to:
a. display your “zID_Instructions.pdf” file to articulate the selected stocks in Task #1, results in Task #2, your analytics in Task #3, Task #4, and Task #5;
b. in the video scene, after displaying your “zID_Instructions.pdf” file, you need to switch to your “zID_Codes.ipynb” , you are required to (don’t need to follow the order):
i. run the codes
ii. explain your defined functions and class
iii. explain how to use your designed interactive widgets
iv. show your creativity on the designed interactive widgets/dashboards to your defined customer groups and communicate effectively with your customers
Note: This video file should be submitted in MP4 format, and named as “zID_VideoPitch.mp4”, for example, “z13626739_VideoPitch.mp4” .
Task #1 (5%):
To make informed recommendations, you are required to first select a group of stocks (at least ten stocks) from Yahoo! Finance API. You are required to justify your selections.
For example, a scenario could be that you are interested in newly listed companies and their performance in the market. As a result, you may select ten stocks specifically from the pool of recently listed companies. An alternative scenario could be that you are an avid enthusiast ofApple products. You are intrigued by the performance of "Apple" competitors' stock prices and have a desire to select a group of stocks in the technology sector.
Task #2 (5%):
Extract companies’ information from the financial markets, including city, state, country, industry, sector, the number of full-time employees using Python, and then put them into a Pandas Dataframe.
To help your customer identify potentially profitable investment opportunities, you need to draw plots to show at least three different types of trends for your selected stocks. For each trend, you are required to put your selected stock list into one single plot and interpret the trends.
For example, to pick the most profitable times to invest each stock, you can draw the changes of stock price and explain that time based on your own justifications.
Task #4 (15%):
A sound investment recommendation also hinges on your comprehensive understanding of your customers. In your recommendation, it is necessary to segment potential customers based on their investing strategies. You are required to customize further descriptive data analysis based on #Task 3 and your customers on the need, and provide tailored recommendations to different types of customers (at least two groups).
For example, you can divide your customers into two groups: short-term investors or long-term investors and recommend them different stocks in your selected list. Since short-term investors often prefer stocks with higher price volatility and long-term investors generally prefer stocks with low volatility, you can assess the volatility of the stocks in your selected list for further descriptive data analysis.
Another example is that you can divide your customers into two groups: risk taking investor or risk averse investors and recommend them different stocks.
Task #5 (30%):
In addition to your technical skills, your ability to communicate effectively with your customers is critical. Design interactive widgets (Python library Ipywidgets) in the Jupyter notebook to recommend your selected stocks for your customers within your defined groups in Task #4. This project requires you to define at least 1 Python class and (at least) 4 Python functions and of your choice in your codes. The functions may relate to statistics, graphics, text, or image applications, and will be used to communicate your analytical results to your customers You are required to show how creative you are and how to communicate with analytical results effectively in the design process.
#Task 6 (30%) Report, code file, and video pitch.
Code Execution Platforms
You can choose any platform you like. Here are two options:
1. Colab Instructions
• Here's a simplified tutorial on how to use Colab:
• Open theGoogle Colabwebsite.
• Sign in with your Google account or create a new one.
• Create a new notebook.
• Write code and text in the notebook.
• https://colab.research.google.com/Click the play button or use the Shift + Enter shortcut to run the code.
• Use !pip install command to install additional libraries.
• Insert new cells or rearrange their order.
• Colab supports Google Drive, allowing you to upload and process data files.
• Save the notebook or download it to your local machine.
• When closing the notebook, changes will be automatically saved to Google Drive.
2. Build the local environment you preferred--different Python IDEs (e.g., Jupyter notebook, PyCharm).
Code examples:
Marking Rubric:
Criteria |
% |
Questions to be asked by the marker when determining the mark |
Task 1 & 2 |
10% |
Does the analysis thoroughly justified the selection of stocks considering various factors? Does the analysis select at least ten stocks? Are all selected stocks highly relevant to the scenario and demonstrate a clear connection? Is the company information extracted accurately and does it store in a correct format? |
Task 3 |
15% |
Are the plots clear and appropriate? Does the analysis provide detailed and insightful interpretations of each plot? Is the analysis clear, organized, and effectively communicating the findings and supporting analysis? |
Task 4 |
15% |
Does the analysis effectively segment customers into the defined groups? Does the analysis demonstrate a comprehensive understanding of customers? Can the analysis effectively support the customer segmentation and recommend selected stocks to the customers? |
Task 5 |
30% |
Can the designed interactive widgets effectively recommend selected stocks to customers within the defined groups? Do the widgets user-friendly intuitive? Do you cover all required tasks (at least 1 Python class and at least 4 functions) in the code? Is the design creative and effective in addressing different aspects of the project? Does the design effectively present recommendations and analytical insights in an engaging and informative manner? |
Task 6 |
30% |
Are codes efficient and without errors? Does the report thoroughly document all requirements and clearly explain the process? Does the video cover all required task? Is the video pitch clear, well-structured, and effectively convey the key message? Is the video pitch engaging and persuasive? Can the video pitch capture the audience’s attention and effectively convey the information? Is speaker clearly and confidently? |
2023-07-18
Coding for Business