Блог им. baberbabrob
Все мы знаем, на уровне здравого смысла, что опционы это круто. Особенно бинарные.
По заявлениям сектантов, познавший их внутреннюю нелинейную сущность уже никогда не станет прежним не вернется торговать линейными инструментами. Впрочем, по их словам, опционы — это добро и свет не только для избранных — любой дремучий аксакал торгующий по тренду уже сейчас может воспользоваться их благодатью.
Убедитесь сами — берем месячный RI OTM Call со страйком на расстоянии 10000 от текущей цены стоимостью ~500. Если фьюч делает +2500, опцион стоит уже ~1000 (профит +500). Если фьюч делает -2500, опцион стоит 250 (убыток -250). Можно и продолжить! В пределе, что бы цена ни вытворяла, наш убыток ограничен 500-ми, а профит вообще неограничен!.. правда опцион теряет в стоимости приметно 25 пунктов в день, но подобная фигня ведь никого не остановит, нэ?
Пытаемся придерживать раскатившуюся губу и думаем — как лучше воспользоваться этой благодатью в наших корыстных целях...
Самое простое(имхо) — взять замшелого трендового робота и заменить в нем покупку фьюча на покупку ОТМ опциона.
Теперь нужно прикинуть, какой страйк лучше покупать… ATM медленнее распадается, но обладает меньшим эффектом усиления плеча… дальние OTM наоборот — плечо усиливают хорошо, но распадаются быстрее.
Тут бы порыву и конец, ибо софт позволяющий подобную страту запрограммировать и протестировать мне неизвестен, а если и существует, то стоит наверняка столько тысяч долларов, сколько я еще не заработал. Про трудности с оценкой качества подобного бектеста и сбором истории котировок я уже молчу.
Однако, жажда наживы неостановимо движет нас вперед, поэтому делаем следующие допущения:
-нам нет нужны возиться с конкретными опционными сериями. Каждый раз открывая позицию будем считать что покупаем абстрактный OTM опцион со страйком +-10к(например) от текущей цены за 5 недель до его экспирации.
-Закрывая позицию, рассчитываем как изменилась цена нашего опциона. Изменение цены фьюча РТС и время нахождениня в позиции берем из бектеста вышеупомянутого замшелого робота.
-Считаем что время течет(тэта капает) непрерывно, днем и ночью, в будни и выходные(нет желания влезать в опционную теорию относительности)...
-пренебрегаем влиянием изменения волатильности на цены опционов (считаем ее постоянной во времени).
-покупаем и продаем всё по теорцене(пренебрегаем всякими комиссиями и возможностью реально купить продать в нужный момент).
Таким образом, если робот купил фьюч по 82к и через день закрыл по 83к, то мы прикидываем, за сколько мы можем купить абстрактный 92к кол при цене фьюча 82к и за сколько мы сможем его продать через день при цене фьюча в 83к.
Пробегаем подобным образом по всем сделкам из бектеста робота и сравниваем полученные кривые эквити. Чтобы легче было сравнивать — считаем что покупаем не один опцион вместо одного фьюча, а примерно эквивалентное количество по дельте.
Теперь нужно научиться рассчитывать изменение цены опционов.
Лезем в OptionLab и выписываем оттуда текущие (17 марта, ~5 недель до экспирации) цены апрельских колов. затем сдвигаем таймер на неделю и получаем цены на те же опционы через неделю при условии что фьюч на месте и волатильность та же.
Теперь на основе данных составленной таблицы можно интерполировать как будет изменяться цена на опцион в диапазоне ~15к пипсов в течение недели.
Для оценки временного распада используем линейную интерполяцию(ибо он на рассматриваемом промежутке почти линеен, а на ночную нелинейность мы пока положили).
Изменение цены опциона по расстоянию от текущей цене фьюча интерполируем функцией гаусса (пробовал кусочно-интервально параболой и сплайнами, но, на удивление, гаусом вышло проще и точнее).
в итоге получилась функция EstOpt54 оценки опциона по удаленности от текущей цены и прошедшего с начала нашей 5-й до экспирации недели (в которой мы покупаем опцион) времени.
'интерполяция цен для 5-недельных опционов
Function EstOptPrice(p As Double) As Double
k0 = 9350.427
k1 = -13760.133
k2 = 187977432.736
EstOptPrice = k0 * Exp(-(p — k1) * (p — k1) / k2)
End Function
'интерполяция распада цены за неделю для 5-недельных опционов
Function EstOptWeekDecay(p As Double) As Double
k0 = 0.885
k1 = -738.48
k2 = 423562072.559
EstOptWeekDecay = k0 * Exp(-(p — k1) * (p — k1) / k2)
End Function
'оценка опционов при переходе с 5 на 4-ю неделю, время в днях
Function EstOpt54(p As Double, t As Double) As Double
EstOpt54 = EstOptPrice(p) — EstOptPrice(p) * ((1 — EstOptWeekDecay(p)) * (t / 7))
End Function
у исходного робота — средняя сделка — 88 пунктов, среднее время сделки — 0,36 дня
Результаты теста можно видеть на картинке.
Как видим — результат внезапно немножко неожидан.
Лучше всех, как оказалось, работает таки фьюч.
Почти так же как фьюч позволяют заработать дальние OTM опционы. Однако у них эффект плеча похоже полностью нивелируется временными распадом...
Опционы OTM поближе ведут себя значительно хуже — видать плечо у них не такое хорошее, а временной распад превалирует.
Внезапно неплохо показал себя опцион ATM, однако… однако возможно тут сказывается краевой эффект… а может и нет — хрен его знает.
Тем не менее вывод печальный — даже в теории для данного конкретного случая(который по идее весьма благоприятен для опционов, ибо присутствуют большие профитные сделки) опционы преимуществ не дают. А учитывая большой спред(относительно фьюча) и относительно большой минимально возможный спред на дальних OTM в частности… ну, в общем кто хотел, тот понял.
UPDATE: Забыл упомянуть несколько вещей:
1. Бектест с которым я работал, захватывает июль-август (~2 месяца) 2015-го года. С одной стороны это не очень хорошо, потому что далеко и цены на опционы тогда могли(из-за волатильности) качественно отличаться от момента теперешнего. А с другой стороны, в цена RIU5 в тот период стабильно держалась в диапазоне 85к-95к(то есть нет такого что мы сначала оценили опционы при текущей цены 90 а потом используем те же оценки при цене 60 или 120). В общем я считаю всё нормально.
2. Отдельной интерполяции для путов не делалось. Для коротких позиций советника (когда по идее мы должны были покупать путы), изменение их цены вычислялась интерполяцией по той же табличке что и для колов.
3. Как правильно заметил crazyFakir, текст несколько сумбурен, но что делать — он представляет собой описание проведенной экспериментальной работы по горячим следам. и не претендует на пулицеровскую премию).
4. И да, прибыль на графике не в рублях, а в пунктах фьюча, если что… некоторые могут посчитать для себя это недостойным, и требовать желать их перевода в рубли по курсу путем ретроспективного подсчета вариационки для каждого торгового дня или хеджирования позиций фьючами Si, чтобы обратить пункт фьюча в стабильное количество рублей на тестируемом отрезке… а мне норм.
поработай над форматом изложения.
тема вполне кучерявая.
щас папа граль спалит… про софт на многие тысячи долларов...
берешь тслаб… берешь месячные опционы… всего то надо вбивать с клавиатуры 24страйка для тестов за каждый месяц… лично тестю на 2015 и 2014годе… итого 24страйка*24месяца * 11символов= вбитые вручную тикеры… где то за день можно протестить год если не лениться… один месяц тестирования = пол часа работы… счас тестю 6ой вариант бота… т.е 24*24*11*6 = небольшая книжка
выхлоп получается по тестам в ри где то 15-25% годовых… это без комиссов и проскальзываний… и надо понимать, что ри это валюта и иметь 15% годовых в валюте очень даже шоколадно… однако у мя и обычные безопционные боты дают доходность в районе 20-30% годоых в ри
еще более просто тестить стратегии типа срэдла, стрэнгла и прочей фигни где задействовано 2-3 страйка и 1-2 серии...
есть конечно траблы… например работать надо только с ликвидными страйками… 1-2 страйка от текущей цены…
а судя по выхлопу получается, что опционы торговать смысла нет, если фьючи дают больше…
1 тслаб + айтиинвест… все данные грузятся отлично… под квиком имхо будут проблемы...
2 смысл торговать есть… типа диверсификация… ну и можно взять второе плечо...
3 кроме того имеет смысл нащупать подходы к американскому рынку опционов… там предваритльная оценка дает овер 30% годовых
4 ну и конечно есть грааль… т.е нужна идея именно для оппционов под которую делать бота
Вы уже свой грааль для опционов нашли?)
Тестировать по наши RI-шные опционы по нашим [разреженным] котировкам и так-то не сахар, а учитывая что при сдвиге цены БА ликвид массово превращается в неликвид и наоборот… это получается уже не небольшая книжка, а небольшой такой многомерный, мать его, гиперкуб! Так что позволь выразить свое искреннее восхищение)))
PS: была бы еще в том же АйтиИнвесте история котировок опционов не по сделкам, а скажем по имеющимся бидам/аскам, как в MT4, и все имхо было бы гораздо веселее…
Это на одном инструменте.
А если их сотни, как на америке?
Это уже 300-400 среднесрочных сделок в год.
Ну и доходность может быть интереснее
Кстати да, как только кто-то говорит о своих заработках я сливаюсь, крыть нечем (((
Если уверенности нет, то бытует мнение что лучше покупать ATM.
А срок брать по возможности минимальный, то есть например если ожидаете движение в течение пары недель, лучше взять опционы с экспирацией через месяц, нежели чем через 3 месяца.
Чем экспирация дальше, тем распад медленнее…
Дальние сроки стоят дороже, но и эффект нелинейности у них поменьше выражен… то есть если при движении рынка ближний опцион подорожает скажем с 500 до 1000 то дальний скажем с 2000 до 2350...
Но при этом если рынок никуда не пойдет, дальний распадется меньше...
и если рынок пойдет против вас, то на дальнем сроке поскольку стоит он дороже, потерять вы можете потерять больше… хотя есть больше времени что он назад откатит… (ну то есть начинает фьюч напоминать)
у больших сроков преимущество в «стабильности» характеристик в том плане, что был если 3-х месячный опцион, и месяц прошел, стал 2-х месячный… у него тета, дельта и проч. почти не изменились (если рынок не ухреначил куданить).