Estimating constant Parameters for function with known Output and two variable inputs
Show older comments
Hey,
i am currently working on the estimation of SVI(stochastic volatility implied) parameters for implied volatilites, which i got from a set of option prices from 1996-2020. I have filtered thus far, that i now have maturities from 8-120 days, for each time-to-maturity i have a log-moneyness roughly between -0.5 and 0.5 and for each combination of those two i have an implied volatility.
What i now need is an SVI paramertization, which gives me an implied volatility for continous log_moneyness and time-to-maturitities pairs.
The original SVI function looks like this:
total_implied_variance(log_moneyness, tau) = a + b ( rho(log_moneyness - m) + sqrt((log_moneyness - m)^2 + sigma^2));
but in order to be able to interpolate in time-to-maturity as well i need to define:
tau = unique(maturity);
a = a(0)+a(1)*tau;
b = b(0)+b(1)*tau;
rho = rho(0)+rho(1)*tau;
m = m(0)+m(1)*tau;
sigma = sigma(0)+sigma(1)*tau;
so that my paramaters have a linear function implemented to them.
I have attached a picture of what my data looks like. First column is tau(=time-to-maturity), Second column describes the log-moneyness and the third describes my obtained implied_volatilites.

So in the end i require a set of 10 parameters (a0,a1,b0,b1,rho0,rho1,m0,m1,sigma0,sigma1), which enable me to calculate every point on the surface with inputs log_moneyness and tau with the minimized error of estimation.
As i am fairly new to matlab, i was wondering if one of you might be able to help. I have tried to implement fmincon and others, but until now with no success. Please let me know, if there is any more information you need.
All the best, Kai.
1 Comment
Kai Koslowsky
on 7 Oct 2021
Edited: Kai Koslowsky
on 7 Oct 2021
Answers (0)
Categories
Find more on Linear Least Squares in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!