*Python
Stock Exchange Data
Problem
Expected Duration: 3-6 hours
A comma-separated value file stocks_data.csv contains historicaldata on the Adjusted Closing Price for 3 stocks daily from Jan 2,2009 to Dec 31,2018. The stocks are Apple (APPL), Microsoft (MSFT)and IBM (IBM).
A snippet from the data file looks like the following:
Symbol | Date | Adj. Close |
---|
MSFT | 4/16/2014 | 35.807358 |
MSFT | 6/21/2010 | 20.752356 |
IBM | 2/10/2009 | 68.930023 |
AAPL | 2/14/2018 | 164.227203 |
IBM | 6/13/2017 | 141.24379 |
IBM | 12/26/2017 | 142.835663 |
MSFT | 4/1/2009 | 15.053272 |
AAPL | 4/17/2009 | 15.445643 |
You can see that each row has a symbol, date and closing price,but the stock data is not sorted by symbol, date or price.
Your task has two main parts:
Part I
For each stock, print the following information to the consoleand to a text file called stock_summary.txt:
- the max price and date it occurs
- the min price and date it occurs
- the average (mean) price
Part 2
Print to the console and append to the output filestock_summary.txt:
- The stock among the 3 with the highest overall closing priceand its date
- The stock among the 3 with the lowest overall closing price andits date
Example output looks like the following. Your output must matchthe format, but replace the placeholders with specific values.
AAPL----Max: price dateMin: price dateAve: meanIBM----Max: price dateMin: price dateAve: meanMSFT----Max: price dateMin: price dateAve: meanHighest: Symbol price dateLowest: Symbol price date
Tests
This project has a rubric that matches these test cases, and isused for grading.
Your instructor may also use automated unit test code and/or pylintfor grading.
- load data from csv input file
- if the input file does not exist, print \"file does not exist.\"and exit.
- generate summary data for each stock (counts as 1 test case,all correct for this to count)
- compute the highest of all stocks and compute the lowest of allthe stocks
- use functions to minimize obvious repeated code
- write same correct output to filestock_summary.txt and console
- use loops in code to eliminate repeated code
- use appropriate modules and builtin functions to simplifycode
- Code has a main function with conditional execution.
- File has a module docstring with required information init.
- Code follows PEP8 Python Style guide for code style (not yourbook's Java style)
- Thonny's Assistant or pylint says your code is OK, nowarnings.
I am really hoping that you can leave a lot of comments on howyou do this because I want to learn how to do it. If you can, canyou focus on #5 above? use functions to minimize obvious repeatedcode. Thanks for your help!