python数据可视化分析速成笔记_2-2_布朗运动/几何布朗运动(伊藤过程)实现的demo[通俗易懂]

python数据可视化分析速成笔记_2-2_布朗运动/几何布朗运动(伊藤过程)实现的demo[通俗易懂]第二天/第三天目标_不分先后:实践部分:重点熟悉:numpy,scipy,matplotlib,random,https://docs.spyder-ide.org/实际上如果是熟悉matla

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

第二天/第三天

 

目标_不分先后:

 实践部分:   

  实际上如果是熟悉matlab操作的大神们应该改会发现这些包和matlab里面的是相通的

  python 大杂烩实锤

  • 重点
    实现问题训练:

    • 简单的方程求解曲线参数,模拟图像
    • 最小二乘法拟合,回归模型,

   了解微分方程模拟

    • 解常微分方程,模拟图像
    • 解偏微分方程,模拟图像

    时间关系,看看实现例子,然后自己写

    • 布朗运动
    • 维纳过程
    • 几何布朗运动(ito模拟)
  • 运用以上模型直接模拟归奥价格走势

  理论部分:  

  • 复习,推导,理解,几何布朗运动模型,伊藤引理(如果时间不够,跳过这一步)
    1. 期权与股票的性质—
    2. 期权的交易策略
    3. 期权二叉树(BSM模型原理的基础和推导就是基于期权二叉树模拟的随机游走过程

              知乎专栏——AI和金融模型——第一篇文章开始

    重点:

    1. 维纳过程和伊藤引理
    2. BSM,几何布朗运动与布朗运动

时间:24h

 反馈:

  • 总体任务完成情况:
    • 大致完成了基本过程,还剩下一个ito没有实现推导,理论没有完全看完,
  • 难点:
    • 主要是函数用起来不熟练,而且对函数的目的不了解
    • 微积分不熟,对公式的本质,推导过程理解很浅薄。

一开始不知道用函数怎么实现,还以为布朗运动模拟运动的模拟要积分,实际上运用的是正态分布+时间函数求和,

因为时间点是离散的,用定义法求积分,

dx = a*dt  + b*dz,∑a*dt = T,dz=e*sqrt(dt),e~(0,1),∑dz=(sqrt(dt))*∑ e

伊藤引理也是这样,只是它的积分式是微分方程,由公式:dS/S=u* dt+e* o* sqrt(dt),求 S ,需要用微分方程来推导

最后会得到几何布朗运动的基本公式

 

  • 收获与反思:
    • 现在可以实现布朗运动/几何布朗运动模拟股市图像,数据还没有找
    • 更加深刻地理解了公式地推导过程
    • 加深了对正态分布的理解,复习了微分方程
    • 实践带动理解
    • 背函数啥的不如直接看大佬们的代码,一行一行理解,反正用的多的就那几个

代码实现:

python数据可视化分析速成笔记_2-2_布朗运动/几何布朗运动(伊藤过程)实现的demo[通俗易懂]
python数据可视化分析速成笔记_2-2_布朗运动/几何布朗运动(伊藤过程)实现的demo[通俗易懂]

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Mon May  4 20:43:06 2020
 4 
 5 @author: 10913
 6 """
 7 
 8 
 9 import numpy as np
10 import matplotlib.pyplot as plt
11 
12 
13 
14 '''
15 
16 
17 几何布朗运动:
18     St=S0*exp(ut)
19     St=S0*exp(u t+o e sqrt(dt))
20     
21     St=S0*exp(a t+b z)
22 
23 
24 '''
25 D=250   #250个交易日
26 T=1.0   #总时间1年
27 dt=T/D   #单位时间
28 
29 '''
30 另一种写法
31 S=np.zeros((M+1,I))
32 
33 S[0]=S0 #定义S[0]=S0
34 
35 for t in range(1,M+1):
36 
37     S[t]=S[t-1]*np.exp(mean*dt+sigma*np.sqrt(dt)*np.random.standard_normal(I))
38 
39 '''
40 s0=100   #初始价格
41 i=4
42 st=np.zeros((i,D))
43 st[0]=s0
44 a=0.15
45 b=0.3
46 n=round(T/dt)#dimension
47 plt.subplot(212)
48 for g in range(1, i):
49     t=np.linspace(0,T,n)
50     e=np.random.standard_normal(size=n)
51     z=np.cumsum(e)*np.sqrt(dt)
52     x=a*t+b*z;
53     st[g]=st[0]*np.exp(z)
54     
55     plt.plot(t,st[g],label='st'+str(g))
56     
57 
58 plt.legend()
59 plt.show()

View Code

 

执行结果:

python数据可视化分析速成笔记_2-2_布朗运动/几何布朗运动(伊藤过程)实现的demo[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168215.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网页刷流量软件开发中的困惑

    网页刷流量软件开发中的困惑客户要求:1.利用代理IP访问指定网页.并且点击指定位置2.代理IP获取方式最好为吸附.吸附我提供的地址.或许你有更好的方案最佳.3.如果能够控制代理访问量最好.比如我在指定的时间内10点-11点的时候需要1W的量.那么程序刷到1W的量就自动停止.4.可以用协议开发.但是协议一定要支持统计代码.也就是一定要让后台统计到具体数据.我的解决方案有二:。一是模…

    2022年9月29日
    0
  • 8分钟完成NodeJs爬虫,把JRS小姐姐全部看个遍

    本文讲的是利用nodejs以及相关库,爬取JRS爆照区内的爆照贴,并保存相关数据到本地。依赖选择constsuperagent=require(‘superagent’);//nodejs里一个非常方便的客户端请求代理模块constcheerio=require(‘cheerio’);//Node.js版的jQueryconstasync=r…

    2022年4月9日
    55
  • Angular面试题_angular面试

    Angular面试题_angular面试必看https://www.cnblogs.com/yugege/p/6526215.htmlangularjs是mvc还是mvvm框架?首先阐述下你对mvc和mvvm的理解首先为什么我们会需要MVC?因为随着代码规模越来越大,切分职责是大势所趋,还有为了后期维护方便,修改一块功能不影响其他功能。还有为了复用,因为很多逻辑是一样的。而MVC只是手段,终极目标是模块化和复用。mvvm的优点…

    2022年10月18日
    0
  • arraylist和linkedlist的区别_arraylist 和linkedlist

    arraylist和linkedlist的区别_arraylist 和linkedlist       这段时间把疯狂JAVA再看了一遍,发现Stack,ArrayDeque,LinkedList都可以作为栈使用,所以就稍微从性能以及实现的细节对比这三者的区别。类继承树       由继承树看出,三者都是Collection的间接实现类。&

    2022年9月20日
    0
  • 网站备案

    网站备案

    2021年9月19日
    52
  • asp.net core 关于自增长ID数据保护(IDOR漏洞)[通俗易懂]

    asp.net core 关于自增长ID数据保护(IDOR漏洞)[通俗易懂]开始前先大概的描述下IDOR漏洞是啥。嗯!举个例子,有一个角色下面有N个用户,拥有这个角色的用户都有自身创建的普通用户操作权限(比如删除)。我们一般情况都是通过表主键来操作这条记录的,那么这么一个功能就涉及到两个接口(查询列表,删除指定用户)。嗯!查询列表的接口自然是要带着用户对应的主键的(通过删除接口传入ID),聪明的人应该想到了;此时ID是明文的并且主键我们一般都是自增长的,此时就会出现我们可以通过猜测这个参数进行恶意删除。嗯!此时有些人可能会想(也是几种解决方式):我可以通过对参数进行加密签名来

    2022年5月1日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号