Блог им. guam

Тестер опционов

Друзья,
разрабатываем тестер для опционов (цели некоммерческие). Который на основе базового актива по формуле БШ расчитывает цены опционов.
Позволяет входить и выходит из позиции по заданным условиям.
Тестер опционов
Однако, в формуле есть неточность. В качестве волатильности берется VX базового актива, а не волатильность конкретного страйка опциона.
Вопрос 1, можно ли в тестах на покупку-продажу волатильности пользоваться волатильностью базового актива, либо нужно учитывать волатильности конкретного страйка
Вопрос 2, если нужно учитывать волатильность каждого страйка, то как вычислять периоды низкой и высокой волатильности (с волатильностью БА все просто — накладываем МА и считаем от нее отклонение, все достаточно стабильно, в в волатильности конкретного страйка заначения скачут очень сильно)
Вопрос 3, какие параметры входа и выхода в позицию закладывать в тестер.

Кто имеет в этом опыт и готов участвовать в разработке данного тестера, готовы включить в команду разработчиков и правообладателей данного тестера.
★21
28 комментариев
На дельфях? А с чем связан выбор такого раритета?
avatar
kbrobot.ru, Все крутые алготрейдеры пишут исключительно на Delphi!
avatar
SECRET, 
avatar
SECRET, на делфи пишут только лохи, нормального шустрого робота на нем не сделать.
avatar
nik, а что по вашему значит шустрый робот? Каковы критерии?
avatar
SECRET, время реакции на рыночное событие мение 1мс.

avatar
nik, у моих роботов на Delphi меньше 50 микросекунд время реакции. Значит они шустрые ? 
avatar
SECRET, нет, значит ты неправильно меряешь))
avatar
nik, смелое заявление, особенно без знания моей методологии измерения. Ок, опустим ее. Как нужно мерить?
avatar
SECRET, заявление сто процентов верное в силу особенностей нашей мосбаржи(скорости сети и летенси её серверов).
мерить нужно раздницу между биржевым таймстемпом ордера, приведшего к генерации твоего ордера, и биржевым таймстемпом твоего ордера.
avatar
nik, По вашей логике, написание программы на других языках ускорит как-то задержки со стороны биржи. Глупо? Глупо.
avatar
nik, задержка принятия решения, которая зависит от пользовательского софта на 1-2 порядка меньше чем ту которую вы тут описали по крайней мере на Спектре.
avatar
SECRET, да, но померять её крайне сложно(для этого придется снифить трафик, выискивать и идентифицировать соответствующие пакеты и смотреть время их получения/отправки). Я сильно сомневаюсь, что ты эти 50мкс померял правильно(выискивая нужные пакеты в дампе).
В то время как полный тик ту трейд на основе биржевого тайстемпа посчитать весьма просто.
При правельном написании на Си в условиях нашей мосбаржи он у меня не превышает миллисекунды(у 99.99% ордеров таймстемп либо совпадает с таймстемпом котировки, либо отличается на 1мс). Сильно сомневаюсь, что ты сможешь на делфе получить такой же результат.


avatar
nik, на каком рынке совпадает или отличается на 1мс?
avatar
SECRET, и на фортсе, и на споте.
avatar
Друзья, глупо спорить SECRET о скорости роботов.
Поскольку SECRET и есть сама скорость, доказанная на ЛЧИ и всеми признанная.
Возражения ему это попытки мериться пиписьками в в детском садике среди юнцов, считающих себя программистами)))
Alex, Это где он доказал скорость? 0_0 Сразу видно дилетанта, не разбирающегося в HFT ))) По данным ЛЧИ судить о скорости вообще не возможно, ибо там публикуются сильно загрубленые данные о сделках.
Это не говоря о том, что ЛЧИ вообще развод для лохов и его данные ниочем не говорят.
avatar
nik, нелох,
разуй глаза, где ты видишь робота?
Иди проспись, отдохни…
SECRET, все крутые опционщики пишут и пишут, пишут и пишут… А Секреты пока они пишут последние деньги выносят с биржи.
avatar
kbrobot.ru, это тестер,
мне нужны результаты тестов, а не способ их получения
счас тебе прям так и попалили  все свои граали)) плавильно расчетать цены опционов это целая наука. и те кто разработывает наиболее близкие к реальности модели, гребут на этом хорошие деньги ;)
avatar
Насколько я понял в своей формуле вы используете историческую волатильность, что неверно. Для вычисления теоритических цен опционов нужно использовать подразумеваемую волатильность(iv). Естественно вычислять волатильность надо для каждого страйка по формуле улыбки волатильности.
avatar
вот реализация на С++расчета IV для каждого страйка опциона.

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/

avatar
expert, спасибо!
Странно это. Пишут тестер поционов, а такие вопросы задают…
avatar
Хорошая инициатива. Можно брать исторические данные по IV. Расчитывать теоретическую улыбку по формуле биржи. Реально тестировать на дневках. Погрешность процентов 5-10. Как включить в тестер такой параметр как плавающее ГО? Тестеры которые я знаю. Option vue7. Но там исторические данные за каждые пол часа, которые качаются с сервака. Думаю, если бы было решение проще, Австралийские коллеги это бы сделали. 
Какя необходимость или польза? Затрудняюсь ответить. В опционах есть куча мест где еще не посчитано. Програм для создания позиции две на всю рашку. ПО нет нормального. Каждый для себя делает. Сделайте погу типа option-lab для квика. 
Дмитрий Новиков, исторические данные по IV из какого источника? По каждому страйку, либо общую для базового актива RTSVX.

Дмитрий, а как Вы определяете периоды высокой и низкой волатильности? Я наложил МА 200 на RTSVX и смотрю относительно ее, но, правильнее смотреть волатильность отдельных страйков?
IV по активам наименьшего страйка http://www.option.ru/analysis/option#export например здесь или на биржевом сайте поискать. От нее строится парабола «улыбка волатильности» есть формула на бирже. Но она не совсем точная, вернее не всегда отражает действительность. Поэтому каждый Маркет мейкер пытается построить свою к которой должен рынок стремится. Соответственно на улыбке определяются цены опционов соседних страйков. И если вы видите, что можно купить ниже вышей улыбки, то моментально покупаете. 
RTSVX вола только на РИ. На отдельные активы надо считать свою историческую волатильность. Это не МА это типа АТR. Есть много методик. Далее оценивается на сколько IV выше или ниже и принимается торговое решение. 
Так как вы занимались арбитражом, вам легко будет разобраться с опционами. Это аналогично. То есть между всеми опционами есть железобетонная связь и она выражена через формулу. Но надо немного почитать. Например Мак Миллона «об опционах». Посмотрите мой блог, я там ссылки делал и описывал некоторые принципы.

теги блога Александр Муравьев

....все тэги



UPDONW
Новый дизайн