Python金融大数据分析-蒙特卡洛仿真

 无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。教程链接:https://www.cbedai.net/qtlyx

 

 

1.简单的例子

    了解一点金融工程的对这个公式都不会太陌生,是用现在股价预测T时间股价的公式,其背后是股价符合几何布朗运动,也就是大名鼎鼎的BSM期权定价模型的基础。

    我们假设现在一个股票的价值是100,那么两年后是多少呢?

 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
S0 = 100
r = 0.05
sigma = 0.25
T = 2.0
I = 10000
ST1 = S0*np.exp((r - 0.5*sigma**2)*T+sigma*np.sqrt(T)*np.random.standard_normal(I))
plt.hist(ST1,bins = 50)
plt.xlabel('price')
plt.ylabel('ferquency')

    运行的结果如下所示:

 

    很明显,是一个lognormal分布,因为这样的假设下,价格符合lognormal分布,收益率符合正态分布。

2.简单的蒙特卡洛路径

    上面是一步到位的,那么如果我们中间分很多个小时间段来仿真呢?可以知道,物理问题是一样的,结果也不会有差异。

 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as scs
S0 = 100
r = 0.05
sigma = 0.25
T = 2.0
I = 10000
#ST1 = S0*np.exp((r - 0.5*sigma**2)*T+sigma*np.sqrt(T)*np.random.standard_normal(I))
#plt.hist(ST1,bins = 50)
#plt.xlabel('price')
#plt.ylabel('ferquency')

M = 50
dt = T/M
S = np.zeros((M + 1,I))
S[0] = S0
print S[0]
for t in range(1,M+1):
    S[t] = S[t-1]*np.exp((r-0.5*sigma**2)*dt+sigma*np.sqrt(dt)*np.random.standard_normal(I))
plt.hist(S[-1],bins = 50)
plt.xlabel('price')
plt.ylabel('frequency')
plt.show()
plt.plot(S[:,:],lw = 1.5)
plt.xlabel('time')
plt.ylabel('price')
plt.show()

 

 

    我们不仅可以得到最终的分布,也可以知道价格路径,而这一价格路径,才是真正代表了蒙特卡洛的精髓。

如果我们绘制得路径更加多一点,就是这样的一个效果:

    从侧面看,其实就是一个lognormal分布。

 

 

 

 

 

 

 


 

  • 7
    点赞
  • 4
    评论
  • 41
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
<p style="font-size:16px;"> <span style="font-size:18px;"><span style="background-color:#FFFFFF;">Python 数据分析+pyecharts 可视化 + Flask Web端服务 + 2大真实项目 手把手实战教程.</span></span> </p> <p style="font-size:16px;"> Python数据分析课程以Python为核心工具,结合其工具包pyecharts+开发IDEA pycharm + web 框架Flask。课程以案例为中心,结合案例讲解让同学们更清晰的掌握每一个知识点的应用与工作流程。 </p> <p style="font-size:16px;"> <strong>2大项目案例: 重点讲解 开发架构 + 部署上线流程,手把手实战教学。 </strong> </p> <p style="font-size:16px;"> 1. 开发架构 </p> <p style="font-size:16px;"> (1)基于PyCharm + Flask + Echarts + Python+Pandas 组合进行数据分析全栈开发 </p> <p style="font-size:16px;"> (2)PyCharm: 项目开发的IDEA; </p> <p style="font-size:16px;"> (3)Flask:作为WEB框架,主要连接后端服务数据。主要演示: 前后端分离架构 + 模板直接渲染架构; </p> <p style="font-size:16px;"> (4)Echarts: 这里使用pyecharts 作为可视化数据展示; </p> <p style="font-size:16px;"> (5)Python: 作为后端数据生成的语言; </p> <p style="font-size:16px;"> (6)Pandas: 主要作为数据分析库; </p> <p style="font-size:16px;"> 2 部署线上服务案例 </p> <p style="font-size:16px;"> (1)资讯类项目-基于Flask 模板渲染 词云; </p> <p style="font-size:16px;"> (2)人口统计项目-基于Flask 前后端分离 Line 和 Bar 组合 数据统计; </p> <p style="font-size:16px;"> <strong>课程特色</strong> </p> <p style="font-size:16px;"> 课程风格通俗易懂 </p> <p style="font-size:16px;"> 案例内容持续更新 </p> <p style="font-size:16px;"> 简单易懂,接地气的案例 </p> <p style="font-size:16px;"> 有效,提供所有数据和代码 </p> <p style="font-size:16px;"> <img src="https://img-bss.csdn.net/201908291440447128.png" alt="" /> </p> <p style="font-size:16px;"> <br /> </p> <p style="font-size:16px;"> <br /> </p> <p style="font-size:16px;"> <br /> </p> <p style="font-size:16px;"> <img src="https://img-bss.csdn.net/201908291440543352.png" alt="" /> </p> <p style="font-size:16px;"> <br /> </p> <p style="font-size:16px;"> <br /> </p> <p style="font-size:16px;"> <img src="https://img-bss.csdn.net/201908291441085943.png" alt="" /> </p> <p style="font-size:16px;"> <br /> </p> <p style="font-size:16px;"> <br /> </p> <p style="font-size:16px;"> <img src="https://img-bss.csdn.net/201908291441198368.png" alt="" /> </p>
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页

打赏

钱塘小甲子

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者