我正在尝试计算未来不同时间的空头看涨期权的盈亏,但结果并不正确。与到期时间相比,剩余时间的那些在行使价之上的利润较少,但在低于行使价的某个时间点,它们不会像 t=0 线那样快速贬值。以下是伪代码中的公式,我做错了什么?
profit(stockprice) = -1 * (black_scholes_price_of_call(stockPrice,optionStrike,daysTillExpiration) - premium);
真实的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
结尾
谢谢,CP