Python Widget

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

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.