網站首頁 編程語言 正文
一、數據獲取
數據獲取范圍為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日分析圖。沒有寫預測部分,我覺得動蕩太多,沒必要預測了,買穩定的吧,預測已經沒有意義。
原文鏈接:https://mp.weixin.qq.com/s/AABr1FJ8CUxvIoLQ1QIU4w
相關推薦
- 2022-10-23 react優雅處理多條件鼠標拖拽位移_React
- 2022-02-02 去掉chorme瀏覽器自動補全時input框的背景樣式
- 2022-04-22 git push時出現403,443
- 2022-07-01 Nginx的gzip指令使用小結_nginx
- 2022-03-30 用C語言畫一個圓_C 語言
- 2024-01-14 三種線程安全的List
- 2022-07-07 Python自動化辦公之Word文檔的創建與生成_python
- 2023-03-25 React高階組件使用詳細介紹_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支