拟合两个变量的二次函数(Practitioner Black Scholes确定性波动函数)

时间:2016-04-25 17:04:59

标签: matlab optimization curve-fitting

我试图拟合确定性波动率函数的参数,用于从业者Black Scholes模型。

我想估计" a"的公式参数是:

sig = a0 + a1 * K + a2 * K ^ 2 + a3 * T + a4 * T ^ 2 + a5 * KT

其中sig,K和T是已知的;我有K,T和sig组合的多个观察结果,但只需要一组" a"参数。

我怎么能这样做?不幸的是,我的谷歌搜索和自己的尝试都失败了。

谢谢!

2 个答案:

答案 0 :(得分:2)

lsqcurvefit函数允许您定义要拟合的函数。它应该从那里直接前进。

http://se.mathworks.com/help/optim/ug/lsqcurvefit.html

答案 1 :(得分:0)

一些数学

符号填充:用i索引你的观察值并添加一个错误术语。

sig_i = a0 + a1*K_i + a2*K_i^2 + a3*T_i + a4*T_i^2 + a5*KT_i + e_i

可能不会疯狂的事情是最小化误差项的平方:

minimize (over a)  \sum_i e_i^2

最小二乘解是一个简单的线性代数问题。 (如果你真的在意的话,请参阅https://stats.stackexchange.com/questions/186196/understanding-linear-algebra-in-ordinary-least-squares-derivation/186289#186289。)(另请注意:e_i是a的线性函数。我不确定为什么你需要lsqcurvefit作为另一个答案?)

OLS(普通最小二乘法)的Matlab代码

假设sigKTKTn 1个向量

y = sig;
X = [ones(length(sig),1), K, K.^2, T, T.^2, KT];
a = X \ y;  %basically computes a = inv(X'*X)*(X'*y) but in a better way

这是X上的y的普通最小二乘回归。

进一步的想法

取决于您的错误术语的分布,相关的错误等...常规OLS可能效率低下甚至可能不合适...... 我不熟悉这个问题的细节。您可能想查看人们的行为。

EG。对大异常值不太敏感的技术是最小化误差的绝对值。

minimize (over a) \sum_i |a_i|

如果您有一个很好的统计数据模型,您可以进行最大似然估计。无论如何......这很快就会变成一个多季度的统计课程。