Where's the bug with my auxiliary function?
Afficher commentaires plus anciens
My code is as follows, it includes a main function (FindVolatility) and a local function (selectOutput). The idea here is I'd like to select which price to compute: either call option or put option using blsprice function, and this is executed in the auxiliary function "selectOutput". Next, I'd like to calculate volatility using my auxiliary function and also using fzero function. But I got errors, who knows why? Thanks in advance!
function impVol=FindVolatility(S,K,r,T,q,number,c0)
impVol=fzero(@(x)selectOutput(S,K,r,T,x,q,number)-c0,0);
end
function c=selectOutput(S,K,r,T,sigma,q,number)
[callPrice,putPrice]=blsprice(S,K,r,T,sigma,q);
if number==1
c=callPrice;
else
c=putPrice;
end
end
2 commentaires
What errors are you getting? Please give us the complete error messages (all of the red text), and show us how you are calling the function. Sorry, but our mind-reading abilities are a bit weak today, so you actually need to give us this information in writing.
Stephen23
le 10 Oct 2015
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Price and Analyze Financial Instruments dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!