yfinance
yfinance aimes to solve this problem by offering a reliable, threaded, and Pythonic way to download historical market data from Yahoo! finance.
- pip install yfinance --user
1 import yfinance
2 from pandas._libs.tslibs.timestamps import Timestamp
3 data = yfinance.download("AMZN",start="2019-01-01",end="2020-02-12")
4 d = data.to_dict()
5 d['Close'].key
6 # for k in d['Close'].iterkeys(): print (k)
7 d['Close'][Timestamp('2019-11-22 00:00:00')]
8 d['Close'][Timestamp('2020-02-10 00:00:00')]
MSFT example
"""#!highlight python
cd ~/Documents/
mkdir yfinance-test
cd yfinance-test/
sudo apt install python3-venv
python3 -m venv testVenv
source testVenv/bin/activate
pip install yfinance
"""
import yfinance as yf
msft = yf.Ticker("MSFT")
historyDataFrame = msft.history(period="5d")
print("Available columns")
for colname in historyDataFrame:
print(" "+colname)
print("Available indexes")
for idx in historyDataFrame.index:
print(" "+str(idx))
columnClose = historyDataFrame['Close']
rowidx = 0
print("Symbol:"+msft.info['symbol'])
for closeValue in columnClose.values:
print(historyDataFrame.index[rowidx], closeValue)
rowidx += 1