ROBO_Trading

Диверсификация увеличит прибыль

Обучение
BINANCE:BTCUSDT   Bitcoin / TetherUS
В этой статье я пытаюсь раскрыть две темы: улучшение результатов торговых стратегий при помощи метода диверсификации, а так же показываю способ как на TradingView можно протестировать торговую систему на нескольких парах одновременно (но это будет понятно/интересно только программистам).

Диверсификация улучшает всё

Очень часто о диверсификации думают/пишут так как будто бы диверсификация полезна только лишь для снижения риска. Что в корне не верно. Не забывайте что риск и прибыль идут рука об руку. Если вы можете снизить риск (просадку) вдвое, то вы так же сможете тогда увеличить кредитное плечо тоже в двое. Если вы это сделаете, то просадка останется настолько же глубокой, что была ранее, однако прибыль то увеличится. Таким образом, вы можете сами выбирать что улучшить: увеличить прибыль, или уменьшить просадку. А так же можно тонко настроить под свои цели вплоть до сотых долей процента. Вполне можно одновременно и прибыль увеличить и просадку уменьшить.

Мера риска

Этот нюанс большинство уже не понимают. Оценивать риск только размером максимальной просадки было бы неверно. Я так же добавил в скрипте отображение максимального срока просадки в количестве баров (свечей). Если выбран дневной таймфрейм, то количество баров просадки отображает максимальное количество дней, которое счет был "в минусе". При этом в минусе не относительного стартового депозита, а относительно максимальной суммы, которая была на счете. Более научно говоря, отображается срок абсолютной просадки в барах, а не срок относительной просадки. Так лучше, потому что деньги будут вложены в какую-то рандомную дату в будущем, а не в дату начала бэктеста. Думаю должно быть очевидно что чем меньше срок просадки, тем менее рискованная такая то стратегия. То есть мы измеряем риск не только размером просадки, но еще и сроком просадки, для большей надежности такой оценки.

Стратегия

Для примера я взял стратегию ценовых каналов Дончяна, так как она простая для понимания всеми и простая для кодинга. Стратегия была опубликована в далёком 1971-ом году и до сих пор отлично работает, в том числе и на криптовалютах. Тестировать будем с дефолтными настройками стратегии (дневной таймфрейм и период 20 баров - 20 дней), как и предлагал Ричард Дончян. Пары возмем топ 5 по капитализации криптовалют, исключая стейблкойны. Топ 5 на текущую дату. Биржа Binance.com. В настройках можно менять, кстати.

Скрипт

Так как оформить это всё в виде скрипта стратегии оказалось невозможно (и не нужно еще), то всё сделано как скрипт индикатора. Да, индикатор тоже может делать бэктест, и будем считать это недокументированной возможностью TradingView :) Да и вообще я там нагородил большой велосипед. А потому что иначе было никак это не сделать. Скрипт с открытым исходным кодом на пятой версии языка PineScript, и на этот раз приватный (т.е. по ссылке вы его увидите, но без ссылки его не получить). Я старался написать понятно, разбил код на блоки и добавил комментарии, но скажу что код всё равно получился довольно сложным для понимания. Да и велосипед делался тоже не простой.

Что показывает

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

Тестируем по одной паре

Сначала протестируем только одну пару, что получится. Тестирую с дефолтными настройками скрипта (те что рекомендовал Ричард Дончян овер 50 лет назад), а именно: дневной таймфрейм, период 20 свечей (20 дней), комиссия за сделки 0,1%.


Профиты:
- Binance.com SPOT BTC/USDT: +3.606%
- Binance.com SPOT ETH/USDT: +8.827%
- Binance.com SPOT BNB/USDT: +23.819%
- Binance.com SPOT XRP/USDT: +857%
- Binance.com SPOT ADA/USDT: +5.709%
Средний профит: +8.563%

Просадки:
- Binance.com SPOT BTC/USDT: -52%
- Binance.com SPOT ETH/USDT: -46%
- Binance.com SPOT BNB/USDT: -87%
- Binance.com SPOT XRP/USDT: -53%
- Binance.com SPOT ADA/USDT: -72%
Средняя просадка: -62%

Максимально длительная просадка, срок:
- Binance.com SPOT BTC/USDT: 391 день
- Binance.com SPOT ETH/USDT: 251 день
- Binance.com SPOT BNB/USDT: 654 дня
- Binance.com SPOT XRP/USDT: 518 дней
- Binance.com SPOT ADA/USDT: 395 дней
Средний срок: 442 дня

Итак, если торговать только BTC по этой стратегии, то рано или поздно обязательно улетишь в просадку на сроком более одного года (а у BNB даже почти 2 года вышло). Хотелось бы сократить этот срок, при этом уменьшить размер просадки, при этом увеличить доходность, и всё это не закатывая губы.

Тестируем по несколько пар

Одна пара это BTC/USDT, две пары это предыдущая пара и ETH/USDT. Три пары это предыдущие две и BNB/USDT. Ну и так далее. То есть тест пяти пар это тест пар из топ-5 по капитализации, надеюсь понятно. Наверху одна пара (только биток), самая нижняя - пять пар.


Профиты:
- 1 пара: +3.606%
- 2 пары: +6.217%
- 3 пары: +12.084%
- 4 пары: +9.277%
- 5 пар: +8.564%

С двумя парами профит стал больше просто потому что эфир более волатильный. То что эфир больше подорожал чем биток за период теста тут не имеет значаения, так как в стратегии используется и шорт тоже. С тремя парами профит больше, потому что BNB еще более волатильный. Добавляя четвертую пару XRP профит снизился, так как монету мало трясло в этот период.

Удивительное совпадение, профит при торговле на пяти парах почти полностью совпал со средним профитом, и это именно совпадение. Итак, торгуя пять пар мы не уменьшим профит (что и ожидалось), получится +8.564% вместо среднего +8.563%. Напомню что профит можно увеличить за счет увелечения кредитного плеча, а для этого желательно сначала уменьшить просадку.

Просадки:
- 1 пара: -52%
- 2 пары: -35%
- 3 пары: -34%
- 4 пары: -29%
- 5 пар: -24%

Что и ожидалось, каждый раз добавляя новую пару в торговлю максимальный размер просадки уменьшается. Чем больше пар - тем меньше максимальная просадка. Вообще то иногда добавляя новую пару максимальная просадка может увеличится, так как имеется еще и погрешность. Но в среднем это правило будет работать, то есть добавляя еще одну пару в систему ты более вероятно снизишь просадку, и менее вероятно увеличишь её. По логике вещей при диверсификации именно так и должно быть. Дело в том что максимальная просадка на одной паре более вероятно будет в другой день, не в тот же день, в который была максимальная просадка на другой паре. То есть, от диверсификация максимальная просадка как бы "размазывается по времени", а не концентрируется на один день.

Средняя просадка у пар была -62%, но за счет диверсификации мы её уменьшили до -24%. Ну как бы не плохо так :)

Сроки просадки:
- 1 пара: 391 день
- 2 пары: 197 дней
- 3 пары: 219 дней
- 4 пары: 220 дней
- 5 пар: 246 дней

В среднем срок просадки у этих пяти пар достигает 442 дня. Это если мы их торгуем по одной, без диверсификации. Если же мы будем торговать все пять пар параллельно по 20% капитала на каждую пару, то есть задействуем диверсификацию, то максимальный срок просадки сокращается уже до 246 дней. Что и следовало ожидать.

Снижение эффекта

К сожалению полезный эффект от диверсификации с ростом количества активов (или пар) - уменьшается. То есть каждый раз добавляя новую пару полезный эффект будет все меньше и меньше. То есть диверсификации на 100 пар одновременно лишь чуть-чуть лучше чем диверфикация на 50 пар и не стоит гимора.

Ну и выводы

Диверсификация позволяет уменьшить размер максимальной просадки и уменьшить максимальный срок абсолютной просадки, а значит гарантированно уменьшит меру риска. Это не является случайным совпадением, а вполне логично и объяснимо, ибо "не клади все яйца в одну корзину". При этом диверсификация не уменьшит прибыль. Но может увеличить.

Трейдер может как бы "конвертировать" понижение риска в профит. Если вдвое уменьшил просадку, то можешь вдвое увеличить плечо, а значит и прибыль. Сам выбираешь что тебе нужнее, уменьшить просадку или увеличить профит.

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

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

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