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 audiences attention and effectively convey the

information?

Is speaker clearly and confidently?