J'essaie de calculer le bénéfice/la perte d'un appel à court terme à divers moments dans le futur, mais cela ne se fait pas correctement. Par rapport au temps d'expiration, ceux qui ont le temps restant ont moins de profits au dessus du prix d'exercice, mais à un moment donné, ils ne perdent pas de valeur aussi vite que la ligne t = 0. Voici la formule en pseudocode, qu'est-ce que je fais de mal?Comment calculer la valeur de l'appel d'options à court terme avec la formule de Black-Scholes?
profit(stockprice) = -1 * (black_scholes_price_of_call(stockPrice,optionStrike,daysTillExpiration) - premium);
réel code Matlab:
function [ x ] = sell_call(current,strike,price,days)
if (days > 0)
Sigma = .25;
Rates = 0.05;
Settle = today;
Maturity = today + days;
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, 'EndDates',...
Maturity, 'Rates', Rates, 'Compounding', -1);
StockSpec = stockspec(Sigma, current);
x = -1 * (optstockbybls(RateSpec, StockSpec, Settle, Maturity, 'call', strike) - price);
else
x = min(price,strike-current-price);
end
fin
Merci, CP
La fonction optstockbybls fait partie d'une boîte à outils matlab. – CptanPanic
Je suppose que c'est une erreur dans votre code plutôt que MATLAB. Regardez vos affaires plus attentivement, et obtenez un bon ensemble de cas de base. – duffymo
Voici une calculatrice Black-Scholes http://www.seleno.us/options.php. Essaye celui-là. – JTHouseCat