(Backtest и overfitting: как отличить закономерность от подгонки)
Это был зум. Как и в последующие несколько раз — это были видео встречи, скучные, однообразные и очень долгие. Тихон стал неким виртуальным коллегой, наполненным излишним альтруизмом и чрезмерным оптимизмом. Но один раз он меня выбесил окончательно. Сравнивая наш продукт с бутиковым «Hermes», декларируя это как всезнающий пень. Во мне кипело всё нутро и медленно поднималось из тазобедренного сустава к ушам. Уже заказывал такси и прокладывая маршрут через магазин для покупки того самого злосчастного шарфика Эрме.Я взорвался и сказал всё, что думаю о его умопомрачениях в стиле грузчика, уронившего рояль на ногу.
Тихон успокоился, я тоже. После этого мы подружились. Его уровень экспертизы в большинстве вопросов, связанных с практическим применением, настолько высок, что, задав простой вопрос, вы получите маленькую лекцию минут на 90. Он объяснит всё подробно, вникая в основу, и даст ответ: реализуемо это на практике или нет. Конечно, с полным объяснением: почему?
Так же как и несколько докладов Тихона на конференциях «Биржевого Алгоритма». Невозможно было бы писать эти статьи без него. За что я ему благодарен.
Есть цифра, которая обманывает почти всех новичков и даже иногда профессионалов: красивый Sharpe на бэктесте. Она ничего не говорит о том, заработаете вы в реальности или нет — она говорит только о том, насколько хорошо вы подогнали параметры под уже случившееся прошлое.
Первая и главная ошибка — подглядывание в данные
Тихон Павлов, quantitative researcher ФК «Викинг», начинает разговор о бэктестинге не с философии, а с самой частой технической ошибки, которую видит у новичков постоянно:
Это был зум. Как и в последующие несколько раз — это были видео встречи, скучные, однообразные и очень долгие. Тихон стал неким виртуальным коллегой, наполненным излишним альтруизмом и чрезмерным оптимизмом. Но один раз он меня выбесил окончательно. Сравнивая наш продукт с бутиковым «Hermes», декларируя это как всезнающий пень. Во мне кипело всё нутро и медленно поднималось из тазобедренного сустава к ушам. Уже заказывал такси и прокладывая маршрут через магазин для покупки того самого злосчастного шарфика Эрме.Я взорвался и сказал всё, что думаю о его умопомрачениях в стиле грузчика, уронившего рояль на ногу.
Тихон успокоился, я тоже. После этого мы подружились. Его уровень экспертизы в большинстве вопросов, связанных с практическим применением, настолько высок, что, задав простой вопрос, вы получите маленькую лекцию минут на 90. Он объяснит всё подробно, вникая в основу, и даст ответ: реализуемо это на практике или нет. Конечно, с полным объяснением: почему?
Так же как и несколько докладов Тихона на конференциях «Биржевого Алгоритма». Невозможно было бы писать эти статьи без него. За что я ему благодарен.
Есть цифра, которая обманывает почти всех новичков и даже иногда профессионалов: красивый Sharpe на бэктесте. Она ничего не говорит о том, заработаете вы в реальности или нет — она говорит только о том, насколько хорошо вы подогнали параметры под уже случившееся прошлое.
Первая и главная ошибка — подглядывание в данные
Тихон Павлов, quantitative researcher ФК «Викинг», начинает разговор о бэктестинге не с философии, а с самой частой технической ошибки, которую видит у новичков постоянно:
«Первое, с чего нужно начать, когда мы говорим про бэктестинг, — полностью исключить возможность подглядывания в выборку, на которой происходит обучение. Классическая ошибка, которую я наблюдаю неоднократно у людей, только начинающих работать с машинным обучением, — они не понимают, как правильно делать нормализацию данных. Нам нужно правильно разбить выборку на обучающую, валидационную и тестовую, и очень хотелось бы производить именно walk-forward тестирование».
Ошибка эта настолько частая, что он видит её мгновенно просто по структуре кода: «Если нормализация идёт перед разделением на выборки — мы обучаем модель на данных, которые уже подготовлены, заглянув в будущее. Неочевидный момент, но ошибка очень характерная».
Три теста, которые отличают закономерность от подгонки
Дальше Тихон описывает конкретные проверки, которые он применяет к любой стратегии, прежде чем поверить в её результат:
Дальше Тихон описывает конкретные проверки, которые он применяет к любой стратегии, прежде чем поверить в её результат:
«Достаточно неплохо разбить данные вручную на несколько фаз рынка — рост, боковик, падение — или по волатильности, низкая и высокая. Если стратегия зарабатывает только на одном участке — скорее всего, это просто удачно подобранные параметры, не более».
Второй тест — намеренная порча данных: «Искусственное зашумление — мы берём и преднамеренно чуть-чуть портим данные, сдвигаем уровни открытия или закрытия. Если это зашумление приводит к падению P&L больше чем на 30% — скорее всего, нам просто повезло подобрать параметры под конкретную рыночную ситуацию, и модель нерабочая».
Третий, самый требовательный — тестирование на синтетике: «Подготовка синтетических данных — огромная сложная тема, потому что в них должны сохраняться все зависимости, которые есть в оригинале. Представим данные по Сберу — и попробуем сгенерировать синтетику, как будто Сбер отказался от дивидендов. Если модель хорошо работает и на синтетике, и на реальных данных — скорее всего, это действительно рабочая модель».
Информационный критерий Акаике (AIC) — математический штраф за переобучение
Что это и зачем нужна:
Фундаментальная формула теории информации, которая оценивает качество статистической модели, накладывая жесткий «штраф» за её сложность. Она прямо отвечает на вопрос: «Стоит ли добавлять новый параметр в стратегию, если Sharpe вырос?».
Расшифровка переменных:
● AIC — значение информационного критерия (чем оно ниже, тем лучше модель).
● k — количество параметров в модели (например, периоды скользящих средних, пороги RSI, уровни стоп-лосса).
● ln(L̂) — логарифм максимального правдоподобия модели (насколько точно модель описывает исторические данные).
Смысл:
Эта формула — математическое обоснование слов Романа из статьи: «у таких систем, как правило, небольшой набор параметров. Чем меньше параметров — тем меньше вероятность переобучения». Когда вы добавляете новый параметр в бэктест, правдоподобие всегда растет (модель лучше подгоняется под историю). Но формула Акаике добавляет к этому штраф. Если рост точности не перекрывает штраф за сложность, AIC растет, и модель признается переобученной. Формула доказывает: если для получения высокого Sharpe вам понадобилось 15 параметров — вы не нашли закономерность, вы просто запомнили шум.
Спор о том, значит ли бэктест вообще что-то
Дальше в разговор вступают сразу двое — и здесь стоит дать им спорить друг с другом, а не пересказывать по очереди, потому что они цепляются за одну и ту же мысль с разных сторон.
Антон Ковалев, Managing Partner bdpb.trading, специалист по крипто-арбитражу, открывает тему радикально: бэктест сам по себе не значит ничего.
Что это и зачем нужна:
Фундаментальная формула теории информации, которая оценивает качество статистической модели, накладывая жесткий «штраф» за её сложность. Она прямо отвечает на вопрос: «Стоит ли добавлять новый параметр в стратегию, если Sharpe вырос?».
Расшифровка переменных:
● AIC — значение информационного критерия (чем оно ниже, тем лучше модель).
● k — количество параметров в модели (например, периоды скользящих средних, пороги RSI, уровни стоп-лосса).
● ln(L̂) — логарифм максимального правдоподобия модели (насколько точно модель описывает исторические данные).
Смысл:
Эта формула — математическое обоснование слов Романа из статьи: «у таких систем, как правило, небольшой набор параметров. Чем меньше параметров — тем меньше вероятность переобучения». Когда вы добавляете новый параметр в бэктест, правдоподобие всегда растет (модель лучше подгоняется под историю). Но формула Акаике добавляет к этому штраф. Если рост точности не перекрывает штраф за сложность, AIC растет, и модель признается переобученной. Формула доказывает: если для получения высокого Sharpe вам понадобилось 15 параметров — вы не нашли закономерность, вы просто запомнили шум.
Спор о том, значит ли бэктест вообще что-то
Дальше в разговор вступают сразу двое — и здесь стоит дать им спорить друг с другом, а не пересказывать по очереди, потому что они цепляются за одну и ту же мысль с разных сторон.
Антон Ковалев, Managing Partner bdpb.trading, специалист по крипто-арбитражу, открывает тему радикально: бэктест сам по себе не значит ничего.
«Для меня бэктест в классическом понимании в принципе ничего не значит. Имеет значение фундаментальная идея и процесс, который мы моделируем. Цены меняются, потому что люди принимают решения и жмут кнопки, а не потому что одна средняя пересекла другую снизу вверх. Если модель позволяет точнее описать и быстрее предсказать какой-то конкретный процесс — в бэктесте есть смысл. Если нет — любой красивый результат на истории — это просто оверфиттинг».
Роман, квант в алгофонде, отвечал на тот же вопрос отдельно — но пришёл почти к дословно той же формулировке, даже не зная, что скажет Антон:
«Здесь у меня самая главная философия заключается в том, что любую торговую систему, которую я делаю, я должен понимать через физику процесса — почему она должна приносить деньги. Если я нашёл какие-то статистические показатели и хороший equity, но не могу объяснить, почему стратегия приносит деньги, — вероятность, что она будет работать, невысока».
Это не совпадение реплик одного и того же человека — это два разных специалиста, независимо друг от друга пришедшие к одному и тому же правилу. Роман тут же добавляет второй принцип, который у Антона звучал скорее как личное признание, а у него — как система:
«Следующий принцип — на рынке работают простые подходы. Можно наворотить целую кучу нейросетей, но мой опыт показывает, что работают более простые методы. Да, статистика помогает, да, эконометрика работает, да, где-то работают нейросети — но не какие-то хитрые сложные модели, которые вообще невозможно понять. Из этих двух принципов вытекает, что торговая система должна быть простая и объяснимая, а у таких систем, как правило, небольшой набор параметров. Чем меньше параметров — тем меньше вероятность переобучения».
История про «вундервафлю» — и правило Романа для проверки
«Как и у всех — пытался собрать вундервафлю, которая будет видеть будущее, — признаётся Антон. — Как оказалось, всё сильно проще: можно обойтись регрессиями, сигмами и Z-score, а будущее достаточно видеть на несколько секунд вперёд».
Роман, услышав такое признание, скорее всего, кивнул бы — потому что у него есть готовый количественный критерий именно для такого случая, который превращает философию «физики процесса» в конкретную проверяемую цифру:
«Для того чтобы понять, что система работает, достаточно полноценного бэктеста на длинной выборке, а дальше я использую walk-forward анализ. Если около 70% интервалов, которые система не видела и на которых не обучалась, показывают прибыльность — такую систему пускаю в прод».
Walk-forward анализ — это метод тестирования торговой стратегии, при котором её оптимизируют на одном периоде истории, а затем сразу проверяют на следующем, абсолютно новом для неё участке данных. Этот подход нужен для того, чтобы убедиться, что система действительно способна зарабатывать в реальном времени на меняющемся рынке, а не просто идеально подстроилась под прошлое.
Разница между «вундервафлей» Антона и системой Романа — ровно в этом пороге. Не «стратегия один раз показала красивый график», а «стратегия стабильно прибыльна на семи интервалах из десяти, которые она не видела при обучении».
Разница между «вундервафлей» Антона и системой Романа — ровно в этом пороге. Не «стратегия один раз показала красивый график», а «стратегия стабильно прибыльна на семи интервалах из десяти, которые она не видела при обучении».
Ожидаемый максимальный коэффициент Шарп при множественных тестированиях (Математическое выражение закона Гудхарта)
Что это и зачем нужна:
Это формула из теории экстремальных значений и статистики множественных сравнений (Multiple Testing Bias). Она математически описывает Закон Гудхарта («Когда показатель становится целью, он перестает быть хорошим показателем») в контексте алготрейдинга. Она показывает, какой Sharpe вы получите случайно, просто перебрав много вариантов стратегии.
Расшифровка переменных:
● E[SR_max] — ожидаемый максимальный коэффициент Шарп среди всех протестированных вариантов.
● σ (сигма) — стандартное отклонение коэффициентов Шарп (волатильность результатов ваших бэктестов).
● N — количество протестированных вариантов стратегии (количество «подглядываний» в данные, подборок параметров).
● ln — натуральный логарифм.
Смысл:
Эта формула — приговор для завышенного Sharpe на бэктесте. Допустим, вы или ваш AI протестировали 10 000 вариантов параметров. Даже если рынок — это чистый случайный шум, формула говорит, что максимальный Sharpe среди этих 10 000 тестов будет равен примерно 4.29. То есть ваш «гениальный» Sharpe 3.2 мог быть получен просто потому, что вы перебрали достаточно много комбинаций. Закон Гудхарта в действии: как только вы начинаете оптимизировать стратегию под максимальный Sharpe (делаете его целью), этот Sharpe перестает отражать реальность и становится мерой вашего переобучения. Это математическое доказательство того, почему бэктест без поправки на количество тестов не стоит ничего.
Где реально теряются деньги — и снова два взгляда на одно и то же
Тихон выделяет два конкретных момента, где команды сжигают капитал — и оба находятся вне самого кода модели:
Что это и зачем нужна:
Это формула из теории экстремальных значений и статистики множественных сравнений (Multiple Testing Bias). Она математически описывает Закон Гудхарта («Когда показатель становится целью, он перестает быть хорошим показателем») в контексте алготрейдинга. Она показывает, какой Sharpe вы получите случайно, просто перебрав много вариантов стратегии.
Расшифровка переменных:
● E[SR_max] — ожидаемый максимальный коэффициент Шарп среди всех протестированных вариантов.
● σ (сигма) — стандартное отклонение коэффициентов Шарп (волатильность результатов ваших бэктестов).
● N — количество протестированных вариантов стратегии (количество «подглядываний» в данные, подборок параметров).
● ln — натуральный логарифм.
Смысл:
Эта формула — приговор для завышенного Sharpe на бэктесте. Допустим, вы или ваш AI протестировали 10 000 вариантов параметров. Даже если рынок — это чистый случайный шум, формула говорит, что максимальный Sharpe среди этих 10 000 тестов будет равен примерно 4.29. То есть ваш «гениальный» Sharpe 3.2 мог быть получен просто потому, что вы перебрали достаточно много комбинаций. Закон Гудхарта в действии: как только вы начинаете оптимизировать стратегию под максимальный Sharpe (делаете его целью), этот Sharpe перестает отражать реальность и становится мерой вашего переобучения. Это математическое доказательство того, почему бэктест без поправки на количество тестов не стоит ничего.
Где реально теряются деньги — и снова два взгляда на одно и то же
Тихон выделяет два конкретных момента, где команды сжигают капитал — и оба находятся вне самого кода модели:
«Деньги теряются в основном на двух этапах. Первый — постановка задачи для research (прим. Исследование). Это рискованное мероприятие: мы выделяем ресурсы, как минимум на зарплату персонала, и выбираем гипотезу для тестирования, и далеко не факт, что она окажется рабочей. Второй — переход от бэктеста к реальности. Классический бэктестер не учитывает ваше влияние на рынок — impact. На бэктесте всё работает, а потом вы приходите с сотнями миллионов в стакан, и почему-то всё начинает сыпаться».
Антон формулирует ту же проблему компактнее: «Чаще всего — фундаментальная проблема с пониманием природы рыночной конкуренции: кто твой контрагент и почему ты вообще должен зарабатывать».
«Мистер Z» — частный управляющий алгофондом на медленных стратегиях, который тоже попросил остаться инкогнито, — указывает на третью, более узкую точку провала, которая как будто примиряет два предыдущих взгляда, показывая, где именно они сходятся физически:
«Мистер Z» — частный управляющий алгофондом на медленных стратегиях, который тоже попросил остаться инкогнито, — указывает на третью, более узкую точку провала, которая как будто примиряет два предыдущих взгляда, показывая, где именно они сходятся физически:
«Чаще всего деньги теряются на стыке исследования и исполнения, когда недооценивают реальную торговую механику. Команда тестирует идею как математическую гипотезу, а рынок исполняет её как грязный операционный процесс — задержки, комиссии, проскальзывание. Многие команды оптимизируют красивый backtest, хотя должны оптимизировать устойчивость гипотезы к грязной реальности рынка».
«Мистер Z», отвечая на вопрос про микроструктурные данные, добавляет важную деталь, которая тоже перекликается с общей темой переоценки красивых метрик:
«Order book даёт преимущество только там, где ты умеешь оценить вероятность исполнения и adverse selection. Чаще всего переоценивают статичный imbalance и глубину стакана, потому что без очереди, отмен заявок и агрессора это сложно правильно интерпретировать».
(прим. Adverse selection (неблагоприятный отбор) в трейдинге — это ситуация, когда ваша заявка исполняется именно тогда, когда рынок идёт против вас, так как вашим контрагентом чаще всего оказывается более информированный игрок. Этот термин нужен для понимания скрытых убытков алгоритмических систем, когда лимитные ордера робота массово «выбираются» крупными участниками рынка непосредственно перед резким изменением цены.)
Сколько нужно времени, чтобы поверить в стратегию
Ответы здесь расходятся сильнее всего, и это по-своему показательно — у каждого свой персональный порог доверия.
Сколько нужно времени, чтобы поверить в стратегию
Ответы здесь расходятся сильнее всего, и это по-своему показательно — у каждого свой персональный порог доверия.
Тихон отвечает предельно точно, отказываясь давать одну цифру: «Всё зависит от частоты сделок. Есть стратегии с тысячами сделок в секунду, есть — с одной сделкой в две недели. Время после запуска будет варьироваться от трёх торговых дней до трёх месяцев».
Антон Ковалев работает иначе — не ждёт вообще: «Сразу запускаем в боевой режим с минимальной экспозицией. Бэктест делаем очень редко и только для докрутки отдельных аспектов стратегии».
Ещё один анонимный собеседник, попросивший вообще не упоминать его имя, называет куда более конкретный личный ориентир: «Мне достаточно 50 сделок, чтобы понять, работает она или нет».
Три разных ответа — и все по-своему правильные, потому что зависят от частоты торговли и готовности рисковать реальными деньгами ради скорости проверки.
Быстрый взгляд: как изменился подход к бэктестингу за 15 лет
Быстрый взгляд: как изменился подход к бэктестингу за 15 лет
Правила входа: как не поверить в красивую ложь
1. Исключите подглядывание в будущее до того, как запустите код. Нормализация данных должна делаться только после разделения на обучающую и тестовую выборки. Если вы сделали нормализацию до split — вы уже заглянули в будущее. Модель покажет красивые результаты, а в реале сольёт всё.
2. Проверяйте стратегию тремя тестами. Первый — разбивка на фазы рынка (рост, боковик, падение). Если стратегия работает только на одной фазе — это подгонка. Второй — искусственное зашумление данных. Если небольшой сдвиг цен убивает P&L больше чем на 30% — стратегия хрупкая. Третий — синтетические данные. Если стратегия работает и на синтетике, и на реале — это закономерность.
3. Используйте walk-forward анализ. Не верьте стратегии, которая один раз показала красивый график. Проверяйте, сколько интервалов из десяти, которые модель не видела при обучении, были прибыльными. Если меньше семи из десяти — не пускайте в прод.
4. Помните: чем меньше параметров, тем лучше. На рынке работают простые подходы. Если для высокого Sharpe вам понадобилось 15 параметров — вы не нашли закономерность, вы запомнили шум. Информационный критерий Акаике (AIC) штрафует за сложность. Если рост точности не перекрывает штраф — модель переобучена.
5. Сразу запускайте в боевой режим, но с минимальной экспозицией. Бэктест — это гипотеза, которая ещё не встретилась с реальностью. Не ждите идеальных условий — они не наступят. Запускайтесь с минимальным капиталом и смотрите, как стратегия ведёт себя в грязной реальности: задержки, комиссии, проскальзывание, impact.
Часто задаваемые вопросы (без занудства)
1. Что такое walk-forward анализ и зачем он нужен?
Это метод тестирования стратегии, при котором вы оптимизируете её на одном периоде истории, а затем проверяете на следующем, абсолютно новом участке данных. Это единственный способ убедиться, что система способна зарабатывать в реальном времени на меняющемся рынке, а не просто идеально подстроилась под прошлое.
2. Почему Sharpe 3.2 на бэктесте может быть ложью?
Потому что если вы протестировали 10 000 вариантов параметров, даже на случайных данных максимальный Sharpe среди них будет около 4.29. Ваш Sharpe 3.2 мог быть получен просто потому, что вы перебрали достаточно много комбинаций. Закон Гудхарта: как только вы делаете Sharpe целью, он перестаёт отражать реальность.
3. Что такое «подглядывание в данные» и как его избежать?
Это когда информация из тестовой выборки (будущего) попадает в процесс обучения модели. Классический пример: нормализация данных до разделения на train/test. Если вы сделали нормализацию до split, статистика для масштабирования вычислялась с учётом будущих данных. Нормализация — только после разбивки.
4. Сколько сделок нужно, чтобы понять, работает стратегия или нет?
Зависит от частоты. Тихон говорит: «от трёх торговых дней до трёх месяцев». Антон запускает сразу с минимальной экспозицией — не ждёт. Кто-то говорит: «мне достаточно 50 сделок». Все ответы правильные — они зависят от частоты торговли и готовности рисковать реальными деньгами.
5. Как проверить стратегию на устойчивость?
Тремя способами. Первый — разбить историю на фазы рынка: если стратегия работает только на одной фазе — это подгонка. Второй — искусственно зашумлить данные: если небольшой сдвиг цен убивает P&L больше чем на 30% — стратегия хрупкая. Третий — синтетические данные: если стратегия работает и на синтетике, и на реале — это закономерность.
6. Где реально теряются деньги при переходе от бэктеста к реальности?
На двух этапах. Первый — постановка задачи для research: вы тратите ресурсы на гипотезу, которая может оказаться нерабочей. Второй — impact: на бэктесте всё работает, а потом вы приходите с сотнями миллионов в стакан, и почему-то всё начинает сыпаться. Реальный рынок — это грязный операционный процесс, а не чистая математика.
7. Какая главная философия успешной стратегии?
Ты должен понимать физику процесса — почему рынок должен платить тебе деньги. Если ты не можешь объяснить, почему стратегия работает, — она не будет работать. И чем проще стратегия, тем лучше. На рынке работают простые подходы с небольшим набором параметров. Сложность — враг стабильности.
TOTAL
Красивый бэктест — это не доказательство рабочей стратегии, а гипотеза, которая ещё не встретилась с реальностью. Разница между закономерностью и подгонкой — не в том, насколько высок Sharpe, а в том, можете ли вы объяснить, почему рынок вообще должен платить вам деньги.
Все профессионалы пришли к одной мысли разными словами: физика процесса, природа конкуренции, устойчивость к грязной реальности. Если стратегия ломается от небольшого зашумления данных — она хрупкая. Если она работает только на одном участке рынка — вы нашли совпадение, а не закономерность. Если вы не можете объяснить, почему она должна приносить деньги, — она не принесёт.
Ваш Sharpe 3.2 может быть настоящим. Но проверить это можно только одним способом: попытаться его сломать самостоятельно, раньше, чем это сделает рынок.
Ближайшее мероприятие 9 октября 2026 года. Конференция "Биржевой алгоритм - 2026". Прикладные знания и авторитетные мнения. Мы соберем экспертов в управлении активами и алгоритмическом трейдинге. Подробности на странице мероприятия (http://algoclub.pro/mainevent)
Статья создана «Биржевым Алгоритмом». Копирование без ссылки на источник — нарушение авторских прав. Мы это отслеживаем и преследуем. Даже если вы думаете, что никто не заметит.
1. Исключите подглядывание в будущее до того, как запустите код. Нормализация данных должна делаться только после разделения на обучающую и тестовую выборки. Если вы сделали нормализацию до split — вы уже заглянули в будущее. Модель покажет красивые результаты, а в реале сольёт всё.
2. Проверяйте стратегию тремя тестами. Первый — разбивка на фазы рынка (рост, боковик, падение). Если стратегия работает только на одной фазе — это подгонка. Второй — искусственное зашумление данных. Если небольшой сдвиг цен убивает P&L больше чем на 30% — стратегия хрупкая. Третий — синтетические данные. Если стратегия работает и на синтетике, и на реале — это закономерность.
3. Используйте walk-forward анализ. Не верьте стратегии, которая один раз показала красивый график. Проверяйте, сколько интервалов из десяти, которые модель не видела при обучении, были прибыльными. Если меньше семи из десяти — не пускайте в прод.
4. Помните: чем меньше параметров, тем лучше. На рынке работают простые подходы. Если для высокого Sharpe вам понадобилось 15 параметров — вы не нашли закономерность, вы запомнили шум. Информационный критерий Акаике (AIC) штрафует за сложность. Если рост точности не перекрывает штраф — модель переобучена.
5. Сразу запускайте в боевой режим, но с минимальной экспозицией. Бэктест — это гипотеза, которая ещё не встретилась с реальностью. Не ждите идеальных условий — они не наступят. Запускайтесь с минимальным капиталом и смотрите, как стратегия ведёт себя в грязной реальности: задержки, комиссии, проскальзывание, impact.
Часто задаваемые вопросы (без занудства)
1. Что такое walk-forward анализ и зачем он нужен?
Это метод тестирования стратегии, при котором вы оптимизируете её на одном периоде истории, а затем проверяете на следующем, абсолютно новом участке данных. Это единственный способ убедиться, что система способна зарабатывать в реальном времени на меняющемся рынке, а не просто идеально подстроилась под прошлое.
2. Почему Sharpe 3.2 на бэктесте может быть ложью?
Потому что если вы протестировали 10 000 вариантов параметров, даже на случайных данных максимальный Sharpe среди них будет около 4.29. Ваш Sharpe 3.2 мог быть получен просто потому, что вы перебрали достаточно много комбинаций. Закон Гудхарта: как только вы делаете Sharpe целью, он перестаёт отражать реальность.
3. Что такое «подглядывание в данные» и как его избежать?
Это когда информация из тестовой выборки (будущего) попадает в процесс обучения модели. Классический пример: нормализация данных до разделения на train/test. Если вы сделали нормализацию до split, статистика для масштабирования вычислялась с учётом будущих данных. Нормализация — только после разбивки.
4. Сколько сделок нужно, чтобы понять, работает стратегия или нет?
Зависит от частоты. Тихон говорит: «от трёх торговых дней до трёх месяцев». Антон запускает сразу с минимальной экспозицией — не ждёт. Кто-то говорит: «мне достаточно 50 сделок». Все ответы правильные — они зависят от частоты торговли и готовности рисковать реальными деньгами.
5. Как проверить стратегию на устойчивость?
Тремя способами. Первый — разбить историю на фазы рынка: если стратегия работает только на одной фазе — это подгонка. Второй — искусственно зашумлить данные: если небольшой сдвиг цен убивает P&L больше чем на 30% — стратегия хрупкая. Третий — синтетические данные: если стратегия работает и на синтетике, и на реале — это закономерность.
6. Где реально теряются деньги при переходе от бэктеста к реальности?
На двух этапах. Первый — постановка задачи для research: вы тратите ресурсы на гипотезу, которая может оказаться нерабочей. Второй — impact: на бэктесте всё работает, а потом вы приходите с сотнями миллионов в стакан, и почему-то всё начинает сыпаться. Реальный рынок — это грязный операционный процесс, а не чистая математика.
7. Какая главная философия успешной стратегии?
Ты должен понимать физику процесса — почему рынок должен платить тебе деньги. Если ты не можешь объяснить, почему стратегия работает, — она не будет работать. И чем проще стратегия, тем лучше. На рынке работают простые подходы с небольшим набором параметров. Сложность — враг стабильности.
TOTAL
Красивый бэктест — это не доказательство рабочей стратегии, а гипотеза, которая ещё не встретилась с реальностью. Разница между закономерностью и подгонкой — не в том, насколько высок Sharpe, а в том, можете ли вы объяснить, почему рынок вообще должен платить вам деньги.
Все профессионалы пришли к одной мысли разными словами: физика процесса, природа конкуренции, устойчивость к грязной реальности. Если стратегия ломается от небольшого зашумления данных — она хрупкая. Если она работает только на одном участке рынка — вы нашли совпадение, а не закономерность. Если вы не можете объяснить, почему она должна приносить деньги, — она не принесёт.
Ваш Sharpe 3.2 может быть настоящим. Но проверить это можно только одним способом: попытаться его сломать самостоятельно, раньше, чем это сделает рынок.
Ближайшее мероприятие 9 октября 2026 года. Конференция "Биржевой алгоритм - 2026". Прикладные знания и авторитетные мнения. Мы соберем экспертов в управлении активами и алгоритмическом трейдинге. Подробности на странице мероприятия (http://algoclub.pro/mainevent)
Статья создана «Биржевым Алгоритмом». Копирование без ссылки на источник — нарушение авторских прав. Мы это отслеживаем и преследуем. Даже если вы думаете, что никто не заметит.