Друзья,
разрабатываем тестер для опционов (цели некоммерческие). Который на основе базового актива по формуле БШ расчитывает цены опционов.
Позволяет входить и выходит из позиции по заданным условиям.

Однако, в формуле есть неточность. В качестве волатильности берется VX базового актива, а не волатильность конкретного страйка опциона.
Вопрос 1, можно ли в тестах на покупку-продажу волатильности пользоваться волатильностью базового актива, либо нужно учитывать волатильности конкретного страйка
Вопрос 2, если нужно учитывать волатильность каждого страйка, то как вычислять периоды низкой и высокой волатильности (с волатильностью БА все просто — накладываем МА и считаем от нее отклонение, все достаточно стабильно, в в волатильности конкретного страйка заначения скачут очень сильно)
Вопрос 3, какие параметры входа и выхода в позицию закладывать в тестер.
Кто имеет в этом опыт и готов участвовать в разработке данного тестера, готовы включить в команду разработчиков и правообладателей данного тестера.
void Option::CalculateIV(const Volatility& volatility) {
double a = volatility.a;
double b = volatility.b;
double c = volatility.c;
double d = volatility.d;
double e = volatility.e;
double s = volatility.s;
double base_price = m_base_price.GetPrice();
double x = log(m_strike / base_price) / sqrt(m_time_to_expiration);
double y = x — s;
m_iv = a + b * (1 — exp(-c * y * y)) + (d * atan(e * y)) / e;
m_iv = m_iv / 100.0;
}
Коэффициенты волатильности брал здесь: http://ftp.moex.com/pub/FORTS/volat_coeff/