├── crypto_candle.py └── crypto_correlation.py /crypto_candle.py: -------------------------------------------------------------------------------- 1 | import pandas_datareader as web 2 | import datetime as dt 3 | import mplfinance as mpf 4 | 5 | start = dt.datetime(2020, 1, 1) 6 | end = dt.datetime.now() 7 | 8 | # Altcoins also work 9 | data = web.DataReader("BTC-USD", "yahoo", start, end) 10 | 11 | mpf.plot(data, type="candle", volume=True, style="yahoo") 12 | -------------------------------------------------------------------------------- /crypto_correlation.py: -------------------------------------------------------------------------------- 1 | import pandas_datareader as web 2 | import mplfinance as mpf 3 | import datetime as dt 4 | import matplotlib.pyplot as plt 5 | import seaborn as sns 6 | 7 | currency = "USD" 8 | metric = "Close" 9 | 10 | start = dt.datetime(2018,1,1) 11 | end = dt.datetime.now() 12 | 13 | crypto = ['BTC', 'ETH', 'LTC', 'XRP', 'DASH', 'SC'] 14 | colnames = [] 15 | 16 | first = True 17 | 18 | for ticker in crypto: 19 | data = web.DataReader(f"{ticker}-{currency}", "yahoo", start, end) 20 | if first: 21 | combined = data[[metric]].copy() 22 | colnames.append(ticker) 23 | combined.columns = colnames 24 | first = False 25 | else: 26 | combined = combined.join(data[metric]) 27 | colnames.append(ticker) 28 | combined.columns = colnames 29 | 30 | plt.yscale('log') # first show linear 31 | 32 | for ticker in crypto: 33 | plt.plot(combined[ticker], label=ticker) 34 | 35 | plt.legend(loc="upper right") 36 | 37 | plt.show() 38 | 39 | # # Correlation Heat Map 40 | 41 | print(combined) 42 | 43 | combined = combined.pct_change().corr(method='pearson') 44 | 45 | sns.heatmap(combined, annot=True, cmap="coolwarm") 46 | plt.show() 47 | --------------------------------------------------------------------------------