Python 股票相关热图
Python stock correlation heatmap
试图制作投资组合中股票的相关热图,但结果一团糟。感谢帮助。
得到这个https://i.stack.imgur.com/7jzuE.jpg
pt_comp = web.DataReader(['BP.L', 'III.L', 'GSK.L', 'OCDO.L', 'RBS.L', 'SVT.L'], 'yahoo',start=start,end=end) ['Adj Close']
#Percentage returns of each stock
pt_rets = pt_comp.pct_change()
#correlation between stocks
corr = pt_rets.corr()
#corrlation heat map
plt.imshow(corr, cmap='hot', interpolation='none')
plt.colorbar()
plt.xticks(range(len(corr)), corr.columns)
plt.yticks(range(len(corr)), corr.columns);
'''
绘制相关热图的方法之一是使用 seaborn 库。看,是否有帮助。
https://seaborn.pydata.org/generated/seaborn.heatmap.html
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
pt_comp = web.DataReader(['BP.L', 'III.L', 'GSK.L', 'OCDO.L', 'RBS.L', 'SVT.L'], 'yahoo',start=start,end=end) ['Adj Close']
#Percentage returns of each stock
pt_rets = pt_comp.pct_change()
#correlation between stocks
corr = pt_rets.corr()
ax = sns.heatmap(corr)
plt.colorbar()
plt.xticks(range(len(corr)), corr.columns)
plt.yticks(range(len(corr)), corr.columns)
试图制作投资组合中股票的相关热图,但结果一团糟。感谢帮助。
得到这个https://i.stack.imgur.com/7jzuE.jpg
pt_comp = web.DataReader(['BP.L', 'III.L', 'GSK.L', 'OCDO.L', 'RBS.L', 'SVT.L'], 'yahoo',start=start,end=end) ['Adj Close']
#Percentage returns of each stock
pt_rets = pt_comp.pct_change()
#correlation between stocks
corr = pt_rets.corr()
#corrlation heat map
plt.imshow(corr, cmap='hot', interpolation='none')
plt.colorbar()
plt.xticks(range(len(corr)), corr.columns)
plt.yticks(range(len(corr)), corr.columns);
'''
绘制相关热图的方法之一是使用 seaborn 库。看,是否有帮助。 https://seaborn.pydata.org/generated/seaborn.heatmap.html
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
pt_comp = web.DataReader(['BP.L', 'III.L', 'GSK.L', 'OCDO.L', 'RBS.L', 'SVT.L'], 'yahoo',start=start,end=end) ['Adj Close']
#Percentage returns of each stock
pt_rets = pt_comp.pct_change()
#correlation between stocks
corr = pt_rets.corr()
ax = sns.heatmap(corr)
plt.colorbar()
plt.xticks(range(len(corr)), corr.columns)
plt.yticks(range(len(corr)), corr.columns)