蒙特卡洛模拟方法产生服从标准正态分布的随机数, 迭代入 已知方程:
其中S初始值100,求一系列的值,迭代次数为1000次,求编MATLAB代码。
急,在线等,谢谢大家!
题中有几个参数的含义都没做说明,取值范围也不清楚:
1、μ和σ惯例是均值和均方差的符号,是哪个量的均方差?取值范围呢?
2、Δt是什么?
3、第一个方程中的S应该是指第二个方程中的S(t-1)吧?
4、ε“服从标准正态分布”的意思应该是其均值为0、方差为1?
代码并不复杂:
N = 1000;从参数取值看,Δt的影响比较大,如果取的稍大一些,就很容易发散。而按照当前的参数值,尽管过程不同,最终都能收敛到0。
追问我们想要一系列迭代出来的数据,这个能修改一下代码出数据给我们嘛?
追答要数据的话,运行完程序后,在命令窗口直接输入S就可以了。
或者用
mat2str(S,5)转化为更紧凑的字符串(其中5是要保留的有效数字位数)。
追问大神,问一下我们是想用蒙特卡洛模拟法模拟第二天的股票价格的,这代码貌似没有用到啊
追答你的方程是什么意思,你没有说,我也不知道。
我只是按照你的方程,加上自己的理解编写的代码,但由于方程中很多参数你都没说明,我的理解不一定正确。
根据你刚才追问中体现出来的信息,我现在的理解是,第二个方程并不是要连续迭代1000次(时间序列),而是使用相同的初值100,用该方程随机独立地机算1000次。按这种理解,程序修改如下:
N = 1000;最后画的是分布图,也就是1000次独立计算得到的结果落在各区间的次数。
这就是我们想要出来的结果的模式,是你第一次理解的连续迭代。
注:μ和σ是已知的参数,Δt因为还没有确定但是也是要知道的参数。
3、第一个方程中的S应该是指第二个方程中的S(t-1)吧?
4、ε“服从标准正态分布”的意思应该是其均值为0、方差为1?
上述这2项就是应该这样理解的,你的意思没有错。
综上,谢谢帮助!
t和o(西格玛)是我们知道的参数,是已知的。
追答好的,稍等。
追问t先取0.1,o(西格玛)是0.2