In: Computer Science
*Python
Stock Exchange Data
Problem
Expected Duration: 3-6 hours
A comma-separated value file stocks_data.csv contains historical data 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 console and to a text file called stock_summary.txt:
Part 2
Print to the console and append to the output file stock_summary.txt:
Example output looks like the following. Your output must match the format, but replace the placeholders with specific values.
AAPL ---- Max: price date Min: price date Ave: mean IBM ---- Max: price date Min: price date Ave: mean MSFT ---- Max: price date Min: price date Ave: mean Highest: Symbol price date Lowest: Symbol price date
Tests
This project has a rubric that matches these test cases, and is
used for grading.
Your instructor may also use automated unit test code and/or pylint
for grading.
I am really hoping that you can leave a lot of comments on how you do this because I want to learn how to do it. If you can, can you focus on #5 above? use functions to minimize obvious repeated code. Thanks for your help!
Program:
Summary of data . you can remove it if you want.
Summary:
python {filename}.py >> stocks_summary.txt
Allows you to redirect your output to the file (>> redirect symbol)
You can also your > to append the output to existing file.
Else use sys module
The sorted() takes the list and the key to sort ; itemgettter helps in sorting the list based on the key.
To use itemgetter import from operator module.