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 of Apple
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.
Task #3 (15%):
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 the Google Colab website.
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?
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。