In follow up to my previous question: More important than the graph, shouldn't the surface structure return T, M, and IV to Example 1 (once I comment out the graphing issue)? I receive empty matrices.
Elapsed time is 0.552350 seconds.
Name Size Bytes Class Attributes
CallPrice 721x1 5768 double
Maturity 721x1 5768 double
S0 1x1 8 double
SPX 723x4 23136 double
Strike 721x1 5768 double
r 1x1 8 double
surface 1x1 636 struct
T: [0x2 double]
M: [0x2 double]
IV: [1x0 double]
I used the fzero command is my code which uses an algorithm originated by T. Dekker: a combination of bisection, secant, and inverse quadratic interpolation methods.
Matlab has the advantage of having a lot of built-in functions like this that you can use to make coding easier. When coding, you don't actually need to write your own algorithms but you should use the available Matlab functions who do the hard work for you.
I hope it answers you question.
thx for the feedback.
I can't understand the method you are using in order to calculate the implied volatility, ImpliedVol(i). Why you don't use newton raphson method or bisection method, in order to match the volatility with the option market price coming from the BS formula?