利用Python分析一下最近的股票市場
一、數(shù)據(jù)獲取
數(shù)據(jù)獲取范圍為2022年一月一日到2022年2月25日,獲取的數(shù)據(jù)為俄羅斯黃金,白銀,石油,銀行,天然氣:
#?導入模塊 import?numpy?as?np import?pandas?as?pd import?yfinance?as?yf #?GC=F黃金,SI=F白銀,ROSN.ME俄羅斯石油,SBER.ME俄羅斯銀行,天然氣 tickerSymbols?=?['GC=F',?'SI=F',?'ROSN.ME',?'SBER.ME','NG=F'] #?獲取這些代碼的數(shù)據(jù) MSFT?=?yf.Ticker(tickerSymbols[0]) TSLA?=?yf.Ticker(tickerSymbols[1]) AAPL?=?yf.Ticker(tickerSymbols[2]) AMZN?=?yf.Ticker(tickerSymbols[3]) GOOG?=?yf.Ticker(tickerSymbols[4]) #?獲取代碼的歷史價格 MSFT_df?=?MSFT.history(period='1d',?start='2022-1-1',?end='2022-2-25') TSLA_df?=?TSLA.history(period='1d',?start='2022-1-1',?end='2022-1-25') AAPL_df?=?AAPL.history(period='1d',?start='2022-1-1',?end='2022-1-25') AMZN_df?=?AMZN.history(period='1d',?start='2022-1-1',?end='2022-1-25') GOOG_df?=?GOOG.history(period='1d',?start='2022-1-1',?end='2022-1-25') #?比如天然氣 GOOG_df.head()
如下:
二、合并數(shù)據(jù)
#?將每只股票的收盤列保存到新變量中 MSFT?=?MSFT_df['Close'] TSLA?=?TSLA_df['Close'] AAPL?=?AAPL_df['Close'] AMZN?=?AMZN_df['Close'] GOOG?=?GOOG_df['Close'] #?Concatenate?all?stocks?close?columns?into?one?data?frame stocks_df?=?pd.concat([MSFT,?TSLA,?AAPL,?AMZN,?GOOG],?axis='columns',?join='inner') #?Rename?the?data?frame?columns?with?their?corresponding?tickers?symbols stocks_df.columns?=?['gold',?'silver',?'oil',?'bank',?'gas'] #?Visualize?the?new?data?frame stocks_df.head()
如下:
三、繪制股票每日百分比變化
#?接下來,讓我們計算股票每日百分比變化并繪制它們以直觀地分析它們在過去一個多月中的變化行為。 #?獲取每日百分比變化 stocks_df?=?stocks_df.pct_change().dropna() #?可視化新數(shù)據(jù)框 stocks_df.head() #?繪制每日百分比變化 stocks_df.plot(figsize=(20,?10),?title="Daily?Returns");
如下:
從圖也可以看出哪個變動大,哪個穩(wěn)定)自己用眼睛看
四、箱線圖
上面的圖確實不好看,所以我們畫一個箱線圖更加直觀:
#?箱線圖 #?計算累積回報 cumulative_returns?=?(1?+?stocks_df).cumprod() #?繪制累積回報 cumulative_returns.plot(figsize=(20,?10),?title="Cumulative?Returns"); #?箱線圖直觀地顯示風險 stocks_df.plot.box(figsize=(20,?10),?title="Portfolio?Risk");
累計回報圖:
箱線圖:
顯然是天然氣收益最高;盒子越寬,晶須越長,股票的波動性就越大。石油最穩(wěn)定,天然氣波動大了點
五、計算月化夏普比率
#計算月化夏普比率 sharpe_ratios?=?(stocks_df.mean()?*?30)?/?(stocks_df.std()?*?np.sqrt(30)) sharpe_ratios?=?sharpe_ratios.sort_values(ascending=False) sharpe_ratios
如下:
#將夏普比率可視化為條形圖 sharpe_ratios.plot(figsize=(20,?10),?kind="bar",?title="Sharpe?Ratios");
如下:
六、結(jié)論
根據(jù)以上結(jié)果,建議購買黃金,其次為白銀,天然氣,俄羅斯銀行和石油不建議購買。注意:以上分析數(shù)據(jù)為2022年1月1日到2022年2月5日分析圖。沒有寫預(yù)測部分,我覺得動蕩太多,沒必要預(yù)測了,買穩(wěn)定的吧,預(yù)測已經(jīng)沒有意義。
以上就是利用Python分析一下最近的股票市場的詳細內(nèi)容,更多關(guān)于Python分析股票市場的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python3中替換python2中cmp函數(shù)的實現(xiàn)
這篇文章主要介紹了python3替換python2中cmp函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08Python應(yīng)用領(lǐng)域和就業(yè)形勢分析總結(jié)
在本篇文章總我們給大家整理了關(guān)于Python應(yīng)用領(lǐng)域和就業(yè)形勢分析以及圖文介紹,需要的朋友們可以參考下。2019-05-05Python爬取網(wǎng)站圖片并保存的實現(xiàn)示例
這篇文章主要介紹了Python爬取網(wǎng)站圖片并保存的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02Python3爬蟲里關(guān)于代理的設(shè)置總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于Python3爬蟲里關(guān)于代理的設(shè)置總結(jié),需要的朋友們可以參考下。2020-07-07利用Python實現(xiàn)讀取Word表格計算匯總并寫入Excel
這篇文章主要給大家介紹了關(guān)于如何利用Python實現(xiàn)讀取Word表格計算匯總并寫入Excel的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-01-01