Блог им. uralpro

Парный трейдинг с переключением режимов. Часть 3

    • 07 октября 2015, 09:03
    • |
    • uralpro
  • Еще

filtrPT

Окончание. Начало здесь.

В соответствии со смоделированным спредом, мы предполагаем покупать (продавать) пять контрактов по одному активу, одновременно продавая (покупая) количество, равное [β×5], где [x] — целая часть х, по другому активу, так как число контрактов должно быть целым.

Мы моделируем торговлю с 500 000$ и наше гарантийное обеспечение будет примерно равным 20%. Мы не используем какую-либо технику манименеджмента, ГО 20% будет только в начале периода бэктестинга и будет снижаться по мере получения прибыли.

Итоговые результаты анализируются с помощью распространенных индикаторов, применяемых на практике: годовой коэффициент Шарпа, годовая доходность, максимальная просадка, доли дней с положительной и отрицательной доходностью, доля дней без сделок, коэффициент отношения среднего значения (в долларах) дней с положительной доходностью к дням с отрицательной доходностью, корреляция портфеля с индексом S&P500. Во всех случаях мы указываем чистый результат, принимая во внимание 3$ комиссии и один тик проскальзывания на сделку.

Наиболее существенный полученный нами вывод — это то, что коинтеграционный фильтр работает лучше, чем два остальных (см. предыдущую часть). Рисунок в заглавии показывает, как в течение последнего семестра, в начале падения нефтяных цен, только те стратегии дают удовлетворительный результат, которые построены на коинтеграции. С другой стороны, алгоритм показывает слабые результаты при использовании корреляции или значимости регрессии в качестве фильтров.

Одна из наиболее известных проблем внутридневных спредовых стратегий — влияние комиссий. В наших тестах 10 минутный таймфрейм сильнее подвержен такому влиянию, чем остальные.

В таблице ниже мы показываем результаты только 20 минутного периода с коинтеграционным фильтром, так как в 10 минутном периоде получены похожие значения. Исключая спред между контрактами ES и YM, все другие стратегии демонстрируют лучшую производительность с двумя режимами, чем с одним.

tablePT

Более того. все методы показывают положительную доходность и большие коэффициенты Шарпа. Существует, тем не менее, серьезная разница между доходностями сырьевых активов и финансовых индексов; в то время как индексные фьючерсы ликвиднее, чем сырьевые, их доходности ниже.  В обоих секторах коэффициенты Шарпа более 2, так что даже первая стратегия  имеет хорошие результаты.

Общий риск определенно мал, так как величина просадок в таблице может быть с уверенностью поглощена без особых проблем. В среднем, процент отрицательной дневной доходности мал, но при вычислениях нужно учесть влияние коинтеграционного фильтра: доля дней без сделок лежит между 60 и 80%.

Другая важная особенность заключается в разности между числом неторговых дней с одним и двумя режимами: во втором случае сделок в среднем больше, чем в первом. Как следствие этого, число дней с положительной доходностью также увеличивается в некоторых случаях, где есть снижение коэффициента «средних выигрышей к средним проигрышам». Так как комиссия не сильно влияет на чистую прибыль, общая производительность получается стабильней.

По всем нашим протестированным вариантам, решения о применяемых фильтрах и параметрах в основном зависели от подверженности трейдеру риску " неправильной стороны" сделки (risk aversion). Как сказано выше, применение коинтеграционного фильтра приводит к меньшему числу сделок и менее волатильной доходности, и должен быть предпочтен остальным. В частности, число сделок лежит всегда между четырьмя и восемью в день и доля торговых дней в среднем равно 25%, таким образом число транзакций достаточно велико для получения устойчивого результата.

В итоге, отсутствие корреляции с индексом S&P500 — значимая характеристика как для институциональных, так и частных инвесторов, и вносит диверсификационный эффект в портфель. Доказательства преимуществ нашей стратегии следуют из графиков ниже, где показана линия эквити в сравнении с алгоритмом одного режима.

equtyPTequty2PTequty3PT

Заключение

В данной статье мы создали новую модель, демонстрирующую, как стратегии парного трейдинга работают на разных контрактах. Мы проанализировали два альтернативных способа определения режимов волатильности. Так как оценки похожи в обоих случаях, производительности стратегий также близки.

Предлагаемый метод имеет несколько преимуществ, но и некоторые недостатки. Производительность, получаемая с коинтеграционным фильтром устойчива по всем парам и временным периодам. Корреляция с классическим портфелем buy&hold приблизительно равна нулю, так что эти инвестиции интересны для всех трейдеров. Обе модели с одним и двумя режимами показывают низкую волатильность приращений, но последняя модель делает возможным увеличение доходности пропорционально с волатильностью.

Некоторые трудности могут возникнуть с практическим применением. Первое, может быть недостаток ликвидности на сырьевых рынках. Второе, масштабируемость -она также важна, и каждый трейдер должет принимать это во внимание. В итоге, мы не можем позволить себе использовать разные фильтры ( например, корреляцию), так как риск стратегии увеличивается экспоненциально. Результаты применения коинтеграционного фильтра ведут к большой части дней без сделок, так что нужны большие наборы данных для проверки устойчивости результатов.

Не только институциональные инвесторы имеют проблемы с ликвидностью; частные инвесторы могут столкнуться с другой трудностью — высокими требованиями к ГО при торговле фьючерсами. Позиции по спреду и строго внутридневная система могут помочь уменьшить эти требования.

В конце отметим, что определение коэффициента хэджирования сделано обычным методом наименьших квадратов. Испоьзование обобщенного метода наименьших квадратов (TLS — см. часть1 ) может снизить риски, так как вычисление производится путем решения симметричной задачи оптимизации.

Другие стратегии и алгоритмы автоматического трейдинга смотрите на моем сайте — www.quantalgos.ru

★18
11 комментариев
Виталий, привет.
: о))
Сегодня было время, пробежался по сайту
www.quantalgos.ru/
Сайт мне понравился. Без соплей и вранья.
Успехов в научных изысканиях и торговле роботами.
; р))

avatar
Petrov, спасибо, стараюсь размещать на сайте только то, что интересно самому
avatar
uralpro, а там вот было написано что по итогам голосования победила статья… а где голосование то?
avatar
Mr. Bean, а там звездочки сверху статей есть, на них можно нажимать, и ваш голос учтется
avatar
сппасибо
avatar
Поясните плиз, для простого и неискушенного в науке человека:

1. Коинтергационный фильтр — это • 5% уровень значимости коинтеграционного отношения между ценами двух активов, по статье? Так?
2. То есть если за вчерашний день К хороший, сегодня работаем. Если плохой, не работаем. Так?
3. Суть работы, на двух сигмах заходим, на одной сигме выходим. Так?
4. А если спред рвет, стоп куда ставите? Или мы сначала по всем нарезкам из выборки пробежались и определили сигмы, по сути заглянув далеко вперед, а потом с учетом знания будущего выставили средние значения сигм?
5. Про изменение «режима волатильности» ни слова нынче. Забыли и выкинули?
avatar
bocha,
1. коинтеграционный фильтр — это решение уравнение регрессии с учетом или без учета тренда спреда, а потом оценка остатков регрессии по определенной методике, описанной в этой стаье -D. Kwiatkowski, P. C. B. Phillips, P. Schmidt, and Y. Shin. Testing the null hypothesis of stationarity against the alternative of a unit root. Journal of Econometrics, 54:159–178, 1992.
2.Да, так, если период расчета спреда у вас дневной.
3.Нет, не совсем так — коэффициенты при сигме определяются режимом волатильности — для каждого режима они разные
4.Сигма всегда определяется только на прошлых значениях. Если спред уходит далеко, в конце дня просто фиксируем убыток, закрывая все позиции. Сильное расхождение спреда должно предотвращать ежедневное вычисление коэффициента спреда на основе метода усреднения минимальной дисперсии (см. часть2)
5. Определение режимов волатильности описано в первой части статьи
avatar
uralpro, спасибо, стало понятнее ))
avatar
uralpro, может уже где-то было, но я не видел, в чем тестируешь?
avatar
Mr. Bean, у меня бэктест самописный, на C#
avatar
uralpro, 

Довольно сложно. Я из этого инструментария осилил только «вычисление коэффициента спреда на основе метода усреднения минимальной дисперсии» — нашел в инете С++ и переложил на C# ;) Т.е. подбираю коэфциенты под ряд из логарифмов от цен минус средняя. 

Было бы интересно исследовать корзину из 5 акций (к примеру) против DIA/SPY (или фьючерса) по этому методу. Не занимался этим? Идеально взять корзину, исследовать ее, потом найти лучшую по твоим критериям и проторговать против индекса. Тут и ликвидность будет и возможностей много.
Для меня решение этого ребуса выглядит довольно просто — берем и методом перебора находим лучшую корзину из DJ30 из 5 акций против индекса скажем на последний месяц. По умолчанию можно считать, что лучшие 5 корзин отвечают всем критериям (оптимистично, наверное) и их торговать уже. Даже для dj30 нужно рассчитать порядка 17 млн (если не ошибся) вариантов для случая dj30 против 5 акций. Вполне посильная задача на самом деле.
avatar

теги блога uralpro

....все тэги



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