将来のさまざまな時点でのショートコールの損益を計算しようとしていますが、正しく計算されていません。満期時と比較して、残り時間のあるものは行使価格を超える利益は少なくなりますが、行使価格を下回るある時点で、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