共計 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 行業資訊頻道!
正文完