Попытка рассчитать подразумеваемую волатильность для варианта с использованием PHP. BlackScholes
функция рассчитывает цену опциона, $OptionValue
цена опциона и $guess
это оценка.
Я основал свою попытку на похожих приложениях, но моя версия истекла. Мне кажется, что шаг через петлю на бумаге имеет смысл. Что я сделал не так?
function ImpliedVolatility($type, $S, $X, $T, $r, $D, $OptionValue, $guess) {
$x1 = 0.01; //lower approx
$x2 = $guess * 2; //upper approx
$epsilon = 0.01;
$ValueGuess = BlackScholes($type, $S, $X, $T, $r, $D, $x2); //Initialize
while ( abs($OptionValue - $ValueGuess ) > $epsilon ) {
$xMid = ($x1 + $x2)/2; //new approx
$F1 = BlackScholes($type, $S, $X, $T, $r, $D, $x1);
$FMid = BlackScholes($type, $S, $X, $T, $r, $D, $xMid);
if ($FMid > $F1 ) {
$x1 = $xMid;
} else {
$x2 = $xMid;
}
$ValueGuess = BlackScholes($type, $S, $X, $T, $r, $D, $xMid);
}
return $xMid;
}
Задача ещё не решена.
Других решений пока нет …