Stanislav Gribanov
Stanislav Gribanov личный блог
14 марта 2024, 10:12

Перевод книги "Хакер фондового рынка". Индекс подлости.

Перевод книги "Хакер фондового рынка". Индекс подлости.
Ранее:
1. Предисловие.
2. Торговля деньгами.
3. Биржевая цена.
4. Золотоискатели и ломбарды.
5. Тики, бары, свечи.
6. Как работают торговые системы?
7. Технический анализ — смысл и бессмыслица.
8. Трехчасовой курс программирования.
9. Первый урок: Переменные.
10. Разновидность калькулятора.
11. Второй час: Функции. 
12. Функции с возвращаемым значением.
13. Третий час: ветвление.
14. Циклы.
15. Следуйте за тенденцией.
16. Торговля с помощью фильтра низких частот.
17. Покупка и продажа.
18. Тестирование стратегии.
19. Распределение прибыли.

У всех систем следования за трендом одна и та же проблема: рынок показывает сильные тренды лишь временами. В другое время цена колеблется без четкого направления вверх или вниз. Тогда система следования за трендом генерирует ложные сигналы и, соответственно, убытки. Эта проблема видна на рис. 19 и рис. 20, где при боковом движении цены накапливается много темных точек. Они также создают сильные скачки на кривой капитала. Поэтому было бы хорошо, если бы можно было распознавать такие ситуации и подавлять или, по крайней мере, сокращать торговлю в это время.

Существуют различные алгоритмы и индикаторы, позволяющие как можно раньше отличить развивающуюся «трендовую» ситуацию на рынке от боковика. Некоторые из них действительно работают, например, преобразование Гильберта, использованное Джоном Элерсом, или экспонента Харста, использованная Бенуа Мандельбротом. Алиса хочет использовать статистический алгоритм, который доступен в виде индикатора: Индекс рыночной подлости (MMI). В приложении описано, что именно делает этот индикатор. На данный момент достаточно того, что ММИ основан на статистическом распределении ценовых данных. Его значение лежит в диапазоне от 0 до 100%. Он показывает, насколько сильно рынок «борется» с трендом. При 100% каждое движение цены будет немедленно компенсироваться встречным движением; при 0% тренд будет продолжаться бесконечно. Чисто случайные числа имеют ММИ 75%. Для ценовых данных ММИ обычно намного ниже. Если MMI падает, это свидетельствует о развитии тенденции. Поэтому падающий MMI благоприятен для систем слежения за трендом, а растущий MMI — неблагоприятен.

Чтобы определить ситуацию на рынке, Алиса сначала рассчитывает MMI за последние 300 часов (сценарий Alice1b):
vars MMI_Raw = series(MMI(Price,300));

В результате получается ряд «сырых» значений MMI. Чтобы превратить эти колеблющиеся данные в стабильный индикатор, Алиса сглаживает их с помощью фильтра низких частот, как и сигнал тренда до этого:

vars MMI_Smooth = series(LowPass(MMI_Raw,500));
Перевод книги "Хакер фондового рынка". Индекс подлости.

Рис. 22 — MMI, необработанный и гладкий

На рис. 22 показана кривая MMI — серая нефильтрованная, черная фильтрованная — в окне под кривой цен. ММИ колеблется между 50% и 60%. На первый взгляд, в кривой MMI, как необработанной, так и сглаженной, не видно никакой корреляции с кривой цен выше. Значение становится очевидным только тогда, когда сглаженный MMI используется в качестве дополнительного торгового условия:

if(falling(MMI_Smooth) {
  if(valley(Trend))
    enterLong();
  else if(peak(Trend))
    enterShort();
}

Так что теперь позицию можно открыть только в том случае, если MMI падает, тем самым объявляя о трендовой ситуации на рынке. Посмотрим, как это изменение повлияет на результат (Alice1b, [Test]):
Перевод книги "Хакер фондового рынка". Индекс подлости.

Рис. 23 — Результат с MMI

 

Мы значительно увеличили прибыль, и кривая собственного капитала выглядит лучше. Потери в начале были нейтрализованы, а неприятное падение акций в середине 2011 года прошло. Хотя MMI также отфильтровал несколько ранее позитивных сделок, польза от этого перевешивает ущерб. Поскольку эффективность рынка часто колеблется, стратегии всегда должны иметь такие алгоритмы фильтрации, которые подавляют торговлю, когда основная неэффективность в данный момент отсутствует. Этот важнейший аспект часто просто забывается в торговых системах. Особенно для систем следования за трендом распознавание прибыльных и убыточных рыночных ситуаций является едва ли не более важным, чем генерирование самих торговых сигналов.

 

Средний месячный доход (MI в окне выше) составляет 6 евро. Довольно скромно, но симулятор Zorro предварительно настроен на счет в микролотах. При такой настройке Zorro требуется всего лишь около 100 EUR депозита (капитал в окне выше — знак $ означает не доллары США, а валюту вашего брокерского счета), чтобы торговать стратегией на достаточно безопасном расстоянии от margin call. Это дает вам около 5% прибыли на капитал в месяц.

Продолжение следует...

2 Комментария
  • Андрей Борисов
    14 марта 2024, 11:32
    Было бы интересно посмотреть, что там в приложении, описание принципа подсчёта MMI.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн