在使用monte carlo为一只简单的欧式期权定价时,最大的难题在于所得的价格并不是十分精确。因为一些原因,在定价上被规定只能使用vba去模拟,当vba跑超过1w次模拟后反应就开始变慢。因此靠扩大样本来获得更精确数据并不可行。
于是参阅了一些利用control variates减少方差的一些方法后,并开始尝试引入。但因为本人不是quant出身,所以理解上会有相当大的误差。这导致我修改计算出来的价格和原来未修改的数据几乎一样。所得的premium集合中的方差也没有差别。。。这说明我的理解绝对有错。
以下是我参考的资料(比较简单,只有一页):
问题:
1)在”set Xk= S0* exp(-rT)* exp(.....), k<=n那段话中, 假如把exp(-rT)剔除,实际上Xk=St,St*exp(-rT)=S0, 这样兜一大个圈子说明Xk=S0有什么特别意义吗?
2)在"set Yk=(Xk-K)+ 这段话中,如果我没有理解错,应该是表示Xk-K的最大值。其中我最不明白的是,Xk实际上是S0,因为S0是现值,K是未来值,那么Xk减K是不是没有比较意义?PS:以原始Monte carlo定价上,也是使用Max(St-K)* exp(-rT),先处理未来值,在回归现值出的啊。
3)最后一行, 这个b在现实的期权定价上到底怎么算出来?
4)同样最后一行,这个"mu"(字符打不出来,发音是mu,就是等号左边那部分),是不是代表经过减少方差后的期权价格均数,也就是最终模拟所得后所得的价格?
如果各位大大觉得问题无法理解,可不可以用以下的数据,演算一次如何减少方差呢?以下是我使用计算的数据和结果:
ps: prime= premium
跪谢!



雷达卡





京公网安备 11010802022788号







