ROBO_Trading

Работает ли KAMA?

Обучение
BITFINEX:BTCUSD   Биткоин
Продолжу традиционные уже обучающие посты в стиле "Работает ли какая-то хрень". Работает ли KAMA на крипте? Предлагаю следующий план действий:

Шаг 1. Погуглить "что такое KAMA?"
Шаг 2. Тыкнуть на русскоязычную статью в Википедии
Шаг 3. Дочитать до формул
Шаг 4. Грустно вздохнуть с мыслью "опять нихрена не понятно"
Шаг 5. Продолжить читать эту статью в надежде что станет понятно

Из Википедии

Из Википедии возьмем вот эти вот абзацы:

Адаптивная скользящая средняя Кауфмана (AMA, KAMA, AMkA от англ. Kaufman's Adaptive Moving Average) — технический индикатор, разновидность адаптивной скользящей средней, построенной на базе экспоненциально сглаженной скользящей средней и оригинальной методики определения и применения волатильности в качестве динамически изменяющейся сглаживающей константы. Индикатор Адаптивная скользящая средняя разработан Перри Кауфманом и впервые представлен в 1995 году в его книге «Умный трейдинг: повышение эффективности на изменяющемся рынке» (англ. Smarter Trading: Improving Performance in Changing Markets).

Торговые стратегии

Так же та же Википедия предлагает нам 2 разных примитивно простых торговых стратегии, с использованием этой самой КАМЫ, цитирую:

Торговые стратегии построенные на адаптивной скользящей средней Кауфмана являются общими для всех трендеследующих индикаторов:

Открыть длинную позицию (закрыть короткую), когда график цены пересекает график AMA снизу вверх.
Закрыть длинную позицию (открыть короткую), когда график цены пересекает график AMA сверху вниз.

Важно заметить, что AMA меняет направление своего движения в точности в точке пересечения своего графика с графиком цены, то есть для торговли достаточно сравнивать текущее и предыдущее значение индикатора:

Открыть длинную позицию (закрыть короткую), когда текущее значение AMA стало больше его предыдущего значения.
Закрыть длинную позицию (открыть короткую), когда текущее значение AMA стало меньше его предыдущего значения.


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

План эксперимента

Хочется проверить как это всё работает и работает ли вообще. Поэтому тут у меня план действий уже такой:

Шаг 1. Почитать формулы в Википедии и попробовать это всё понять и закодить в скрипт стратегии
Шаг 2. Через полчаса плюнуть с мыслью "Да ну его нафиг" и начать искать на TradingView уже готовый чужой индикатор KAMA
Шаг 3. Взять свой старый скрипт стратегии, взять чужой скрипт с индикатором KAMA, смешать их, и получить неведому зверушку
Шаг 4. Провести бектест
Шаг 5. Если всё годно, то накатать пост
Шаг 6. За проделанную работу наклянчить лайков

Приступим.

Параметры

По умолчанию в скрипте выставлены не оптимальные параметры. То есть велика вероятность найти варианты получше. Мне не удалось найти про оптимальные параметры КАМЫ вообще ничего. Может быть даже прочту книгу автора индикатора, возможно там описание по какой логике предпочитать параметры что-то есть.

Так же, раз уж Википедия (и видимо автор индикатора тоже) предлагают 2 варианта элементарного использования индикатора в стратегии, то я решил сразу реализовать оба варианта. Есть параметр типа ("Type"), где можно выбрать либо "пересечения", как в первом варианте на Википедии. Либо выбрать тип "Trend", тогда будет как во втором варианте стратегии на Википедии.

Как я и ожидал особой разницы между типами и нет. То есть разница есть, но не большая. Впрочем, текст самой статьи на Википедии тоже как бы намекает что особо разницы нет.

Для погромистов: это возня с выбором типа стратегии происходит в строках кода 38 и 39

Бектест

Который ниже. С дефолтными параметрами, с комиссией 0.1% на дневном графике. Так как стратегия предполагает активное запрыгивание в уходящие поезда (в обоих вариантах стратегии), то это значит что надо использовать комиссию тейкера. То есть битмексвая халявушка на этот раз не обломится. Впрочем на дневном ТФ выходит вполне сносно и с комиссиями.

Скрипт

Как обычно прикреплен внизу. Третья версия языка и отсутствие команд типа security и подобных, это гарантирует что индикатор не будет перерисовываться или как-то там глядеть в будущее. Исходный код открытый, рюшечки там типичные уже: галки лонг/шорт, возможность ставить депозит больше 100%, диапазон дат. Как обычно всё.

Связанные идеи

Отказ от ответственности

Все виды контента, которые вы можете увидеть на TradingView, не являются финансовыми, инвестиционными, торговыми или любыми другими рекомендациями. Мы не предоставляем советы по покупке и продаже активов. Подробнее — в Условиях использования TradingView.