Бэктесты на неликвидах.
А кто-то бэктестит на таком? Как исполнение организовано? Ещё бы конечно хотелось динамически исполнение подстраивать (речь всё ещё про бэктест) в зависимости от текущей оценки ликвидности, а не постфактум оценки какой-то.
Я на свечах тещщу всё.
У меня сейчас 2 вида исполнения в бэктестах – для ликвида и неликвида. Хочется более интеллектуально и адаптивно это делать. Может у кого-то опыт есть, какие-то лайфхаки.
Отличия в исполнении, например: если ты стоишь лимиткой под ценой, а потом раз и дневка открылась ниже цены заявки, в ликвиде – тебе дадут на аукционе по цене открытия, а в неликвиде это скорее всего просто прострел и дай бог чтобы ликвидности хватило в твою-то заявку налить… по цене заявки, ясно.
Можно смотреть на проторгованные объемы, но это надо как-то инфляцию учесть, а-то ж это в разы или может десятки раз разница стоимости денег будет в разные периоды.
Можно по свечам оценивать, например, для внутридня что-то типа отношение на скользящем окне среднего abs(close текущей – open следующей) к ATR. Типа если дохрена оупен новой свечи от клоуза предыдущей улетает часто – видимо спреды запредельные. Да, наверно, что-то такое можно, с доп. подстраховкой через фильтр по деньгам или типа того.
Криптовалюта отличается от других активов тем, что она позволяет всем желающим просматривать информацию о денежных потоках. Благодаря публичности блокчейна можно получить дополнительные сведенья для анализа, и оценить настроение толпы в конкретный период времени. На основании этой информации индикатор SOPR отображает важные психологические моменты и дает возможность предсказывать изменения рыночной тенденции.
Это индикатор от компании Glassnode, которая дала ему следующее описание:
Индикатор SOPR (Spent Output Profit Ratio) показывает уровень реализованной прибыли для всех монет, перемещенных в блоечейне. Он дает представление о прибылях и убытках, полученных за определенный промежуток времени, а также позволяет определить настроение на глобальном рынке.
Это так называемый «ончейн-индикатор», то есть он работает на основании информации, полученной из блокчейна, и рассчитывается на базе данных об UTXO.
Unspent Transaction Output переводится как выход неизрасходованных транзакций в блочейне.
Писал "Секреты алготрейдинга. Вступление", где рассуждал об упрощении предсказания поведения любой системы, если она вошла в область экстремальных, не типичных для себя значений (при отсутствии общего форс-мажора на рынке).
Всего таких «секретов» я использую 5-6. Здесь расскажу о самом первом, а чуть позже ещё о нескольких. Дальше, если вызовет у публики интерес, об остальных)
Итак, секрет №1: торговля только после виртуальных убытков.
Виртуальными я называю убытки, которые произошли бы системно, но попали на наш период ожидания (когда трейдер «на заборе»). Период ожидания длится до тех пор, пока стратегия не сгенерирует определённое количество убыточных сигналов подряд. После этого можно и нужно вступать в реальные торги. Мат.ожидание уже начало работать в пользу трейдера.
Проиллюстрирую сперва на бектесте. После чего подкреплю теоретическим обоснованием.
Айтишник на всю голову, ударившийся в трейдинг — пожалуй, самое ёмкое описание этого блога.
— Нафига? Нафига тратить время на увеличение мировой энтропии, заводя какой-то блог? — задаю себе вопрос.
— Андрей, ты же решил заняться трейдингом, а блог — это возможность не то чтобы себя показать, скорее с другими пообщаться, внять чужому опыту! — краткий ответ.
Пусть этот пост будет приветствием и пояснением, куда вы попали.
Вкратце о себе: программист и руководитель небольшого учебного центра, решивший, что пора свои навыки прикрутить к миру трейдинга, в котором разбираюсь не больше, чем в женской логике.
Буду изучать и автоматизировать для себя мир трейдинга. Ключевое слово и текущая цель — автоматизировать. Зачем тратить нервы, пусть лучше натасканный бот переживает на темы вроде «куда рванёт OZON после внезапно случившегося утреннего гэпа».
Здесь буду делиться процессом по построению своих стратегий и разработке робота. Да помогут они тем, кто пойдёт по моим стопам. И да помогут мне советами те, кто уже станцевал на граблях, разбросанных на этой тропинке.
В алгоритмической торговле много аспектов и много чем можно заниматься для улучшения результата. Интересно, кто в каких пропорциях время распределяет.
Как алготрейдеру сразу, конечно, хочется факторы вычленить, закономерности построить, посмотреть как распределение времени на результаты влияет, эксперимент спроектировать и провести. Но тут так, конечно, не выйдет), но просто послушать всё равно очень интересно. Интересно не чем в моменте занимаешься, а на каком-то скользящем окне помасштабней понять как усилия распределяется. Основной фактор, думаю, тут стадия жизненного цикла трейдера, но и в пределах стадии всё равно разброс на основе индивидуальных предпочтений приличный.
Я долго в инфраструктуру усилия вкладывал, потом в рисёч стратегий, щас основной упор в мета-исследования – исследования, положительный результат в которых аффектит эффективность всего процесса и всех/большинства стратегий. Наверно, процентов 60 этим занимаюсь, 30 – рисёч и написание стратегий, 10 – инфраструктуру допиливаю по необходимости.
Прошло почти полгода, как мы с моим другом и партнёром Ильей Гадаскиным запустили алгоритмическую стратегию ABIGTRSUT на сервисе автоследования COMMON компании FINAM. Можно подвести промежуточные итоги, а также рассказать немного подробнее о её прародителях и напомнить, что для VIP доступен полный комплекс роботов, в отличие от варианта на COMMON. Напомню, что вариант на автоследовании сознательно упрощён по двум причинам:
Если взять текущий срез, а в нём не хватает всего 5 дней до пол-года, то стратегия ABIGTRUST показывает +32%, при максимальной просадке 13%. Поэтому мы вполне идём в фарватере заявленных в 65% годовых.
Мы достаточно уверенно обходим индексы IMOEX и MCFTR. Наша Альфа Дженсена равна 41,4 и 34,6 соответственно, при беттах 0,31 и 0,41. Сам факт таких бетт вселяет радость, так как это означает, что стратегия не зависит от общего поведения рынка.