Прохождение фильтров

Для отправки стартегии в соревнование вам придется пройти несколько фильтров, чтоб она была допущена к соревнованиям. Сами фильтры и то, как их пройти написано ниже.

Технические фильтры

strategy.ipynb

Если вы видите сообщение «strategy.ipynb не был найден», то проверьте название главного файла стратегии, он должен называться strategy.ipynb.

Timeout

Один проход расчета стратегии не должен занимать больше 30 минут. Если вы видите сообщение «Превышено время расчетов», то вам нужно оптимизировать код и уменьшать время исполнения.

Компиляция strategy.ipynb

Если вы видите сообщение «strategy.ipynb не компилируется», то, скорее всего произошла ошибка при расчете стратегии и преобразовании книги из ipynb в html.

  • Обязательно проверьте логи, чаще всего там есть необходимая информация о ней.

  • Также, обратите на референсную дату в логах. Вы можете использовать ее, чтобы воспроизвести ошибку в precheck.ipynb. (Подставьте эту дату в массив dates при вызове evaluate_passes.)

write_output

Если вы видите сообщение «Пропущен вызов функции write_output», то ваша стратегия не сохраняет результат вычислений. Т.е. пропушен вызов write_output. Добавьте этот вызов в конец книги strategy.ipynb.

last data

Если вы видите сообщение «Данные загружаются только до определённого дня», значит в вашем шаблоне данные загружаются с указанием параметра max_date. Уберите его.

Количество стратегий

Если вы видите сообщение «Превышен лимит по количеству стратегий», то это значит, что вы отправили слишком много стратегий. На платформе установлено органичение: не более 5 в неделю. Т.е. через неделю вы сможете отправить еще.

output dates

Если вы видите сообщение «Стратегия выводит веса не для всех торговых дней», то это значит что в output вашей стратегии пропущены дни. Проверьте не используете ли вы операцию drop по оси time.

Торговать только BTC

Актуально только для CRYPTO. Если вы видите сообщение «Tоргуются другие криптовалюты кроме BTC», значит вы используете и другие инструменты, что запрещено правилами. Используйте только BTC.

Sharpe Ratio

Если вы видите сообщение «Коэффициент Шарпа за последние 3 года меньше 1.0», то это значит, что производительность вашей стратегии низка при пошаговом расчете.

Вам нужно улучшить свой алгоритм и поднять sharpe ratio.

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

Пошаговый расчет - это лучший способ протестировать модель на наличие forward looking, но он занимает довольно много времени. Вы можете провести пошаговый расчет также, как его делает система при проверке стратегий. Для этого используйте precheck.ipynb и выставьте passes>=1000 при вызове evaluate_passes. В принципе, и меньшее число проходов (100 или 200) может дать полезную информацию о реальной производительности вашей стратегии.

Корреляция

Если вы видите сообщение «Стратегия сильно коррелирует…», значит ваша стратегия очень похожа на другую стратегию отправленную ранее.

По правилам, нельзя отправить стратегию, которая сильно коррелирует с одной из предыдущих.

В этом случае можно попробовать:

  • поменять используемые в стратегии инструменты

  • смешать несколько стратегий

  • написать новую стратегию

Exposure

Актуально для STOCKS. Если вы видите сообщение «Стратегия имеет высокий уровень риска (Exposure).», то ваша стратегия использует слишком мало инструментов.

Вы можете исправить стратегию 3-мя способами:

  • дописать стратегию так, чтобы она использовала больше инструментов

  • смешать веса вашей стратегии со стратегией, у которой хороший exposure. Для этого можно использовать qnt.exposure.mix_weights

  • выбросить дни с высоким exposure из весов вашей стратегии используя qnt.exposure.drop_bad_days

Подробнее здесь.

Время удержания

Актуально только для CRYPTO. Если вы видите сообщение «Hедостаточное время удержания», то значит ваша стратегия слишком часто меняет позиции. Уменьшите количество этих изменений.