L*******t 发帖数: 2385 | 1 我需要在一个函数中计算20000个implied Vol。使用Matlab,matlab给的函数太慢了。
我想自己些一个,请教各位大牛,有没有比较快速的算法?
谢谢啦! |
l***u 发帖数: 91 | 2 20K 个implied vol应该很快啊 一般都是Newton-Raphson
具体看你那20K的implied vol都是什么关系 有没有办法优化Newton Raphson的初始值
来更快的收敛 |
g****e 发帖数: 1829 | 3 怎么个慢法?
【在 L*******t 的大作中提到】 : 我需要在一个函数中计算20000个implied Vol。使用Matlab,matlab给的函数太慢了。 : 我想自己些一个,请教各位大牛,有没有比较快速的算法? : 谢谢啦!
|
L*******t 发帖数: 2385 | 4 我用matlab的fsolve一个一个解,需要几十秒吧,可惜这个function我需要optimize然
后得到参数的,所以希望有非常快速的解决办法。。
另外再问一下,我的object function是通过蒙特卡洛模拟得到函数值的,这个怎么优
化?
【在 g****e 的大作中提到】 : 怎么个慢法?
|
g****e 发帖数: 1829 | 5 如果是只想用matlab,而且你发现你的matlab code有for loop,那么用cellfun(或者
arrayfun)可以加快很多。你把fsolve和monte carlo都用cellfun vectorize应该会好
很多。如果是serial的(就是没法并行化),那么你只能换语言。
一般好的matlab code没有for loop。
【在 L*******t 的大作中提到】 : 我用matlab的fsolve一个一个解,需要几十秒吧,可惜这个function我需要optimize然 : 后得到参数的,所以希望有非常快速的解决办法。。 : 另外再问一下,我的object function是通过蒙特卡洛模拟得到函数值的,这个怎么优 : 化?
|
L*******t 发帖数: 2385 | 6 谢谢了大牛。。
我试试看。。
【在 g****e 的大作中提到】 : 如果是只想用matlab,而且你发现你的matlab code有for loop,那么用cellfun(或者 : arrayfun)可以加快很多。你把fsolve和monte carlo都用cellfun vectorize应该会好 : 很多。如果是serial的(就是没法并行化),那么你只能换语言。 : 一般好的matlab code没有for loop。
|
S*********g 发帖数: 5298 | 7 如果是最近几年的matlab版本的话
如果for-loop里没有你自己自定义的function
那么for loop的速度至少不会比vector的慢
【在 g****e 的大作中提到】 : 如果是只想用matlab,而且你发现你的matlab code有for loop,那么用cellfun(或者 : arrayfun)可以加快很多。你把fsolve和monte carlo都用cellfun vectorize应该会好 : 很多。如果是serial的(就是没法并行化),那么你只能换语言。 : 一般好的matlab code没有for loop。
|
g****e 发帖数: 1829 | 8 2009年以后的matlab优化了for loop,但是没有arrayfun快。正如你所说的,很多时候
loop里面都有自己的function
【在 S*********g 的大作中提到】 : 如果是最近几年的matlab版本的话 : 如果for-loop里没有你自己自定义的function : 那么for loop的速度至少不会比vector的慢
|