利用Python分析一下最近的股票市场

 更新时间:2022年02月26日 09:19:47   作者:川川  
这篇文章主要为大家介绍了利用Python分析一下最近的股票市场的实现过程,数据获取范围为2022年一月一日到2022年2月25日,感兴趣的可以了解一下

一、数据获取

数据获取范围为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分析股票市场的资料请关注脚本之家其它相关文章!

相关文章

  • Vision Transformer图像分类模型导论

    Vision Transformer图像分类模型导论

    这篇文章主要为大家介绍了Vision Transformer图像分类模型导论,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • tensorflow 查看梯度方式

    tensorflow 查看梯度方式

    今天小编就为大家分享一篇tensorflow 查看梯度方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • scrapy中如何设置应用cookies的方法(3种)

    scrapy中如何设置应用cookies的方法(3种)

    这篇文章主要介绍了scrapy中如何设置应用cookies的方法(3种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python快速进阶利用Tkinter定制一个信息提示框

    python快速进阶利用Tkinter定制一个信息提示框

    这篇文章主要介绍了python快速进阶利用Tkinter定制一个信息提示框,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 从零学python系列之数据处理编程实例(一)

    从零学python系列之数据处理编程实例(一)

    本文目的:用一个实例总结学习到的with语句,函数,列表推导,集合,排序,字符分割等内容
    2014-05-05
  • pandas将list数据拆分成行或列的实现

    pandas将list数据拆分成行或列的实现

    这篇文章主要介绍了pandas将list数据拆分成行或列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 使用Py2Exe for Python3创建自己的exe程序示例

    使用Py2Exe for Python3创建自己的exe程序示例

    今天小编就为大家分享一篇使用Py2Exe for Python3创建自己的exe程序示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python入门_浅谈for循环、while循环

    Python入门_浅谈for循环、while循环

    下面小编就为大家带来一篇Python入门_浅谈for循环、while循环。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 小小聊天室Python代码实现

    小小聊天室Python代码实现

    这篇文章主要为大家详细介绍了小小聊天室Python具体的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • python assert的用处示例详解

    python assert的用处示例详解

    python assert 句语格式及用法很简单。通常程序在运行完之后抛出异常,使用assert可以在出现有异常的代码处直接终止运行。这篇文章通过实例代码介绍了python assert的用处 ,需要的朋友可以参考下
    2019-04-04

最新评论