利用Python分析一下最近的股票市場(chǎng)
一、數(shù)據(jù)獲取
數(shù)據(jù)獲取范圍為2022年一月一日到2022年2月25日,獲取的數(shù)據(jù)為俄羅斯黃金,白銀,石油,銀行,天然氣:
#?導(dǎo)入模塊 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]) #?獲取代碼的歷史價(jià)格 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ù)
#?將每只股票的收盤(pán)列保存到新變量中 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()
如下:

三、繪制股票每日百分比變化
#?接下來(lái),讓我們計(jì)算股票每日百分比變化并繪制它們以直觀地分析它們?cè)谶^(guò)去一個(gè)多月中的變化行為。 #?獲取每日百分比變化 stocks_df?=?stocks_df.pct_change().dropna() #?可視化新數(shù)據(jù)框 stocks_df.head() #?繪制每日百分比變化 stocks_df.plot(figsize=(20,?10),?title="Daily?Returns");
如下:

從圖也可以看出哪個(gè)變動(dòng)大,哪個(gè)穩(wěn)定)自己用眼睛看
四、箱線圖
上面的圖確實(shí)不好看,所以我們畫(huà)一個(gè)箱線圖更加直觀:
#?箱線圖 #?計(jì)算累積回報(bào) cumulative_returns?=?(1?+?stocks_df).cumprod() #?繪制累積回報(bào) cumulative_returns.plot(figsize=(20,?10),?title="Cumulative?Returns"); #?箱線圖直觀地顯示風(fēng)險(xiǎn) stocks_df.plot.box(figsize=(20,?10),?title="Portfolio?Risk");
累計(jì)回報(bào)圖:

箱線圖:

顯然是天然氣收益最高;盒子越寬,晶須越長(zhǎng),股票的波動(dòng)性就越大。石油最穩(wěn)定,天然氣波動(dòng)大了點(diǎn)
五、計(jì)算月化夏普比率
#計(jì)算月化夏普比率 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é)果,建議購(gòu)買(mǎi)黃金,其次為白銀,天然氣,俄羅斯銀行和石油不建議購(gòu)買(mǎi)。注意:以上分析數(shù)據(jù)為2022年1月1日到2022年2月5日分析圖。沒(méi)有寫(xiě)預(yù)測(cè)部分,我覺(jué)得動(dòng)蕩太多,沒(méi)必要預(yù)測(cè)了,買(mǎi)穩(wěn)定的吧,預(yù)測(cè)已經(jīng)沒(méi)有意義。
以上就是利用Python分析一下最近的股票市場(chǎng)的詳細(xì)內(nèi)容,更多關(guān)于Python分析股票市場(chǎng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python 實(shí)現(xiàn)簡(jiǎn)單的客戶端認(rèn)證
這篇文章主要介紹了Python 如何實(shí)現(xiàn)簡(jiǎn)單的客戶端認(rèn)證,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄
這篇文章主要介紹了Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄。下面文章著情介紹,需要的小伙伴可以參考一下2022-01-01
Python使用__new__()方法為對(duì)象分配內(nèi)存及返回對(duì)象的引用示例
這篇文章主要介紹了Python使用__new__()方法為對(duì)象分配內(nèi)存及返回對(duì)象的引用,結(jié)合實(shí)例形式分析了Python對(duì)象初始化及內(nèi)存操作相關(guān)使用技巧,需要的朋友可以參考下2019-09-09
Python爬蟲(chóng)之Selenium實(shí)現(xiàn)關(guān)閉瀏覽器
這篇文章主要介紹了Python爬蟲(chóng)之Selenium實(shí)現(xiàn)關(guān)閉瀏覽器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
使用python無(wú)賬號(hào)無(wú)限制獲取企查查信息的實(shí)例代碼
這篇文章主要介紹了使用python無(wú)賬號(hào)無(wú)限制獲取企查查信息的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Python?虛擬環(huán)境遷移到其他電腦的實(shí)現(xiàn)
本文主要介紹了Python?虛擬環(huán)境遷移到其他電腦的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
python爬取網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件
這篇文章主要為大家詳細(xì)介紹了python爬取網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Python并行計(jì)算庫(kù)Joblib高效使用指北
Joblib是用于高效并行計(jì)算的Python開(kāi)源庫(kù),其提供了簡(jiǎn)單易用的內(nèi)存映射和并行計(jì)算的工具,以將任務(wù)分發(fā)到多個(gè)工作進(jìn)程中,這篇文章主要介紹了Python并行計(jì)算庫(kù)Joblib使用指北,需要的朋友可以參考下2024-08-08

