股票市场是历史上研究最多的领域之一。几十年来,人们一直在努力预测未来的价格。大多数人(如果不是全部)都在为这项任务而苦苦挣扎,因为股票市场是一个随机过程。由于其随机性,随机过程本质上很难或不可能准确预测。这就是蒙特卡罗模拟的用武之地。这些模拟非常适合确定具有随机变量的过程或事件的结果。例如,股票市场有未知的随机事件,如新闻、世界事件、投资者情绪等。所有这些都创建了一个随机系统,使得创建模型来预测未来价格几乎不可能。

在本文中,我们将尝试使用历史数据和统计数据预测一年后 SPY 的股价。请注意,这不是投资建议。这仅用于教育目的,并演示如何将蒙特卡罗方法应用于股票市场。该模型可以应用于您最喜欢的股票、ETF 或加密货币,如果需要,它可以扩展到任何随机过程以确定随机事件的最可能结果。让我们进入代码。

导入包

对于这段代码,我们需要以下包:

yfinance用于拉取历史财务数据
numpy用于计算股价变化的统计参数
random用于创建随机结果(蒙特卡罗模拟的关键)
pyplot用于可视化我们的结果
norm与random包结合使用以随机化每日股票收益(在本文后面解释)

# Importing Packages
import yfinance as yf
import numpy as np
from random import random
import matplotlib.pyplot as plt
from scipy.stats import norm

获取和显示历史数据

下一步是使用yfinance生成历史财务数据。在本文中,我们将使用股票代码 SPY,即 SPDR S&P 500 ETF Trus

在 Python 中使用蒙特卡罗方法预测股票价格,使用蒙特卡罗模拟确定明年 SPY 最有可能的价格相关推荐

  1. 比特币的价格今年会达到10万美元吗?有人用蒙特卡罗方法预测了一下

    翻译 | AI 科技大本营 参与 | 刘畅 编辑 | Donna [AI 科技大本营导读]科技博客作者 Xoel López Barata 正尝试着用简单的蒙特卡罗模拟方法,来预测比特币的每日收益,并 ...

  2. 比特币价格会达到10万美元?有人用蒙特卡罗方法预测了一下

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 翻译 | AI 科技大本营 参与 | 刘畅 编辑 | Donna [编者按]科技博客作者 X ...

  3. 在Python中使用逆变换方法生成随机变量

    目标 在仿真理论中,生成随机变量是最重要的"构建块"之一,而这些随机变量大多是由均匀分布的随机变量生成的.其中一种可以用来产生随机变量的方法是逆变换法.在本文中,我将向您展示如何使 ...

  4. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  5. python使用方法-在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  6. python中range 10 0_如何在python中使用range方法

    如何在python中使用range方法 发布时间:2021-01-05 16:55:23 来源:亿速云 阅读:94 作者:Leah 如何在python中使用range方法?很多新手对此不是很清楚,为了 ...

  7. Python中sys.argv方法的一些典型用法

    本文整理汇总了Python中sys.argv方法的典型用法代码示例. 示例1: weather_icons # 需要导入模块: import sys [as 别名] # 或者: from sys im ...

  8. python中函数和方法的区别

    本篇内容主要介绍从几个维度来介绍下python中函数和方法的区别: 首先,从分类的角度来分析. (1)函数的分类: 内置函数:python内嵌的一些函数. 匿名函数:一行代码实现一个函数功能. 递归函 ...

  9. python脚本怎么使用_在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

最新文章

  1. 中国机器人产业发展报告(2018)正式发布!
  2. 如何只使用预训练模型的卷积层
  3. 入门机器学习,这一步必不可少!
  4. jquery实现页面加载进度条(转)
  5. 大数据常见的处理方法有哪些
  6. ArrayList 源码分析(JDK1.8)
  7. Android手机屏幕投影到电脑工具
  8. 前端导入并解析excel文件,前端解析xlsx、xls格式文件、VUE解析xlsx、xls格式文件
  9. Linux svn up 遇到Conflict discovered in
  10. 计算机常用键的作用,键盘功能键大全2017 电脑键盘常用按键功能详解
  11. 并查集应用-判断亲戚关系
  12. spring boot 2.0 官方文档 (一)
  13. 云脉相册管理,检索轻松便捷
  14. 递归算法从入门到完全掌握
  15. SAP资产折旧-工作量法业务实践和实操
  16. 【Linux】IFS是个什么鬼
  17. MySQL数据库之约束
  18. 书单:书籍、论坛、网站
  19. 基于android的裸眼3d,午诺裸眼3D原理其实并不复杂
  20. udk2017环境搭建编译步骤

热门文章

  1. java压缩解压缩完整例子(仅支持lzh格式)
  2. 5款强制删除工具合集:
  3. 明明白白用Qt5.10编写FTP客户端
  4. Java程序设计之加法器的实现
  5. 解决Android Studio编译后安装apk报错:The APK file does not exist on disk
  6. Java的lambda实战(二)集合中的lambda
  7. Tableau新手入门指南一篇搞定!
  8. 成熟的J2EE框架应该具体的功能
  9. 维修电工仪表照明实训考核装置
  10. Socks 正向代理 - Srelay