Статья из блога "Trading with Python" об элементарной стратегии, которая демонстрирует последовательный подход к разработке алгоритмов.
Недавно я прочел пост на сайте turingfinance.com "Как стать квантом". Вкратце, он описывает научный подход к созданию торговых стратегий. Для меня, наблюдение за данными, обдумывание модели и формирование гипотезы является второй натурой, как это и должно быть для любого хорошего инженера.
В данной статье я собираюсь показать такой подход по шагам, которые нужны для разработки стратегии.
Давайте возьмем наиболее популярный инструмент - S&P 500 ETF "SPY". Начнем с наблюдений.
Обзор данных
Мне кажется, что большую часть времени в СМИ говорят об обрушении рынков (больших потерь в течение нескольких дней), умалчивая о значительном росте, который следует за ними.
В прошлом я сделал пару ошибок, закрыв позиции, чтобы ограничить потери, и упустив восстановление в последующие дни.
Основная теория
После периода последовательных падений, многие трейдеры ликвидируют свои позиции из-за страха больших потерь.В основном, такое поведение диктуется скорее страхом, чем рассчитанным риском. Более умные трейдеры входят в позицию в таком случае.
Гипотеза: Приращение цены SPY на следующий день после нескольких последовательных падений имеет положительное матожидание.
Для проверки данной гипотезы я нашел число случаев последовательных дневных падений. Все дневные приращения ниже -0,1% считались "падением".
Серия приращений близка к случайной, как и ожидалось, шансы 5 и более последовательных дней с падением низки, что демонстрирует очень ограниченное число таких случаев. Меньшее число последовательных падений ведет к нереалистичной статистической оценке, поэтому я остановился на 5.
Ниже показан график приращений следующего дня, как функции от числа последовательных дней с падением.
Я также показал 90% доверительный интервал приращений между синими линиями. Он демонстрирует, что среднее приращение положительно коррелировано с числом дней падения. Гипотеза подтверждена.
Тем не менее, вы можете заметить, что это дополнительное преимущество очень мало в сравнении с диапазоном вероятных приращений. Но даже крошечное превосходство может быть использовано (найти стат. преимущество и повторять его так часто, насколько это возможно). Следующий шаг в исследовании данного преимущества - создание торговой стратегии.
В соответствии с выше представленными данными, стратегия может быть сформулирована следующим образом:
После последовательных 3 или более дневных падений, взять длинную позицию. Выход - на закрытии следующего дня.
В заглавии статьи показан результат такой стратегии в сравнении с "купил-и-держи".
Выглядит достаточно неплохо! Коэффициент Шарпа такого алгоритма равен 2.2, у стратегии "купил-и-держи" - 0.44. Это действительно очень хорошо ( но радуемся не слишком сильно, я не учитывал комиссии, проскальзывание и т.п.)
Хотя описанная выше стратегия не является той, что я хотел бы торговать, просто из-за довольно долгого промежутка времени, теория наталкивает на дальнейшие размышления, которые могут привести к чему-то полезному. Если те же принципы применить к внутридневным данным, может быть создана скальперская стратегия. В примере выше я немного упростил ситуацию, считая только число дней с падением, не беря во внимание глубину просадки. Также выход из позиции был просто по закрытию следующего дня. Здесь можно многое улучшить, но суть, по моему мнению, такова:
будущие приращения цены SPY зависят от просадки и ее длительности свыше 3 предыдущих дней.
Сообщение