您好,登錄后才能下訂單哦!
小編給大家分享一下怎么利用Python分析一下最近的股票市場,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
數據獲取范圍為2022年一月一日到2022年2月25日,獲取的數據為俄羅斯黃金,白銀,石油,銀行,天然氣:
# 導入模塊 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'] # 獲取這些代碼的數據 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()
如下:
# 將每只股票的收盤列保存到新變量中 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() # 可視化新數據框 stocks_df.head() # 繪制每日百分比變化 stocks_df.plot(figsize=(20, 10), title="Daily Returns");
如下:
從圖也可以看出哪個變動大,哪個穩定)自己用眼睛看
上面的圖確實不好看,所以我們畫一個箱線圖更加直觀:
# 箱線圖 # 計算累積回報 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");
累計回報圖:
箱線圖:
顯然是天然氣收益最高;盒子越寬,晶須越長,股票的波動性就越大。石油最穩定,天然氣波動大了點
#計算月化夏普比率 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");
如下:
根據以上結果,建議購買黃金,其次為白銀,天然氣,俄羅斯銀行和石油不建議購買。注意:以上分析數據為2022年1月1日到2022年2月5日分析圖。沒有寫預測部分,我覺得動蕩太多,沒必要預測了,買穩定的吧,預測已經沒有意義。
看完了這篇文章,相信你對“怎么利用Python分析一下最近的股票市場”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。