共计 1317 个字符,预计需要花费 4 分钟才能阅读完成。
这篇文章主要介绍 pandas 如何实现股票分析图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
获取 APPL,MSFT,GOOG 的股票数据
stocks = pd.DataFrame({Date : apple[ Date], AAPL : apple[Adj Close], MSFT : microsoft[Adj Close], GOOG : google[Adj Close]}).set_index(Date)
print(stocks.head())
dateAAPLGOOGMSFT2016-01-04102.612183741.84002753.0150322016-01-05100.040792742.58001753.2568892016-01-0698.083025743.61999552.2894622016-01-0793.943473726.39001550.4706972016-01-0894.440222714.46997150.625489
1 多只股票对比
做出图形
stocks.plot(grid = True)
plt.show()
由于 google 的股价比较高,所以导致了 Microsoft 和 Apple 股票波动变小。一个解决的方法是使用不同的刻度线。
stocks.plot(secondary_y = [ AAPL , MSFT], grid = True)
还有的更好的方法是画出收益图
#df.apply(arg) 将会把函数参数应用到数据框的每一列,然后再返回一个数据框 #在这行代码中,lambda 中的 x 是一个 seriesstock_return = stocks.apply(lambda x: x / x[0])
stock_return.head()
做出波动图
stock_return.plot(grid = True).axhline(y = 1, color = black , lw = 2)
通过这个图我们可以看到每一个股票相对于初始价格的收益,我们还可以看到这些股票的波动是相关的。
我们还可以做出股票的每天的变化图
stock_change = stocks.apply(lambda x: np.log(x) - np.log(x.shift(1))) # shift moves dates back by 1.
2 股票均线图
stocks[AAPL].plot(label= APPL)
apple[20d] = np.round(apple[ Close].rolling(window = 20, center = False).mean(), 2).plot(label= 20Average)
apple[50d] = np.round(apple[ Close].rolling(window = 50, center = False).mean(), 2).plot(label= 50Average)
plt.legend()
plt.show()
以上是“pandas 如何实现股票分析图”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!
正文完