利用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分析一下最近的股票市场的详细内容,更多关于Python分析股票市场的资料请关注脚本之家其它相关文章!
上一篇:Go语言单元测试超详细解析
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?