Некорректный расчет временной стоимости опциона
В выложенных сорцах временная стоимость определяется так:
public static decimal GetTimeValue(this Security option)
{
option.CheckOption();
return (decimal)(option.GetCurrentPrice() - option.GetUnderlyingAsset().GetCurrentPrice());
}
Цена опционов мала относительно цены БА, при вычете цены базового актива получится большое отрицательное число.
Вариант, который будет работать всегда:
return (decimal)(option.GetCurrentPrice() - option.GetIntrinsicValue());