这篇文章主要介绍 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())
date | AAPL | GOOG | MSFT |
---|---|---|---|
2016-01-04 | 102.612183 | 741.840027 | 53.015032 |
2016-01-05 | 100.040792 | 742.580017 | 53.256889 |
2016-01-06 | 98.083025 | 743.619995 | 52.289462 |
2016-01-07 | 93.943473 | 726.390015 | 50.470697 |
2016-01-08 | 94.440222 | 714.469971 | 50.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如何实现股票分析图 ”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。