Друзья,
разрабатываем тестер для опционов (цели некоммерческие). Который на основе базового актива по формуле БШ расчитывает цены опционов.
Позволяет входить и выходит из позиции по заданным условиям.
Однако, в формуле есть неточность. В качестве волатильности берется VX базового актива, а не волатильность конкретного страйка опциона.
Вопрос 1, можно ли в тестах на покупку-продажу волатильности пользоваться волатильностью базового актива, либо нужно учитывать волатильности конкретного страйка
Вопрос 2, если нужно учитывать волатильность каждого страйка, то как вычислять периоды низкой и высокой волатильности (с волатильностью БА все просто — накладываем МА и считаем от нее отклонение, все достаточно стабильно, в в волатильности конкретного страйка заначения скачут очень сильно)
Вопрос 3, какие параметры входа и выхода в позицию закладывать в тестер.
Кто имеет в этом опыт и готов участвовать в разработке данного тестера, готовы включить в команду разработчиков и правообладателей данного тестера.
мерить нужно раздницу между биржевым таймстемпом ордера, приведшего к генерации твоего ордера, и биржевым таймстемпом твоего ордера.
В то время как полный тик ту трейд на основе биржевого тайстемпа посчитать весьма просто.
При правельном написании на Си в условиях нашей мосбаржи он у меня не превышает миллисекунды(у 99.99% ордеров таймстемп либо совпадает с таймстемпом котировки, либо отличается на 1мс). Сильно сомневаюсь, что ты сможешь на делфе получить такой же результат.
Поскольку SECRET и есть сама скорость, доказанная на ЛЧИ и всеми признанная.
Возражения ему это попытки мериться пиписьками в в детском садике среди юнцов, считающих себя программистами)))
Это не говоря о том, что ЛЧИ вообще развод для лохов и его данные ниочем не говорят.
разуй глаза, где ты видишь робота?
Иди проспись, отдохни…
мне нужны результаты тестов, а не способ их получения
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/
Какя необходимость или польза? Затрудняюсь ответить. В опционах есть куча мест где еще не посчитано. Програм для создания позиции две на всю рашку. ПО нет нормального. Каждый для себя делает. Сделайте погу типа option-lab для квика.
Дмитрий, а как Вы определяете периоды высокой и низкой волатильности? Я наложил МА 200 на RTSVX и смотрю относительно ее, но, правильнее смотреть волатильность отдельных страйков?
RTSVX вола только на РИ. На отдельные активы надо считать свою историческую волатильность. Это не МА это типа АТR. Есть много методик. Далее оценивается на сколько IV выше или ниже и принимается торговое решение.
Так как вы занимались арбитражом, вам легко будет разобраться с опционами. Это аналогично. То есть между всеми опционами есть железобетонная связь и она выражена через формулу. Но надо немного почитать. Например Мак Миллона «об опционах». Посмотрите мой блог, я там ссылки делал и описывал некоторые принципы.