Перейти к содержимому
Все стратегии

Стратегии

Бэктест стратегии AtrRsiStrategy LINK Bybit | Stratmill

Итог: Бэктестинг

LinkBybitHowtraderAtrRsi

Бэктест стратегии AtrRsiStrategy LINK Bybit | Stratmill

Гипотеза

Точный перенос AtrRsiStrategy от 用Python的交易员, лицензия MIT, коммит howtrader fcad8e2d86825506b9d33441ab78be853c2c3bdd. Источник: https://github.com/51bitquant/howtrader/blob/fcad8e2d86825506b9d33441ab78be853c2c3bdd/examples/strategies/atr_rsi_strategy.py. Торгуй LINKUSDT.BYBIT в длинную и короткую на завершённых свечах 1 минут, сохраняя поведение минутных свечей исходного BarGenerator, запускаемого тиками. Зафиксируй atr_length=22, atr_ma_length=10, rsi_length=5, rsi_entry=16, trailing_percent=0.8 и исходное……Показать большеСвернуть

Точный перенос AtrRsiStrategy от 用Python的交易员, лицензия MIT, коммит howtrader fcad8e2d86825506b9d33441ab78be853c2c3bdd. Источник: https://github.com/51bitquant/howtrader/blob/fcad8e2d86825506b9d33441ab78be853c2c3bdd/examples/strategies/atr_rsi_strategy.py. Торгуй LINKUSDT.BYBIT в длинную и короткую на завершённых свечах 1 минут, сохраняя поведение минутных свечей исходного BarGenerator, запускаемого тиками. Зафиксируй atr_length=22, atr_ma_length=10, rsi_length=5, rsi_entry=16, trailing_percent=0.8 и исходное fixed_size=1. Адаптируй только инструмент, площадку, размер позиции относительно капитала и комиссии. Входные заявки остаются лимитными, исполняемыми сразу; выходы — рыночными стоп-заявками, срабатывающими внутри свечи, согласно платформе. Ветка входа исходника не устанавливает защиту; сохрани выставление первого защитного стопа на следующей завершённой свече после открытия позиции. Заявления о доходности не подтверждены. Текст стратегии предоставлен и изучен; получить её зависимости-утилиты не удалось, поэтому разработчик должен проверить инициализацию ArrayManager и семантику индикаторов по зафиксированной зависимости, прежде чем заявлять о точном численном совпадении.

Это запрошенное воспроизведение, а не предложение новой универсальной RSI. Доля Bybit недопредставлена: 2.8% при целевом значении 5%; поведение исходника с длинными и короткими позициями компенсирует концентрацию портфеля на 79.8% длинных позициях. Минутные свечи сохраняют исходную агрегацию тиков по умолчанию и позволяют обойти ограничение Hyperliquid на короткую историю. corpus_concentration пуст, поэтому долю инструмента в LINK установить нельзя. Сохрани архитектуру с одним инструментом и неизменные правила, несмотря на избыток одного символа: добавление корзины, хеджирования, фильтра режима или более длинного интервала свечей изменит запрошенный эксперимент.

Реализация

Порт Stratmill AtrRsiStrategy из howtrader (用Python的交易员, MIT) для LINKUSDT.BYBIT с барами по 1 минут, лонг и шорт. Используется окно ArrayManager на 100 баров с TA-эквивалентными функциями из библиотеки ATR(22) и RSI(5). Вне позиции, если ATR(22) выше среднего последних 10 значений, а RSI выше 66, выставляется лимитная заявка на покупку по цене закрытия x 1.01; если RSI ниже 34, выставляется лимитная заявка на шорт по цене закрытия x 0.99. В начале каждого бара отменяются все заявки. В позиции обновляются intra_trade_high и intra_trade_low, затем повторно выставляется стоп-маркет заявка только на сокращение позиции 0.8% за текущим экстремумом. Стоп срабатывает внутри бара. Размер: fixed_size x 20% капитала в номинале.

Это прямой перенос. Параметры сохраняют исходные имена и фиксированные значения. Порядок шагов внутри каждой свечи соответствует исходнику: cancel_all, затем обновление ArrayManager, затем ветка входа без позиции или ветка трейлинг-стопа. Как и в исходнике, на свече входа стоп не выставляется; первый защитный стоп ставится на следующей завершённой свече после открытия позиции. Я проверил индикаторы по howtrader/trader/utility.py в зафиксированном коммите. ArrayManager(size=100) считается готовым на 100 свечах,……Показать большеСвернуть

Это прямой перенос. Параметры сохраняют исходные имена и фиксированные значения. Порядок шагов внутри каждой свечи соответствует исходнику: cancel_all, затем обновление ArrayManager, затем ветка входа без позиции или ветка трейлинг-стопа. Как и в исходнике, на свече входа стоп не выставляется; первый защитный стоп ставится на следующей завершённой свече после открытия позиции. Я проверил индикаторы по howtrader/trader/utility.py в зафиксированном коммите. ArrayManager(size=100) считается готовым на 100 свечах, поэтому min_bars_required равен 100, а на каждой свече заново рассчитывает TA-Lib и ATR и RSI по скользящим массивам длиной 100 свечей. Я воспроизвёл метод TA-Lib: начальное значение — простое среднее, затем сглаживание Уайлдера; RSI=0, когда прирост и убыток оба равны нулю. Поскольку оба индикатора линейны по векторам истинного диапазона и прироста/убытка в фиксированном окне, веса вычисляются один раз. Каждая свеча требует O(100) операций numpy, а результат совпадает с пошаговой рекурсией с точностью до 1e-16. Сам TA-Lib здесь не установлен, поэтому я сверил опубликованный алгоритм, а не бинарный файл. Примечание о комиссиях, без изменения реализации: трейлинг-стоп 0.8% на минутных свечах 1 при входе и выходе по taker (около 0.11% за полный круг на Bybit) может не обеспечить целевую среднюю сделку 0.24%. Перенос по-прежнему точный.

Результаты верификации

Предоставь исходник с зафиксированной версией и файлы утилит и сравни результаты ATR/RSI с реализацией TA-Lib, включая случаи неизменной цены и скользящего окна.

Получить исходник с зафиксированной версией и файлы утилит во время этой проверки не удалось. Реализация соответствует явной спецификации из задания, а веса индикаторов реализуют стандартную инициализацию и сглаживание Уайлдера, однако точное численное совпадение с зафиксированной зависимостью независимо не подтверждено.

На тестовом окне средняя чистая доходность сделки составляет -0.812% для 268 закрытых позиций с существенными смоделированными издержками влияния на рынок. Сопоставь допущения об этом влиянии и оцени экономику на всей истории; эти результаты не подтверждают дефект корректности.

Анализ

AtrRsiStrategy

Анализ

atr_rsi_strategy.py

Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.