Блог им. IgorK_23a |Начинающий алготрейдер - MACD и искусственный интеллект

    • 31 июля 2025, 15:38
    • |
    • IgorK
  • Еще

Увидел у себя в ленте подписки youtube вот такое видео:
MACD + AI Trading = 1159% Returns?

www.youtube.com/watch?v=b6GKG-vGUyE

Сразу скажу, что заголовок абсолютно кликбейтный: заявленная доходность в 1159% процентов — это за 15 лет, а CAGR этой стратегии гораздо скромнее — 18.8%. Автор продает свой курс.

Но в качестве упражнения решил проверить эту стратегию на индексе турецкой биржи (BIST100).

На чем основана эта стратегия, и другие похожие AI-стратегии из интернета:
— берется классический индикатор, один или набор (в данном видео это две движущихся средних)
— строится ML (machine learning) модель, которая учится предсказывать доходность актива на следующий день (как цифру или как булевое значение: плюс или минус) в зависимости от этого индикатора на основе либо одного предыдущего дня, либо на серии за несколько предыдущих дней

Как и в этом видео, я взял модель Random Forest, натренировал ее на данных по турецкому индексу за 2005-2025 годы с использованием двух скользящих средних (пробовал разные комбинации дней: 5 и 20, 12 и 26 и др.). Модель должна предсказывать движение биржи (вверх или вниз) на день T+1 на основе значений двух средних на день T.



( Читать дальше )
  • обсудить на форуме:
  • MACD

Блог им. IgorK_23a |Начинающий алготрейдер -- чем чаще сделки, тем хуже?..

    • 29 июля 2025, 12:46
    • |
    • IgorK
  • Еще

С утра пораньше возникла мысль насчет сравнения стратегий с частыми и редкими сделками на чувствительность к издержкам. 

Поставлю задачу так: если нужно добиться нетто (то есть с учетом издержек) доходности в R_net, какая должна быть брутто доходность R_gross?

Формулы для случая рекапитализации:

Начинающий алготрейдер -- чем чаще сделки, тем хуже?..



( Читать дальше )

Блог им. IgorK_23a |Начинающий алготрейдер -- снова ИИ и графики

    • 24 июля 2025, 11:34
    • |
    • IgorK
  • Еще
Разрабатываю с помощью ИИ (Github Copilot) свою бэктестинг-систему для алготрейдинга, smart-lab.ru/blog/1183171.php .

Прикрутил такую фишку. Отображаю список всех сделок. Их можно отсортировать по P&L; потом кликнуть, например, на самую убыточную или прибыльную — и она выделится на всех графиках. Можно поизучать в контексте, почему произошли эти убытки и прибыли.
Начинающий алготрейдер -- снова ИИ и графики



( Читать дальше )

Блог им. IgorK_23a |Начинающий алготрейдер -- использую Github copilot

    • 23 июля 2025, 00:06
    • |
    • IgorK
  • Еще
Я работаю над алгоритмом для парного трейдинга, предыдущий пост тут smart-lab.ru/blog/1179670.php .

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

До сих пор у меня не было никакого UI: взаимодействие через консоль, вывод результатов в файлы. Чтобы увидеть графики, приходилось открывать данные через Excel, Tableau, или читать из питона.

Мне это порядком надоело, и я решил прикрутить UI. Взял Github Copilot, и за всего за час надстроил базовый веб-интерфейс над своей системой.
Начинающий алготрейдер -- использую Github copilot

Это первая версия, хочу прикрутить еще много графиков и фишек. Доволен.

Первый раз попробовал Copilot в боевом режиме. Впечатления такие:
— Нужно давать задания маленькими порциями. Если сразу дать большую таску с нетривиальным контекстом — сделает плохо или вообще не сделает (не скомпилируется)

( Читать дальше )

Блог им. IgorK_23a |Начинающий алготрейдер -- хороший результат на тестах

    • 14 июля 2025, 13:05
    • |
    • IgorK
  • Еще

Продолжаю тестировать описанный тут алгоритм, основанный на парном трейдинге: smart-lab.ru/blog/1176485.php

Собрал сделки на всех парах в одну кривую — получил вот такой красивый результат на out-of-sample данных.
Начинающий алготрейдер -- хороший результат на тестах

Что ещё нужно сделать: 
— Попытаться придумать критерий, чтобы еще на этапе тестирования отсеивать плохие пары.
— Проработать stop-loss'ы (и в целом продумать risk management). Пока единственное условие выхода — это боллингер.


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

Что заработало:
— Фильтр Калмана вместо OLS.
— Оптимизация параметров в фильтре Калмана не через прибыль, а через статистические свойства спреда.
— В статистических оценках — использование robust подходов, например https://medium.com/@aakash013/outlier-detection-treatment-z-score-iqr-and-robust-methods-398c99450ff3



( Читать дальше )

Блог им. IgorK_23a |Начинающий алготрейдер - парный трейдинг на BIST

    • 06 июля 2025, 16:02
    • |
    • IgorK
  • Еще
Снова вернулся к алготрейдингу, посмотрел на парный трейдинг свежим взглядом — и получил что-то интересное.

Идея простая:
   Если пара ведёт себя «правильно» с точки зрения статистики, она неизбежно будет прибыльной на большой выборке.

Что значит «правильно»:
   1. Наличие возврата к среднему (mean reversion)
   2. Адекватный half-life у спреда, максимум несколько дней
   3. Стабильные коэффициенты регрессии

Алгоритм:
    — Использую фильтр Калмана для нахождения коэффициентов регрессии. 
    — Сначала подбираю параметры в фильтре Калмана так, чтобы соблюдались все условия выше.
    — И только потом оптимизирую вход и выход по коэффициенту Шарпа.

Реализовал этот алгоритм на C#, с вызовом Python-процедуры для выполнения ADF-теста.

Тестировал на BIST (Турция):

25 случайных large-cap, все пары с одинаковым сектором
    — Средний CAGR: 2% на out-of-sample 
    — По всей видимости, в крупных бумагах сидят роботы, которые высасывают арбитраж.



( Читать дальше )

Блог им. IgorK_23a |Начинающий алготрейдер - Мысль о бэктестинге

    • 09 декабря 2024, 17:20
    • |
    • IgorK
  • Еще
В комментариях к своим предыдущим постам увидел довольно много скептических мыслей насчет бэктестинга (тестирования на исторических данных), в духе «на бэктестинге всегда всё хорошо, а в боевом режиме слив».

Я, конечно, на 100% согласен, что
Если на бэктестинге хорошие результаты, то это еще ничего не гарантирует в боевом режиме.

Но ведь основная крутость бэктестинга не в этом, а в том, что
Если на бэктестинге фигня, то и в боевом режиме скорее всего будет фигня.

Это позволяет отсекать плохие идеи, которые интуитивно кажутся перспективными. 


Блог им. IgorK_23a |Начинающий алготрейдер - Книги

    • 07 декабря 2024, 02:32
    • |
    • IgorK
  • Еще
Нашел еще две книги по алго, конкретно про парному трейдингу и статистическому арбитражу:

Ganapathy Vidyamurthy — Pairs Trading: Quantitative Methods and Analysis
Andrew Pole — Statistical Arbitrage: Algorithmic Trading Insights and Techniques 

В дополнение к той, что я уже прочитал:
Ernie Chan — Algorithmic Trading: Winning Strategies and Their Rationale

(Все находятся в интернете в PDF).

Также хочу освоить методы алготрейдинга с производными инструментами (фьючерсами, опционами), и применение машинного обучения. По машинному обучению вот эта книжка выглядит круто:
Stefan Jansen — Machine Learning for Algorithmic Trading

Но блин, где взять столько времени, чтобы всё это прочитать и применить… Не знаю, стоит ли сделать ставку на одно направление (например арбитраж), и ковырять его до победного конца, или попробовать несколько направлений, в надежде, что что-то быстро даст отдачу. 

Блог им. IgorK_23a |Начинающий алготрейдер - Проверка алгоритма на разных криптопарах

    • 07 декабря 2024, 00:58
    • |
    • IgorK
  • Еще
В прошлом посте я писал про свой алгоритм для pair trading, который показал очень хорошие результаты на бэктесте на паре BTC — ETH.

За прошедшие две недели я смог проверить его на других парах. Результаты не такие впечатляющие, но в целом стабильные.
На всех графиках я подбирал оптимальные параметры для периода 2022-2023, а 2024 год использовался как проверочный (out of sample).

Начинающий алготрейдер - Проверка алгоритма на разных криптопарах

В рабочем режиме я хочу запускать алгоритм не на одной паре, а одновременно на 10-15 парах, чтобы сгладить Equity. Пока буду экспериментировать с самим алгоритмом, пробовать разные его вариации. В основе оставлю фильтр Калмана: он показывает лучшие результаты, чем метод наименьших квадратов.

Блог им. IgorK_23a |Начинающий алготрейдер

    • 25 ноября 2024, 15:10
    • |
    • IgorK
  • Еще
С мая 2024 начал заниматься алготрейдингом. 

Прочитал четыре книжки:
1) Halls-Moore — Successful Algorithmic Trading
2) Chan — Quantitative Trading
3) Chan — Algorithmic Trading
4) Chan — Machine Trading 

Сейчас читаю:
5) Davey — Building Winning Algorithmic Trading Systems.

Реализовал Pair Trading на 1-минутных данных, как описано в книге #1, долго и упорно тестил на разных парах (BTC — ETH, золото — серебро, Google — Microsoft, S&P — EU 50, ...)  — но ничего не получилось. В лучшем случае получался плюс без торговых издержек, но добавление спрэда и комиссий сразу же уводило Equity в минус.

Перешел на 1-дневные данные — сразу получил хороший результат на паре BTC — ETH. Считаю коэффициенты линейной регрессии с помощью фильтра Кальмана (как описано в книге #3). В алгоритме два параметра: z-score входа и z-score выхода. Тренировал на 2022-2023 году, и вот Equity за 2020-2024 (с учетом спреда и коммиссий).
Начинающий алготрейдер
Я нашёл Грааль?.. Поскольку мало сделок для утверждения о робастности (109 сделок за почти 5 лет), буду обязательно тестить на других парах и инструментах, но эта Equity меня очень возбудила.

( Читать дальше )

....все тэги
UPDONW
Новый дизайн