Блог им. empenoso

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python

В этой статье расскажу о том, как воспроизвел и протестировал торговую систему для фьючерсов Московской биржи, основанную на идеях Александра Резвякова. Недавно, просматривая раздел алготрейдинга на Смартлабе, я наткнулся на видео с его выступления на конференции 2024 года под названием "5-6 идей для построения прибыльной торговой системы на фьючерсах". Меня привлекла четкость и понятность предложенных им правил торговли.

Поскольку я активно занимаюсь автоматизацией процессов и стремлюсь глубже изучить возможности Python библиотеки backtesting.py, мне показалось это хорошей идеей для практического применения.

Хотя я лично не знаком с Александром, полагаю, что публичное представление идеи предполагает возможность её независимого анализа и тестирования сообществом трейдеров и программистов.
Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python

Обзор стратегии Александра Резвякова на фьючерсах

Основная идея — открывать сделки в строго определенное время и использовать структуру рынка последних дней для принятия решений.

Правила входа

  • Время входа: сделки совершаются только в 10:00.

Лонг:

  • Должно быть не менее трех дневных свечей в наличии.
  • За последние два дня минимумы (Low) и максимумы (High) должны повышаться.
  • Вероятность входа — 50%.

Шорт:

  • Также минимум три дневных бара.
  • За последние два дня максимумы и минимумы снижаются.
  • Вероятность входа — 50%.

Правила выхода

  • По времени: позиция закрывается в 20:40, независимо от результата.

По трейлинг-стопу:

  • Для ЛОНГА: если цена закрытия предыдущего бара падает больше чем на 2% от уровня покупки, то продажа. Если цена закрытия бара увеличивается, то этот уровень 2% убытка отчитывается уже от этой нового максимального уровня цены закрытия бара.
  • Для ШОРТА: обратно лонгу — если цена растет на определенный процент от минимальной цены закрытия, достигнутой во время существования позиции, то обратная покупка.

Дополнительно предлагалось увеличивать объем позиции при успешных сделках.

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python

Для лонга

Подготовка среды для тестирования

Для реализации и тестирования стратегии Александра Резвякова я выбрал Python и библиотеку backtesting.py. Этот выбор обусловлен несколькими факторами: Python предоставляет гибкие возможности для работы с данными, а backtesting.py позволяет эффективно моделировать торговые стратегии.

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python

В своем проекте применил модульный подход, разделив функциональность на несколько основных компонентов:

  • main.py — центральный модуль, запускающий весь процесс сканирования данных и бэктестирования стратегии
  • resample_data_1min.py — отвечает за фильтрацию и преобразование данных, получаемых через API; выбирает только необходимый временной интервал котировок
  • data_loader.py — преобразует данные из CSV-формата в структуру, пригодную для работы с backtesting.py
  • backtester.py — содержит основную логику запуска и настройки бэктеста
  • strategy_Random_1min.py — реализует саму торговую систему Резвякова с описанными правилами входа и выхода

Хотя в оригинальном видео Александр Резвяков рекомендовал работать на 5-минутном таймфрейме, я принял решение использовать 1-минутные свечи. Это позволяет более детально анализировать движение цены и точнее отслеживать срабатывание трейлинг-стопов. Благодаря более гранулярным данным, становится проще визуализировать и понять всю логику выхода из позиции, особенно в критических моментах, когда цена колеблется вблизи уровня стопа.

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python
Шорт фьючерса CRH5 (CNY-3.25)

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

Реализация стратегии на Python с использованием backtesting.py

Вот подробное описание каждого шага с точки зрения программирования:

Подготовка данных:

Первым шагом является загрузка и предобработка исторических данных о фьючерсах. Модуль resample_data_1min.py отвечает за получение минутных данных с использованием API брокера (в данном случае, T-Invest API) и выборку необходимых временных интервалов. Он загружает данные из CSV-файлов, содержащих котировки, и фильтрует их по заданному диапазону дат. Ключевым моментом является функция filter_by_date, которая обеспечивает выборку данных за определенный период.

save_filtered_data сохраняет обработанные данные в отдельные файлы для каждого тикера, готовые к дальнейшему использованию.

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python

Загрузка данных из CSV:

Модуль data_loader.py отвечает за загрузку исторических данных из CSV-файлов и преобразование их в формат, пригодный для использования с библиотекой backtesting.py. Функция load_data_for_ticker считывает данные для указанного тикера, выполняет парсинг дат и устанавливает столбец timestamp в качестве индекса. Это позволяет backtesting.py правильно интерпретировать временные ряды.

Реализация условий для входа и выхода:

В модуле strategy_Random_1min.py реализована основная логика торговой стратегии. Класс RandomEntryStrategy наследуется от класса Strategy из библиотеки backtesting.py. В методе init происходит инициализация необходимых параметров и индикаторов.

Метод resample_to_daily пересчитывает минутные данные в дневные бары, необходимые для принятия решений о входе в позицию.

В методе next реализуются правила входа и выхода из позиции, описанные Александром Резвяковым. Время входа строго фиксировано (10:00), а решение о входе в лонг или шорт принимается на основе анализа предыдущих двух дневных баров. Вероятность входа в сделку устанавливается как 50%. Время выхода установлено на 20:40.

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python


Интерактивный HTML

Настройка трейлинг-стопов:

Для реализации трейлинг-стопов в strategy_Random_1min.py используются методы update_long_position и update_short_position. В этих методах вычисляется уровень трейлинг-стопа на основе текущей цены и заданного процента (2%).

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

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

Библиотека backtesting.py позволяет не только моделировать сделки, но и визуализировать их в интерактивных HTML-отчетах. Это помогает детально анализировать точки входа и выхода, проверять корректность реализации логики и выявлять возможные ошибки в коде.

Чтобы избежать нагромождения данных в интерактивных HTML-отчетах решил загружать данные по неделям.

Кроме того, я задал комиссию в размере 0,2%, поскольку комиссии оказывают заметное влияние на итоговую доходность:

<code>
bt = Backtest(
    df,
    DynamicStrategyClass,
    cash=1_000_000, 
    commission=0.002,
    margin=0.1,  # Требование к первоначальной марже 10%
    trade_on_close=True,
    hedging=False,  
)
    </code>

Так как стратегия использует случайный вход в сделки (вероятность 50% на покупку или продажу), результаты тестирования также носят случайный характер. Однако, уже на первых тестах удалось увидеть интересные закономерности.

Вот пример удачного теста на фьючерсе NGH5:

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python
Шорт

<code>
==================================================
🚀 Запуск бэктеста для NGH5
==================================================


📋 Технические данные (для справки):
Колонки в данных: ['ticker', 'Open', 'High', 'Low', 'Close', 'Volume']
Первые 5 строк данных:
                    ticker   Open   High    Low  Close  Volume
timestamp                                                     
2025-03-10 05:59:00   NGH5  4.610  4.610  4.610  4.576    8743
2025-03-10 06:00:00   NGH5  4.610  4.605  4.629  4.605   10655
2025-03-10 06:01:00   NGH5  4.605  4.592  4.607  4.592    8855
2025-03-10 06:02:00   NGH5  4.592  4.597  4.598  4.592    5293
2025-03-10 06:03:00   NGH5  4.597  4.602  4.605  4.597    3682
Типы данных:
ticker     object
Open      float64
High      float64
Low       float64
Close     float64
Volume      int64
dtype: object


⏳ Запуск бэктеста...
ПРОДАЖА на 2025-03-12: Цена: 4.33, Стоп: 4.33
ВЫКУП (трейлинг-стоп) на 2025-03-12: Цена: 4.31, Стоп: 4.31, Вход: 4.33, Мин.закр.: 4.30, P/L: 0.44%
ПРОДАЖА на 2025-03-14: Цена: 4.08, Стоп: 4.09
ВЫКУП (трейлинг-стоп) на 2025-03-14: Цена: 4.02, Стоп: 4.02, Вход: 4.08, Мин.закр.: 4.01, P/L: 1.40%

📊 Результаты бэктеста:
⚙️ Стратегия: NGH5_RandomEntryStrategy
📅 Период тестирования: с 2025-03-10 05:59:00 по 2025-03-14 20:49:00
💰 Начальный капитал: 100,000 руб.
💵 Конечный капитал: 1104162.00 руб.
📈 Общая доходность: 10.42%
📊 Годовая доходность: 14652.07%
📈 Коэффициент Шарпа: 1.11
📉 Максимальная просадка: -6.51%
🔄 Количество сделок: 2
✅ Процент выигрышных сделок: 100.00%
💪 Лучшая сделка: +1.40%
🙁 Худшая сделка: 0.44%
⏱️ Средняя продолжительность сделки: 0 days 00:40:00

📊 Построение графика результатов...
✅ График успешно построен!

==================================================
🏁 Бэктест для NGH5 завершен
==================================================
    </code>

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

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

Рекомендации по улучшению стратегии

Наращивание позиций в выигрышных сделках

Автор рекомендует увеличивать объем позиции в прибыльных сделках. Однако в текущей реализации теста этот момент не был учтен. Основная сложность в том, как правильно идентифицировать момент для добавления к позиции и реализовать это в backtesting.py.

Если у кого-то из читателей есть идеи или готовые решения, буду рад обсудить их.

Возможные улучшения стратегии

  • Оптимизация трейлинг-стопа

    В текущей версии трейлинг-стоп фиксирован на уровне 2%, однако более гибкий подход, основанный на волатильности актива, может улучшить результаты. Например, можно использовать ATR (Average True Range) для динамического определения уровня стопа.

  • Добавление фильтров для входа

    Вход в 10:00 производится без дополнительных условий, что делает стратегию чувствительной к случайным колебаниям рынка. Можно добавить индикаторы тренда (например, SMA, VWAP) или фильтры объема, чтобы подтверждать сигналы на вход.

  • Добавление адаптивного модуля управления рисками

    Вместо фиксированного размера позиции можно вводить динамическое управление рисками на основе максимальной просадки (drawdown) или волатильности актива.

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

Заключение

В рамках этой статьи я воспроизвел и протестировал торговую систему Александра Резвякова на фьючерсах Московской биржи, используя Python и библиотеку backtesting.py.

Несмотря на кажущуюся простоту (случайные входы в 10:00 с вероятностью 50%), стратегия показала интересные результаты благодаря четким правилам выхода из позиций: трейлинг-стопы и закрытие по времени в 20:40.

Данный опыт может быть особенно полезен начинающим алгоритмическим трейдерам.

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

Что касается перспектив развития, система обладает значительным потенциалом для улучшения. Добавление динамических трейлинг-стопов на основе ATR, интеграция дополнительных фильтров для входа и реализация механизма наращивания позиций в прибыльных сделках могут существенно повысить эффективность стратегии. Python и backtesting.py предоставляют все необходимые инструменты для таких экспериментов, открывая широкие возможности для дальнейших исследований и оптимизации.

Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»

19 марта 2025 г.

★39
68 комментариев
На любимой им ришке лонг (по указанным правилам входа/выхода) сливает даже без издержек:
avatar
Sergey Pavlov, так это вы на днях тестировали?
Михаил Шардин, а такой тест на истории даст возможность закрыть сделку по отрицательной цене нефти? Если даст и нарисует прибыль то это… ну сами понимаете.
avatar
 CR (без издержек) также ни о чем:
avatar
 и NG также без издержек и также шляпа получается:
avatar
Sergey Pavlov, вы тестируете по каким-то совершенно другим правилам; в предложенной системе их нет и интервал другой
Михаил Шардин, 

Правила входа

  • Время входа: сделки совершаются только в 10:00.

Лонг:

  • Должно быть не менее трех дневных свечей в наличии.
  • За последние два дня минимумы (Low) и максимумы (High) должны повышаться.
  • Вероятность входа — 50%.

Шорт:

  • Также минимум три дневных бара.
  • За последние два дня максимумы и минимумы снижаются.
  • Вероятность входа — 50%.

Правила выхода

  • По времени: позиция закрывается в 20:40, независимо от результата.
как написано, так и протестировал. Расчёты у меня на минутках.
avatar
Sergey Pavlov, а чем тестируете?
Михаил Шардин, самописное в R
avatar
Sergey Pavlov, Изменил время входа/выхода, стоп

 С комиссиями, с склейкой












avatar
VLTorgovie, Вы два ответа написали с совершенно разными результатами. А где какие условия были?
Михаил Шардин, где похуже, это как написано у вас, время входа в 10:00 (у меня стоит 10:05, т.к. в 10:00 не войдешь), и выход в 20:40 или по стопу 2% или трейл стопу 2%
А где получше, там изменено время входа и выхода и стоп в 2%

Причем в условиях не написано растущие свечи или падающие, и не понятно зачем 3 свечи, если смотрится максм и минимум последних 2-х

avatar
VLTorgovie, спасибо
Sergey Pavlov, собрал на скорую руку, правда стоп не от закрытия а от MFE и не дня, а текущей цены (уже есть готовый, не стал переделывать), РИ, СИ, Сбер, Газ, юань








avatar
 
📊 Годовая доходность: 14652.07%
 
откуда вот это всё взялось?
avatar
Sergey Pavlov, это взялось оттуда что backtesting py пересчитал доходность двух сделок в одной неделе в году по 40 минут в годовую доходность
Вау! 2 сделки! Система работает!
avatar
myaucha, 🤣 так это… уже курсы обучающие ждем-с👍 от автора. А то понимаете ли питон изучил (и уже гуру алго) и никого больше за бабки не учит — это не хорошо.
avatar
Head of Algonaft'$, прямо мастер сарказма 👍
Михаил Шардин, госпаде) Да у вас 18 лет опыта! О боже! 18 лет и такой не далекий в трейдинге! Прежде чем что-то алгоритмизировать, надо понимать, что такое трейдинг и с чем его едят. Но если вы за 18 лет не поняли… то да, ваш потолок это давно не работающие стратегии инфоцыган пробовать алгоритмизировать. *ть,18 лет коту под хвост)))
avatar
Head of Algonaft'$, поделись своей бесконечной мудростью
myaucha, 
avatar
Ровно в 10 начинались торги, когда была только основная сессия. И многие системы КАЗАЛИСЬ прибыльными только потому, что авторы думали, что они могут войти с первой сделкой по её цене. 
avatar
SergeyJu, разумно
Михаил Шардин, переделайте, пожалуйста, тест с входом в 10:00 по закрытию первой минутной свечи, или в 10:01 по открытию. Исключим невозможность исполнить сделку по цене открытия торговой сессии.
avatar

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

К тому же мне кажется её зря прямо на годах тестируют. Мне кажется это для только здесь и сейчас.

Михаил Шардин, тогда было бы логично тестировать не один случайный прогон, а, например, 100 и усреднять результаты. Иначе сложно будет сравнивать результаты разных вариаций стратегии между собой.
avatar
SergeyJu, вы ему еще про мм и нерезов расскажите) откроете глаза что ли ему, за 18 лет он резвякова оптимизирует))ипати коловрати!
avatar
Head of Algonaft'$, ну так просвети, о мудрейший 😂
Михаил Шардин, если вы за 18 лет  так ничему и не научились, то к счастью — вы безнадежны! Почему к счастью, да потому что такие как вы как раз корм для мм и нам чутка перепадает_) без вас бы рынка не было и не было бы заработка. Спасибо вам и низкий поклон👍
avatar
Head of Algonaft'$, как же мне повезло услышать мнение такого великого биржевого философа!
Head of Algonaft'$, Дядя, не бузи) Ну побэктестил парниш очередного товарища еще с одной стратегией «сидинихуянеделайзарабатывайдахуя»? Ну че случилось-то?.. Может у парнишы вообще цель другая и он вообще все понимает про Резвякова, а настоящая цель его: вдруг зайдут на профиль — посмотрят, а там сайт-открытка с тем как «умный дом» внедрить занедорого. Молодец — парниш! Поверх продавца воздуха свою рекламу прогонять!
Андрей Аперов, и вообще, метод научного тыка в наших условиях ничем не хуже любого другого. И имеет то реальное преимущество, что изредка срабатывает. 
avatar
Андрей Аперов,  Не ну с 18 летнем стажем и такой пустотой в коробке передач цель одна: инфоцыганить! Ибо за 18 лет можно было уже свое что-то рабочее изобрести и зарабатывать. Поэтому пока весело это все… он еще и минусует) ну прям как обиженка инфоцыганская.
avatar
Head of Algonaft'$, от вас пока только словесный понос, конструктива ноль. Автор показывает, как можно идею реализовать на базе Python. Для меня не так важна суть идеи, понятно, что грааль на конференции раскрывать не будут, да и не жила бы идея столько лет после публичного озвучивания. Но мне полезно увидеть общий механизм реализации. Если вам есть что озвучить в противовес первоначальной идеи, вперёд, ждём пост с граалем. А гадить в комментах без предложения альтернативы — ваш опыт должен подсказать, чего это признак…
avatar
Я считаю что в Лонг зайти надо 3.008 дневных свечей было! иначе будет коловранция оберзенции!
avatar
это я удачно зашел) только вчера ковырялся в вашем коде из прошлого поста и как раз хотел эту стратегию протестировать, а тут все готовое почти
правда есть желание поменять условия входа и попробовать сделать трендовуху. попробовать отыграть будущее укрепление рубля на фьючах руб-юань
avatar
SVG, код открыт пожалуйста. Если найдёте какие-то ошибки предложите пожалуйста пул реквест на гитхабе 🙏
1. Две зеленые свечки и лонг.
2.Вчера зеленая — сегодня лонг.
3.Наклоны индикаторов и лонг сегодня.
4.Цена открытия > цены закрытия, и лонг.
5.Утреняя сессия растет — лонгуем основную.
6. итд....
Это всё одно и то же, системой и не пахнет. Беда в том что слишком всё логично и пусто. Т.е. каждый кто имеет хоть 5 грамм мозга додумается до такого. Я просто уверен все новички пробуют это в начале пути. Но это не система, внутри нет системы, это ковыряние на результат. В чем идея то? Её нет! Или всем пофик?
Подобные «ТС» должны пролетать мимо и без тестирования. Не стоит тратить внимание и время на подобное. Ценность нулевая.
avatar
22022022, на самом деле я не верю в какие-то секретные супер прибыльные системы.

Если говорить про инвестиции, та же условная идея «не класть все яйца в одну корзину» на длительном временном интервале даёт хорошие результаты.

Но если мы говорим про трейдинг из него гораздо легче вылететь если делаешь что-то не так
Михаил Шардин, возможно Вы правы. Сам прошел через море тупых и кринжовых алгоритмов, и пока жив. Но сегодня уже есть понимание где мы самообманываемся, отсюда иммунитет.
Сразу вижу, вход/выход по времени, т.е. без стопа по деньгам, кочергааа… Это значит нужно прикручивать риск и снова крутить настройку. Крутим настройку — портим винрейт… итд.
Ну и всегда перед тем как пустить в бой ТС, спрашиваю себя, почему рынок не сможет поиметь меня? Будет сложнее меня поиметь?)) Это просто статистика или что-то еще. Спокойнее когда кажется что есть что-то еще кроме сухой статистики.
Допускаю что это все такой же уровень абстракции, следующий уровень абстракции, и такой же бред!)))
avatar
Какая-то странная система. Сформировались условия для входа, далее подкидываем монетку и, в зависимости от результата, входим (или не входим). 
avatar
Riskplayer, а в чем странность? Многие системы монетку подкидывают же.
avatar
Diamond, это вот такие системы и подкидывают) Нормальная система вин рейт ставит от 80%.
avatar
George Martin, важен же не винрейт, а итоговое матожидание системы.
avatar
Diamond, уберите эти заумные слова. Теоретики. Мы работаем по показателю винрейта до и после сделки. Это реальность. До, это уровень данных за определенный период. чем короче, тем выше. Суммарно откатать что-то на бэктесте, что оно не сливает под ноль, это только 50% задачи. Теперь ее нужно под текущие условия вводить. А это на машинном обучении только идет норм. 
avatar

George Martin, вы имеете ввиду что вас важно не просто, чтобы стратегия показывала прибыль в долгосрочном тесте, а чтобы она имела высокий винрейт в моменте?

Какие модели ML позволяют эффективно подстраиваться под рыночные изменения и избегать устаревания стратегии?

 

 

Михаил Шардин, синегрия двух этих показателей будет давать хороший результат. Вопрос не устаревания стратегии, она может быть одна и та же, вопрос о новых входящих данных исходя из которых вы корректируете стратегию. Я не программист. Есть сервисы, которые берут массивы данных и на машинном обучении строят исходя из цифр графические модели, где указывается в % и днях винрейт тех данных (диапазонов) которые будут рабочими. Т.е. они все считают каждый день… Перестройка момента идет постоянно. Базовые параметры это накопление ОИ, объема, колл пут саппорт итд. 
avatar
Diamond, зачем? Мои системы не подкидывают монеток для принятия решения.  
avatar
SergeyJu, если подкидывание монетки при успехе дает условно 5 рублей, а при неудаче забирает 1 рубль, то почему нет?
avatar
Diamond, если соотношение 5 к 1 в мою пользу, глупо еще и подкидывать монетку. 
avatar
Riskplayer, кстати. Думал не отметит никто. Т.е. есть сетап на вход, но вероятность успеха 50%)) лол бля) это с таким же успехом монетку можно кидать как Вы отметили)
avatar

покупка в 10:00, уже подразумевает что система сломается, вход ведь по маркету? 

во вторых какая то ошибка в цифрах,

Начальный капитал: 100,000 руб.
💵 Конечный капитал: 1104162.00 руб.
📈 Общая доходность: 10.42%

100к -> 1.1 млн 

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

Евгений (synth-lab), когда вы критикуете и это критика конструктивна это хорошо.

Но обычно вместе с критикой ждёшь и каких-то предложений
Жуть какая-то
Винрейт 50% — очень даже норм, если соотношение лосс: профит = хотя бы 1:1.2.
При простом «подкидывании монетки» вы получите тоже винрейт 50%, но соотношение лосс: профит =  не лучше 1:1 — это вам не удастся изменить в свою пользу (если попытаетесь улучшить ratio лосс: профит, то винрейт сразу упадет ниже 50%).
В этом отличие Системы от «подбрасывания монетки».
 
avatar
Va Chen, но никаких возможностей систематически обеспечить 1:1.2 нет и быть не может.
avatar
svgr, почему? Если применить некоторые «фильтры», позволяющие задетектить Моментум и его «молодость» (с достаточно высокой вероятностью), то вполне можно получить 1:1.2 (при винрейте 50%).
Правда, доходность такой системы получается не оч.большая — всего 20-30% годовых…
avatar
Va Chen, моментум употребляют в нескольких значениях, чаще всего в контексте сравнения относительной силы акций. А «Молодость» это что-то типа производной моментума? Не поясните свое сообщение? 
avatar
SergeyJu, ну, имеется ввиду первая треть высоковероятного направленного движения.
У западных трейдеров встречал этот термин (young momentum).
avatar
Va Chen, и Вы научились эту треть обнаруживать в реальном времени? 
avatar
за код на гитхаб-спасибо. возьму как пример, что бы попробывать, что то своё создать
avatar
Gregori, Чайковский в Пермском крае?
Михаил Шардин, да
avatar

в NGработать не будет...
т.к этот актив торгуется не в россии и российская сессия торгов и время входя-выхода не имеет никакого отношения к реальному движению NG...

более того NG это не акция а комод… т.е тренда в нем нет..

надо торговать российский актив типа сбера или газпрома...  или индекс ртс

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

avatar
подобные тесты можно смело гонять на акциях, не заморачиваясь со склейкой фьючей

питон не обязателен… для таких примитивных тестов за глаза хватит QLUA с визуализацией входов-выходов прямо на графиках QUIK

стратегия "вход по тренду — выход по стоп-тейку с закрытием открытой сделки вечером" способна генерировать небольшой профит в тестах на исторических данных

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

если кому-то нужно объяснить, что такое переменный результат, обращайтесь… лишаю иллюзий бесплатно и быстро))

автору совет:

протестируйте стратегию рандомным WFT с несколькими итерациями — и после этого запилите пост про инфоцыгана Резвякова с его стратегиями для верующих))
avatar

Изменил на Гитхабе — в коде была проблема с часовыми поясами. Данные из API брокера приходят в одном часовом поясе: UTC, а биржа работает в другом часовом поясе (UTC+3).


теги блога Михаил Шардин

....все тэги



UPDONW
Новый дизайн