Алгоритмическая торговля — процедуры тестирования и оценка чужих результатов
Программа может исполнять правило быстрее и точнее, но одна автоматизация торговли не доказывает наличия преимущества. Нужно проверять изменения сигналов, цен исполнения и затрат. Этот урок объясняет, как подготовить воспроизводимый тест, распознать ограничения данных и оценить собственный результат или отчёт поставщика алгоритма. Он также показывает, почему отбор параметров и последовательность событий внутри свечи могут определять результат. Все числовые примеры условны; тестирование на рыночных котировках не проводилось.

- Автоматизация может менять исполнение и чистый результат. На условных значениях из текста переход от ручного к автоматическому исполнению увеличивает число реализованных сигналов со 150 до 236 из 240 сформированных. При том же среднем чистом результате множитель 1,57 действует в обе стороны: ожидаемое значение −0,20 пипса на сделку превращает −30 пипсов в −47,2, а +0,20 пипса превращает +30 в +47,2.
- Неустановленная последовательность событий внутри свечи может изменить знак всего теста. В примере 46 из 400 сделок, или 11,5%, приходятся на свечи, диапазоны которых охватили оба уровня выхода. Оптимистичная версия даёт +3,90 пипса на сделку, консервативная −1,85. Эта разница 5,75 пипса возникает из принятой условной последовательности, а не из данных.
- Изолированный пик указывает на чувствительность, но не доказывает артефакт. В таблице в разделе 7 версия A достигает пика +1,73 пипса при средней по окрестности +0,40, отношение 4,33; B достигает +0,51 при +0,46 — точнее, 0,463442, — отношение 1,10. Повышение затрат на 0,60 пипса опускает обе средние по окрестности ниже нуля.
- Этот урок не содержит кода, инструкций по инструментам или правил определения размера позиции. Техническая реализация и настройка среды относятся к разделу 12; объективное выражение правила как аналитический приём — к статье 5.12; размер позиции и меры портфельного риска — к разделу 9; правовой статус услуг копирования сделок — к разделу 13. Здесь рассматривается только методология: что фиксировать, что рассчитывать и какие выводы результат не позволяет сделать.
1. Что автоматизация меняет в исполнении и оставляет неизменным в расчёте
Программа преобразует спецификацию в ордера и журнал событий. Точность следования зависит от правильного кода, данных и работающей среды; ошибки и перебои остаются возможны.
Поэтому проверять нужно и правило, и то, исполняет ли его реализация правильную версию. Лишь при этих условиях автоматизация обеспечивает воспроизводимую процедуру.
Автоматическая система может оценивать условие в заданное время, отправлять ордера с указанными параметрами и вести записи. Каждый элемент требует правильной реализации и мониторинга среды. Записи должны включать и нереализованные сигналы с причинами пропуска. Это возможные преимущества исполнения, а не гарантия безошибочной работы.
Исполнение большего числа сигналов не обязательно означает большую прибыль. Умножение ниже сохраняет знак лишь в модели с неизменным средним чистым результатом на сделку. Оно не описывает все последствия смены способа исполнения.
Допущения. Правило оценивается на закрытиях свечей, один инструмент и 240 возникновений условия входа за исследуемый период. Ручное исполнение дало 150 сделок; остальные сигналы пропущены, поскольку возникали вне часов наблюдения или решение не принималось. Автоматическое исполнение дало 236 сделок; четыре ордера отклонены и записаны как нереализованные сигналы. Ожидаемое значение на сделку: две предполагаемые версии, −0,20 и +0,20 пипса; статья 8.2 объясняет расчёт. Все числа условны; результат — числовой пример, а не тест на данных.
Расчёт. Доля реализованных сигналов: вручную 150÷240=62,5%, автоматически 236÷240=98,3%. Множитель перехода:236÷150=1,573.
Отрицательная версия:150×(−0,20)=−30,0 пипса против 236×(−0,20)=−47,2 пипса.
Положительная версия:150×(+0,20)=+30,0 пипса против 236×(+0,20)=+47,2 пипса.
Доступность информации и исполнение. Число возникновений условия известно только после обработки всего периода, поэтому это ретроспективный расчёт. Долю ручного исполнения можно получить лишь из записей, включающих пропущенные сигналы; без этого поля она не вычисляется. Статья 8.1 определяет это поле. Четыре отказа системы — события исполнения, известные постфактум.
Множитель 1,573 применим к обеим версиям лишь потому, что мы предположили одинаковую среднюю чистую величину и сопоставимые наборы сигналов. Реальный переход к автоматизации может менять отбор сигналов, время реакции и исполнения. Один подсчёт ордеров не определяет направление итоговой разницы.
Сравнение должно указывать, что остаётся общим: определение сигнала, доступные возможности, правило выхода и расчёт результата. Более высокая доля исполнения ничего не говорит о дополнительных сделках. Если распределение вручную пропущенных сигналов отличается от исполненных, умножение прежней средней на новое количество создаёт неверный сценарий.
Цены реакции и затраты оценивают отдельно. Программа может отправить ордер раньше, но также повторить ошибку или действовать по устаревшим данным. Разница исполнения имеет экономическую ценность лишь в расчёте полной версии. Пример с фиксированной средней изолирует число сигналов; следующий меняет затраты. Выводы согласуются, поскольку различаются допущения.
Почему ручные записи не предсказывают результат автоматической системы
Неизвестно, были ли 90 пропущенных сигналов случайной выборкой. Пропуски могут зависеть от часов наблюдения и дополнительных фильтров, но их связь с результатами требует данных. Записи должны содержать нереализованные сигналы и причину каждого пропуска.
Ручные записи описывают исполненную версию правила. Они не обязательно описывают версию, исполняющую каждый сигнал. Дискреционный фильтр может улучшать или ухудшать результаты; без пропущенных случаев разницу не оценить.
Это решается определением результатов всех сигналов, включая пропущенные, на исторических данных — тестом, которому посвящена оставшаяся статья. Записи, которые ведутся по мере поступления данных и также включают нереализованные сигналы, как в расчёте выше, служат той же цели. Разница в том, что они накапливаются в темпе рынка, который нельзя ускорить, а исторический тест использует уже доступный материал.
Границы вклада автоматизации
Список того, чего автоматизация не делает, короче списка обещаний, но его утверждения проверяемы.
Автоматизация не устанавливает преимущество. Она может менять средние выигрыши, потери, долю выигрышей и затраты через время и способ исполнения. Чистое ожидание нужно проверять для фактической версии правила, а не заимствовать результат прежней ручной версии.
Она не гарантирует снижения затрат. Спреды и комиссии сохраняются, хотя более быстрая реакция или подходящее время выхода могут менять исполнение. Задержка от сигнала до отправки и проскальзывание от ордера до исполнения — разные отклонения; оба могут влиять на результаты. Изменения затрат требуют измерения на сопоставимых сигналах.
Больше сделок может дать больше информации, но не пропорционально числу дополнительных строк. Положительная зависимость результатов может увеличивать ошибку средней, а некоторые виды отрицательной зависимости — уменьшать. Эффективный объём выборки относится к обоснованной модели; он не автоматически меньше N. Статья 8.2 развивает оценку.
Она переносит решения на более раннее время, а не устраняет их. Каждое решение, принимаемое вручную в процессе торговли, для автоматической торговли нужно принять заранее — в виде спецификации. Решений требуется больше: программе нужны ответы и на вопросы, с которыми человек справляется интуитивно: что делать с сигналом при открытой позиции, с отсутствующей свечой или с позицией, не дошедшей ни до одного уровня? Раздел 3 рассматривает эти вопросы.
Автоматическая система исполняет заданную процедуру; оценка охватывает её логику, данные и исполнение. Лучшее исполнение может иметь экономическую ценность. Оно не заменяет доказательства того, что полное правило остаётся прибыльным после затрат вне материала, использованного для его отбора.
Исполнение может менять знак чистого результата
Иллюстрация с той же логикой сигналов: средний результат до отклонений исполнения +0,40 пипса. При затратах и задержке ручной версии 0,65 чистая средняя −0,25; при величине автоматической версии 0,25 она +0,15. Эти значения не устанавливают, что автоматизация обычно улучшает результаты. Они показывают, почему утверждение о неизменном знаке требует допущения неизменного исполнения.
2. Четыре формы автоматизации и стимулы поставщика
Розничные участники могут выбирать варианты, различающиеся более важным признаком, чем степень автоматизации: кто определил правило и кто способен его проверить. Это важнее различия между «ручным» и «автоматическим», поскольку определяет, применима ли вообще процедура ниже.
| Вариант | Кто определяет правило | Известно ли правило? | Что можно проверить независимо? | От чего зависит доход поставщика? |
|---|---|---|---|---|
| Собственная программа | Пользователь | Да, полностью | Всё в карточке воспроизводимости: правило, данные, затраты и разделение выборки | Поставщика нет |
| Полуавтоматизация — программа оценивает условие; пользователь решает и отправляет ордер | Пользователь | Для условия — да; правило решения требует отдельной спецификации | Список сигналов и их время; весь вариант проверяем, если правило отбора задано | Поставщика нет |
| Копирование сделок — ордера повторяют сделки другого счёта | Третья сторона | Нет; записаны только исполненные сделки | История сделок, если предоставлена полностью; запускающее условие невоспроизводимо | По договору; проверяйте составляющие вознаграждения |
| Готовая программа или подписка на сигналы | Третья сторона | Зависит от договора; может раскрываться не полностью | Только предоставленное поставщиком; нераскрытое правило мешает воспроизвести тест | По договору: подписка, оборот или платежи за результат требуют проверки |
Модель вознаграждения поставщика нужно читать в условиях услуги: оно может зависеть от подписок, оборота или результата. Сама модель не доказывает ни качества, ни нечестности. Оценка требует правила, описания теста и данных, определяющих, что представляет опубликованный результат.
Доступные предложения могут не включать снятые программы или счета, результаты которых больше не публикуются. Тогда рейтинг содержит отбор по выживанию. Установите его исторический состав, а не предполагайте, что каждая неудачная программа исчезает.
Собственная программа и конфликты без продавца
Первая строка таблицы кажется свободной от проблемы последнего столбца, поскольку поставщика нет. Однако один конфликт остаётся и может быть сложнее, поскольку нет другой стороны, которая его укажет. Автор правила и тестировщик — один человек, а тест определяет судьбу уже проделанной им работы.
Автор должен фиксировать каждую проверенную версию и каждое использование проверочных данных, включая неудачи. Мы не приписываем авторам частоту пропусков или мотивы. Просто запись с самого начала надёжнее восстановления истории эксперимента.
Полуавтоматизация и оставляемый ею пробел
При полуавтоматизации программа может оценивать условие, а человек отбирать ордера. Если дополнительный фильтр задан и воспроизводим, можно тестировать весь вариант. Если он остаётся дискреционным, результат относится к сочетанию программы и решений человека.
Последствие такое же, как у ручных записей в разделе 1, и заслуживает уточнения, поскольку может быть менее заметным. Результат принадлежит не одному программному правилу, а его сочетанию с неуказанным правилом отбора. Тест первого ничего не говорит о сочетании. Для оценки варианта нужно задать второе правило. Статья 8.1 даёт критерий спецификации: два человека должны толковать её одинаково.
Статус результата зависит от того, что задано и исполнено, а не просто от участия человека. Программа с явным фильтром может образовать воспроизводимую систему; нераскрытый фильтр ограничивает воспроизводимость.
Повторение сделок другого счёта
Без правила копирование позволяет оценить опубликованную серию сделок, но не воспроизвести тест стратегии на другом периоде. Даты, инструменты, затраты и различия исполнения всё ещё можно исследовать. Отсутствие правила ограничивает оценку, но не устраняет всю информацию из записи.
Исполнение тоже отличается. Копирование следует сигналу другого счёта, поэтому ордер попадает на рынок позже, а объём может масштабироваться. Оба различия затрагивают копирующий счёт, а не исходный, поэтому опубликованная траектория описывает не то, что получает копирующий. Расхождение зависит от правила: оно может быть несущественным при цели в десятки пипсов, но превышать всю намеченную прибыль при цели в несколько пипсов. Расчёт отношения затрат к цели в статье 8.3 показывает это.
Правовые вопросы — статус услуги, обязанности поставщика и защита клиента — относятся к разделу 13 и выходят за пределы текста. Методологический смысл в том, что копирование лишает возможности тестировать правило, оставляя вопросы из раздела 9.
3. Предварительное условие: воспроизводимо ли правило на данных?
Прежде чем спрашивать о доходности, спросите, дают ли две независимые реконструкции одной спецификации на одних котировочных данных один список сделок. Иначе последующее сравнение теряет смысл: сравнивались бы два разных правила под одним названием.
Две независимые реализации серьёзно проверяют однозначность. Это не единственная возможная проверка: помогают также согласованные эталонные случаи и сопоставление отдельных событий. Различие может возникать из пробела спецификации или ошибки кода. Найдите причину, а не переписывайте правило автоматически.
Проверка списков событий информативнее совпадения итоговых сумм. Две реализации могут получить один результат разными сделками или сформировать одинаковые сигналы с разными выходами из-за различий последовательности исполнения. Сравнивайте время, направление, сторону котировки, основание активации и исполнение.
Совпадение не устанавливает ни преимущества, ни допустимости модели исполнения. Оно подтверждает согласованное воспроизведение определённой спецификации и настроек. Обе реализации могут разделять ошибочное допущение. Эталонные случаи и проверки доступности информации проверяют допущения на уровне отдельных решений до экономической оценки агрегированных результатов.
Проверка совпадения двух реконструкций
Процедура проста и требует двух исполнений: то же правило, файл котировок и период. Сравнивайте списки, а не агрегаты: метку времени входа, направление, цену входа, метку выхода, цену выхода и основание выхода. Совпадение — доля сделок, присутствующих в обоих списках, в объединении уникальных сделок.
Допущения. Одна спецификация правила, свечи и период. Реконструкция A дала 62 сделки; B — 58. Совпали 54 времени входа и направления. Условные значения: расчёт масштаба эффекта, а не измерение различий каких-либо настоящих программ.
Расчёт совпадения. Уникальные сделки:62+58−54=66. Совпадение:54÷66=0,8182=81,8%. Различия:12 из 66, или18,2%—восемь только в A и четыре только в B.
Заранее определите общую сделку. Иллюстрация использует время входа и направление — более узкую меру, чем полное совпадение сделок с ценами и выходами. Разные допуски по времени или способы сопоставления могут изменить 54 совпадения, поэтому определение совпадения входит в метод.
Результат 81,8% описывает построенные списки. Он не означает, что другие 18,2% — доказанные ошибки одной реализации. Сначала выясните, лежит ли причина в спецификации, данных, коде или моделировании исполнения. Влияние на среднюю — отдельная мера, большая или малая независимо от доли совпадения, как показывают предполагаемые итоги A и B.
Условный итог A:54×0,30+8×(−1,50)=4,20 пипса, или 4,20/62=0,067742 на сделку. B:54×0,30+4×2=24,20, или 24,20/58=0,417241. Отношение по неокруглённым средним 6,1593, то есть 6,16. Округлённые 0,417 и 0,068 дали бы около 6,13.
Обе реализации в примере используют одну модель исполнения. На практике различие может происходить и из ошибок кода, настроек данных или версий инструментов, даже при одной спецификации правила.
12 различающихся сделок изменили средний результат более чем в шесть раз в этом наборе. Это следствие предполагаемых результатов, а не универсальное свойство спорных сделок. Совпадения времени входа и направления недостаточно: сравнивайте также выходы, цены и их основания.
Откуда возникают различия
Следующие случаи требуют явной спецификации или проверки реализации. Частоты им не присваиваются. Ясная спецификация снимает некоторые различия; другие требуют проверки данных и моделей исполнения.
- Границы окна. Входит ли оцениваемая свеча в окно опорного уровня? В окне из 20 свечей замена одной может менять уровень в зависимости от формулы — от отсутствия изменения до кратного плановой цели.
- Строгое или нестрогое неравенство. Включает ли «цена выше уровня» равенство? При конечной десятичной точности равенство встречается чаще, чем подсказывает интуиция, поскольку цены округляются до шага котировки.
- Сигнал при открытой позиции. Он пропускается, увеличивает позицию или заменяет её? Эти три ответа дают три списка сделок из одного потока сигналов.
- Сигнал на свече закрытия позиции. Закрылась ли позиция до оценки сигнала? Ответ зависит от последовательности, которой свеча не содержит.
- Отсутствующие данные. Оценивается ли условие, когда в окне отсутствует свеча? Заполнение пробела соседним значением и пропуск оценки дают разные списки; любой вариант может быть выбран без осознания самого выбора.
- Идентификация свечей и перевод часов. Свечи идентифицируют по местным меткам источника или универсальному времени? При повторяющемся часе после перевода часов первый подход создаёт дубликаты меток; без явного смещения местные метки могут повторяться. Проверьте правило идентификации.
- Незакрытая позиция. Есть ли выход по времени и считает ли он существующие свечи или фактически прошедшие часы? Из-за выходных ответы дадут разные даты закрытия.
- Конец периода теста. Что происходит с позицией, открытой на последней свече? Закрытие по последней цене, удаление всей сделки и оставление открытой дают три разных итога.
Отнесите каждое различие к спецификации, коду, данным или моделированию исполнения. Уточните пробел спецификации письменно; исправьте ошибку реализации в программе. Затем повторите сравнение с эталонными случаями и полным списком событий.
Разделите два вопроса, часто объединяемых на практике. Объективизация правила — превращение наблюдения на графике в вычислимое условие — аналитический приём из статьи 5.12. Проверка того, одинаково ли две независимые программы воспроизводят спецификацию, — методологический вопрос этой статьи. Первый спрашивает «можно ли это вычислить?», второй — «всегда ли это будет вычислено одинаково?»
Правило по закрытию и цена реакции
Условие, использующее закрытие свечи, становится доступно только после него. Исполнение не может предшествовать доступности сигнала и реалистичной реакции. Следующая котировка может равняться закрытию; одно равенство цен не доказывает заглядывания вперёд.
Ошибка возникает, когда тест использует информацию, недоступную в назначенное время решения. Запись цены закрытия после доступности сигнала сама по себе не ошибка; проверяйте время доступности, отправки и исполнения и правило симулятора.
Пример заглядывания вперёд: уровень выхода в момент t использует максимум или минимум свечи, который возникнет лишь после t. Использовать текущую свечу не всегда неверно — её данные на текущий момент уже могут быть доступны. Проверка касается времени, когда стало известно конкретное значение, а не одной метки свечи.
Установите время доступности каждого значения. Значение, узнанное при закрытии свечи, может запускать ордер лишь после того, как станет доступно стратегии. Последующее исполнение может равняться закрытию, но одна свеча этого не устанавливает. Отсутствие временной информации ограничивает интерпретацию; его нужно раскрыть и исследовать.
4. Данные, сторона котировки и внутрисвечные допущения
Тест — функция трёх вещей: правила, данных и модели затрат. Предыдущий раздел рассматривал первое. Этот посвящён остальным, начиная с часто упускаемого в тестовых материалах: данные не представляют единой универсальной записи. У одного инструмента за один период столько записей, сколько источников, и различия превосходят округление.
Что необходимо знать о данных
Набор котировок описывается характеристиками, не выводимыми друг из друга.
Источник и версия. Запись поступает от определённого поставщика и может впоследствии исправляться: заполняются пробелы, корректируются неверные котировки. Тесты до и после исправления различаются. Воспроизводимость требует записывать не только название источника, но и дату скачивания.
Сторона котировки. Запись может содержать Bid, Ask, обе стороны или среднюю цену. Раздел 2 объясняет различие; арифметическое влияние при тестировании показано ниже.
OHLC не содержит последовательности внутри свечи. Полная тиковая запись даёт порядок зафиксированных изменений с разрешением её меток времени, но не гарантирует ни полноты, ни исполнений. Нужно знать временное разрешение, сторону котировки и пробелы; это отдельные характеристики данных.
Полнота. Отсутствующие единицы времени, повторные временные метки и сбои источника меняют возможности оценки. Обработку пробелов нужно задать; иначе её определит поведение инструмента по умолчанию.
Изменения набора инструментов. Для многоинструментального теста установите, сохранялся ли набор инструментов весь период. Инструмент, котировки которого изъяты, исчезает вместе с результатом — тот же механизм влияет на предложения в разделе 2.
Сторона котировки: арифметический эффект
Правило может рассчитываться на одной стороне, а ордера исполняться на другой. Длинная позиция открывается по предложенной участнику Ask и закрывается по Bid; разница оплачивается один раз за полный цикл открытия и закрытия. Если симуляция входит и выходит по одной стороне, вся разница исчезает из расчёта.
При постоянном спреде и замороженном списке сделок пропущенный компонент растёт линейно с их количеством. Реальные спреды могут меняться и влиять на активацию и последующие ордера. Пример ниже изолирует фиксированную арифметическую поправку, а не полную симуляцию Ask/Bid.
Внутрисвечные допущения: где данные молчат
OHLC не указывает, что было раньше — максимум или минимум. Когда оба выхода достигаются после входа в одной свече, результат может зависеть от неизвестного пути. Даже при достижении одного уровня могут оставаться вопросы о времени входа, стороне котировки и доступности исполнения.
Предположение о TP раньше SL или SL раньше TP — условность модели. Например, TradingView описывает пути O–H–L–C и O–L–H–C, выбираемые по положению цены открытия.[6] Более подробные данные могут уменьшить неоднозначность, но не устанавливают автоматически доступность исполнения на каждом затронутом уровне.
Допущения. Цель 30 пипсов и защитный выход 20 пипсов, оба от общей опорной цены до затрат. Свечные данные одной стороны котировки дают 400 закрытых сделок. В 46 случаях диапазон одной свечи охватил оба уровня. 354 разрешимые сделки суммарно дали +180 пипсов. Симуляция пропустила спред 0,80 пипса на сделку, записывая вход и выход по одной стороне. Все числа условны; это числовой пример, а не результат теста.
Доля неразрешённых случаев.46÷400=11,5%.
Оптимистичная версия.180+46×30=180+1380=+1560 пипсов;1560÷400=+3,90 пипса на сделку.
Консервативная версия.180−46×20=180−920=−740 пипсов;−740÷400=−1,85 пипса на сделку.
Диапазон.46×(30+20)÷400=2300÷400=5,75 пипса на сделку. Вся эта величина происходит из допущения, а не из данных.
После добавления пропущенного спреда. Каждая закрытая сделка несёт затраты:354×0,80=283,2 пипса для разрешимых сделок;400×0,80=320 пипсов всего. Разрешимый итог падает с +180 до 180−283,2=−103,2 пипса. Оптимистично:1560−320=+1240 пипсов, или+3,10 пипса на сделку. Консервативно:−740−320=−1060 пипсов, или−2,65 пипса.
Пример выделяет 46 сделок, зависящих от двух предполагаемых последовательностей. Остальные 354 признаны разрешимыми в этой модели. В настоящем тесте более высокое разрешение может обнаружить ошибки времени входа и исполнения также вне этой группы.
Результат и интерпретация. Одиннадцать с половиной процентов сделок меняют знак общего результата. Нераскрытое внутрисвечное допущение поэтому скрывает решающую, а не второстепенную информацию. Оговорки: оба уровня предполагались полностью исполнимыми в каждой спорной свече, исключая касания без доступного исполнения. Проскальзывание тоже пропущено; в консервативной версии оно увеличило бы убытки.
Прокрутите схему по горизонтали или откройте в полном размере.
Сообщайте влияние спорных сделок и на итог, и на среднюю наряду с их долей. Малая доля может иметь большое влияние при крупных результатах. Два пути дают полезные границы лишь в заданной модели уровней и исполнения; это не общие границы реальных результатов.
Проверьте ясность стороны цены и последовательность после условия входа. Свеча, охватившая оба уровня до входа, не обязательно создаёт ту же проблему, что охватившая их после. Спецификация должна различать ситуации, а не автоматически считать каждую такую свечу спорной.
Чувствительность к последовательности можно рассчитать для предполагаемых уровней и исполнений, но неизвестная ликвидность или частичное исполнение могут создавать другие результаты. Поэтому «оптимистично» и «консервативно» относятся к конкретному допущению. Публикация обоих информативнее скрытого выбора, но не гарантирует, что реальная сделка окажется между ними.
Моделирование затрат в симуляции
Записывайте спред, комиссию и проскальзывание отдельно. Модель с одной опорной ценой должна явно добавлять затраты. В разницах реальных исполнений Ask/Bid уже учтены включённые в цены спред и проскальзывание, их нельзя вычитать снова. Симулируемое проскальзывание можно оценить на отдельной эмпирической выборке; сам бэктест не измеряет новых исполнений.
Модели с фиксированным проскальзыванием и модели на основе распределения могут отличаться. Распределение может зависеть от типа выхода и рыночных условий. Без данных не назначайте направление или величину асимметрии; сравнивайте явные сценарии и доступные эмпирические исполнения.
Отказы и частичные исполнения можно симулировать. Их пропуск не всегда смещает результат в одну сторону: отклонённый ордер мог выиграть или проиграть. Указывайте их отсутствие как ограничение модели, а не доказательство всегда завышенного результата.
Для позиций через ролловер суммарное финансирование Σ rⱼdⱼ. Здесь rⱼ — ставка в тот момент, а dⱼ — вес начисления. Пропуск отрицательного свопа завышает результат; положительного — занижает. Статьи 8.5 и 8.6 объясняют веса.
Не умножайте сегодняшнюю ставку на число ночей и не применяйте это ретроспективно ко всей истории. Нужны веса событий начисления, ставки соответствующего времени и единицы. Переменный объём также требует основы расчёта для каждого отрезка. Отсутствие истории ставок нужно отметить как ограничение либо заменить явно названным сценарием затрат.
Пропущенные свопы могут смещать сравнение двух горизонтов в разные стороны. Положительное начисление — доход, улучшающий баланс при заданных условиях, а не переименованный расход. Отрицательное снижает его. Ни один знак не следует автоматически из направления позиции. Переносите метод расчёта статей 8.5–8.6, а не их условные ставки.
Если правило приостанавливает торговлю вокруг событий, воспроизведите фильтр с историческим календарём и часовым поясом. Без фильтра результат включает оба режима. Средняя может описывать смесь, но нужно раскрыть её состав и отдельные затраты. Статья 8.8 рассматривает окна публикаций; 8.4 определяет конец торгового дня.
Фильтр публикаций требует информации, доступной до решения, а не позднейших комментариев о том, какие события оказались важными. Задайте список, время публикации в нужном поясе и обработку изменений расписания. Если фильтра нет, нельзя затем удалить неудачные сделки вокруг публикаций и назвать остаток неизменным тестом.
Смена границы дня методологически сходна: она может менять сигналы и распределение данных. Сохраняйте правила источника и часовые смещения, не подгоняя к результатам. Средняя смешанной выборки остаётся правильным описанием этой смеси, но без подпериодов и условий затрат может скрывать концентрацию результатов.
Демо-тест проверяет сигналы и исполнение в демонстрационной среде. Его результаты анализируемы, но не устанавливают одинаковых распределений затрат на реальном счёте. Теневой тест не отправляет ордеров и не измеряет исполнений. Явно обозначайте режимы.
Одна свеча, два допустимых результата
Условная длинная позиция уже открыта по Ask 1,10000. Стоп активируется по Bid 1,09800, цель — по Bid 1,10300. Следующая свеча Bid: O=1,09992; H=1,10320; L=1,09780; C=1,10040. Оба пути соответствуют этому OHLC: O–H–L–C достигает цели первым; O–L–H–C достигает стопа первым.
При моделируемых полных исполнениях на уровнях ценовые результаты +30 и −20 пипсов. После комиссии 0,20 они +29,80 и −20,20. Спред уже включён между фактическим Ask входа и Bid выхода, поэтому повторно не вычитается. OHLC не устанавливает ни последовательности, ни исполнения на затронутых уровнях.
Оба нарисованных пути посещают одни O, H, L и C в разном порядке. Этого достаточно для демонстрации неоднозначности, хотя не исчерпывает всех OHLC-согласованных путей. Результаты измеряются от предполагаемого Ask входа до Bid выхода. Свеча Bid не содержит истории Ask и сама не восстанавливает всю историю спреда.
+29,80 и −20,20 — расчёты двух моделируемых полных исполнений, а не наблюдённое исполнение. Документация симулятора определяет допущение; более подробные данные могут установить порядок котировок. Реальные исполнения требуют записей ордеров и исполнения. Отдельно сообщайте три слоя: путь, условность модели и исполнение.
5. От правила до внедрения с критериями перехода
Этапы проверки правила часто подают списком задач. Один список ничего не решает, поскольку не задаёт условия перехода. Ниже у каждого этапа есть вопрос, требующий положительного ответа для осмысленности следующего, и действие при отрицательном. Последовательность не произвольна: каждый этап предполагает завершение предыдущего.
Прокрутите схему по горизонтали или откройте в полном размере.
Что происходит после отрицательного ответа
Несовпадение списков приостанавливает интерпретацию результата до выяснения причины. После исправления данных, кода или спецификации повторите оба запуска. Не выбирайте список лишь потому, что его результат лучше.
Второй этап. Отсутствие любой из пяти характеристик данных останавливает тест, поскольку каждая влияет на результат. Их предоставление — организационная работа, а не содержательное исследование, и обычно занимает меньше времени, чем спор о её необходимости.
Результаты на данных отбора описывают подогнанную версию и не дают независимого подтверждения. Они могут диагностировать проблемы и отклонять идею по заранее заданным критериям. Отрицательный результат не обязательно завершает любой проект, но исправленная версия — новое решение, требующее независимой оценки. Даже при положительной средней сообщайте долю и эффект неразрешённых внутрисвечных случаев.
Walk-forward выбирает параметры на более раннем окне и оценивает их на следующем. Доступный отрывок главы Пардо описывает эту конструкцию.[1] Результаты находятся вне каждого локального окна отбора, но выбор длин окон и всей процедуры после просмотра всех результатов всё ещё может подгонять оценку. Записывайте историю решений, а после подобных изменений используйте новый нетронутый окончательный тест.
Проверка на поступающих данных бывает теневой, демонстрационной или реальной. Теневая сравнивает доступность данных и сигналы; демо также включает демонстрационные исполнения. Реальное проскальзывание, отказы и частичные исполнения требуют записей реальных ордеров. Каждый режим дополнительно даёт перспективную информацию о поведении правила, а не только об исполнении.
Шестой этап. Критерий отключения, записанный после внедрения, — комментарий к исходу, а не критерий. Раздел 10 объясняет его устройство и статистические свойства. Здесь достаточно формального требования: он должен существовать до первого ордера.
Мониторинг сравнивает одну меру в одних единицах с учётом объёма выборки и периода. Результат в валюте счёта и результат в пипсах напрямую несопоставимы. Без изучения отчётов не заявляется частота или первоочередность этой ошибки.
Критерий отключения входит в процедуру. Его активация не гарантирована в каждом конечном периоде. Пересмотр после изучения результатов требует записи новой версии и её отдельной проверки.
Сколько истории расходует каждый этап
За последовательностью задач стоит расход одного конечного ресурса: доступной истории котировок. Численное представление распределения полезно, поскольку оно может быть единственной причиной невозможности провести процедуру в запланированном виде.
Допущения. 60 месяцев доступной истории. Скользящие окна с 12-месячным отбором параметров и 3-месячной оценкой, сдвиг каждые 3 месяца. Правило в среднем даёт 4 закрытые сделки в месяц. Все числа условны; это организационный расчёт, а не тест.
Число окон оценки. Первое охватывает месяцы 13–15, последнее 58–60. Число:(58−13)÷3+1=16.
Оценённая история. 16×3=48 месяцев, или 48÷60=80,0% всей истории. Первые 12 месяцев никогда не оцениваются: они служат только отбору параметров первого окна.
Число сделок. Оценено:48×4=192. В одном окне отбора параметров:12×4=48.
Доступность информации и исполнение. Зафиксируйте и запишите разделение до первого запуска: оно определяет статус каждого сообщаемого числа. Изменение длины любого окна после просмотра результатов — ещё одно использование проверочных данных по правилам раздела 6.
Результат и интерпретация. Сравните два количества. 192 сделки, оценённые вне обучающих данных, — вся оценочная выборка. Именно это число, а не длина истории в годах, входит в расчёт неопределённости в статье 8.2 и критерий отключения в разделе 10. 48 сделок в каждом окне отбора — вся основа выбора параметров: шесть значений означают выбор одного из шести по 48 наблюдениям. Оговорки: четыре сделки ежемесячно — допущение; реальное количество меняется между окнами вместе с условиями. Малочисленные окна дают менее надёжный отбор, но занимают ту же долю общего времени.
Более длинное обучающее окно даёт больше данных, но может включать более далёкие рыночные условия; лучший отбор не гарантируется. Выводы зависят от неопределённости, размера эффекта и изменений во времени. Несколько десятков сделок сами по себе не доказывают отсутствия информации в тесте.
Статус данных и режим исполнения
In-sample обозначает материал, использованный для построения или отбора. OOS — материал, не использованный для данного решения; walk-forward — конкретная процедура последовательных локальных OOS-оценок. Forward означает данные, поступающие после фиксации версии, с теневым, демонстрационным или реальным исполнением. Реальный результат фактически понесён на счёте. Метки описывают разные оси и могут сочетаться; forward не означает автоматически реальных исполнений.
Статус всегда относится к конкретному решению. Период может быть OOS для прежней версии и материалом отбора для следующей, если первый результат вызывает пересмотр. Forward описывает хронологию, поэтому перспективные наблюдения тоже могут отбирать последующую версию.
Режим исполнения отвечает на другой вопрос. Теневой наблюдает данные и сигналы без ордеров; демо даёт демонстрационные исполнения; реальный счёт — настоящие. Это не уровни одной классификации. Поэтому отчёт может одновременно указывать перспективный период, его роль относительно версии и режим исполнения. Каждый снимает разную неопределённость интерпретации.
Сообщайте роль данных и режим исполнения отдельно. Без них значение числа ограничено: оно может описывать отбор версии, независимую оценку, будущие сигналы или фактически понесённый результат. Это не четыре взаимоисключающие категории.
Прокрутите схему по горизонтали или откройте в полном размере.
Форвардное тестирование: какие события вы действительно наблюдаете?
| Перспективный режим | Наблюдаемые факты | Чего это не устанавливает |
|---|---|---|
| Теневой — без ордеров | Доступность данных и сигналов, гипотетические ордера | Фактические исполнения и затраты |
| Демо | Сигналы, ордера и демонстрационные исполнения | Идентичное реальное исполнение |
| Реальный | Настоящие ордера, исполнения, затраты и отказы | Сохранение преимущества за пределами наблюдаемого периода |
Каждый отчёт указывает даты, зафиксированную версию правила и изменения за период. Forward описывает хронологическую проверку; «реальный» — исполнение. Это не взаимозаменяемые метки.
6. Каталог ловушек тестирования
Ловушки по-разному ограничивают надёжность теста. Некоторые конкретные ошибки, например заглядывание вперёд в известной реализации, можно удалить и проверить повторным запуском. Отсутствие гарантии на будущее не означает, что каждую найденную ошибку можно лишь частично смягчить.
| Ловушка | Механизм | Проверка | Ограничение |
|---|---|---|---|
| Заглядывание вперёд | Значение стало доступно после назначенного времени решения | Записи доступности и проверка событий; повторный запуск после исправления | Невосстановленные версии данных могут оставлять ограничение |
| Пересмотр исторических значений | Тест использует поздний пересмотр вместо доступного тогда значения | Сохраняйте исторические версии и проверяйте доступность | Раскройте отсутствие исходной версии |
| Отбор по выживанию | Набор содержит только сохранившиеся инструменты или правила | Восстановите исторический состав и изменения | Без истории нельзя оценить результаты исключённых инструментов или правил |
| Отбор по результативности | Выбор лучшей из многих попыток может включать случайное превышение | Записи версий и независимая оценка всей процедуры | Гарантии против шума нет; отбор сам по себе не доказывает артефакт |
| Переобучение | Подгонка деталей конкретной выборки вместо свойства, переносимого за её пределы | OOS-оценка зафиксированной процедуры и проверка чувствительности | Окрестность тоже может быть выбрана после просмотра результатов |
| Зависимость от периода | Результативность сосредоточена в определённых условиях | Непересекающиеся подпериоды и описание концентрации результата | Короткие истории могут не содержать других условий |
| Зависимые сделки | Игнорирование зависимости может занижать ошибку средней | Явная модель кластеров или блочные проверки | Разделение по времени не устраняет всей межинструментальной зависимости |
| Неполные затраты | Пропущенные или неподходящие затраты и события исполнения | Полная ценовая основа, сценарии и записи исполнения | Эффект отказов зависит от пропущенных сделок |
| Внутрисвечные допущения | OHLC не устанавливает, какой уровень выхода был первым | Доля и диапазон результатов спорных случаев; более подробные данные | Касание цены не устанавливает исполнение |
| Смешение статусов | Результат на данных отбора выдаётся за валидацию | Роль каждого периода, версия и режим исполнения | Сумма IS+OOS может описывать набор, но не является независимым OOS |
Просмотр многих версий увеличивает вероятность выбрать случайно благоприятный результат. Один максимум не доказывает артефакт; учитывайте семейство проверенных правил и процедуру отбора. Уайт описывает тест сравнения лучшей результативности с ориентиром при контроле перебора данных.[2]
Харви, Лю и Чжу анализируют множество проверяемых взаимосвязей в исследованиях поперечного сечения ожидаемых доходностей.[4] Их пороги значимости не переносятся на розничный FX-тест. Источник указывает на отдельную литературу о множественном тестировании.
Почему повторное использование расходует проверочное окно
OOS перестаёт быть независимой проверкой новых решений, если его результат использован для изменения правила или процедуры. Повторное чтение само не меняет данные, но действия по его результатам меняют их роль.
Как только изменения используют результаты OOS, период входит в отбор новой версии. Бейли и соавторы описывают вероятность переобучения в определённой процедуре отбора.[3] Это не устанавливает, что всякий отбор уничтожает всю информацию о будущем.
Использованное окно не может снова стать невиденным. Однако всю процедуру можно зафиксировать и оценить на новых нетронутых данных или с отдельным внешним разделением. Записи использования определяют, для какой версии результат ещё оставался OOS.
Область применения таблицы
Строки описывают разные ограничения теста, а не только завышение результата. Некоторые пропуски действуют в обе стороны. Условия договора требуют отдельной проверки: если при них правило неисполнимо, положительный тест этого не исправляет. Раздел 11 развивает эти условия.
Обзор Парка и Ирвина рассматривает исследования прибыльности технического анализа.[5] Здесь его не используют для назначения доли ложных результатов или утверждения, что большинство правил не работают. Ограничения урока устанавливают явные расчёты модели, а не непроверенные обобщения о литературе.
Новый тест после изменения правила по OOS-данным
Версия v 1 выбрана без периода B, поэтому B является OOS для этого решения. Чтение B привело к изменению параметра и v 2. Теперь B служит отбору v 2: он ещё может документировать ошибку, но уже не подтверждает v 2 независимо. Зафиксированной v 2 нужен период C, не использованный для параметров, длины окон или затрат. Отчёт сохраняет v 1, v 2, даты решений и роль каждого периода.
7. Проверка чувствительности: затраты, параметр и период
Заявление о преимуществе требует проверки сохранения результатов при разумных изменениях допущений. Три оси необходимы, поскольку каждый тест содержит три вида предположений: затраты, значение ключевого параметра и выбранный период. Ниже все три изучены на одном числовом наборе для сопоставимости.
У правила один свободный параметр: длина окна расчёта опорного уровня. Проверены значения 10, 15, 20, 25, 30 и 40 свечей. Мера — средний результат на закрытую сделку в пипсах после затрат 0,60 пипса. Версии A и B различаются конструкцией условия входа. Каждое число раздела условно, не происходит из реального теста и служит лишь примером интерпретации подобного набора.
Таблицы используют предполагаемые средние и количества без обработки котировок. Поэтому нет эмпирической доли спорных свечей, записей исполнения или статуса IS/OOS. Для этих полей указано неприменимо — тест не проводился, а не 0%. Реальный отчёт должен предоставить их вместе с данными и моделями.
Отсутствие теста не означает ноль ошибок. Спорные свечи, отказы и заглядывание вперёд неизвестны, поскольку списка событий нет. Ноль был бы результатом заданной проверки полной выборки. «Неприменимо» с объяснением точно описывает устройство иллюстрации.
Реальное сравнение потребовало бы источника и версии котировок, определения сигнала, затрат, ролей периодов и списка событий, воспроизводящего средние. Сходство с отчётом теста не присваивает такой статус. Эти значения — входы расчётов чувствительности; проверка подтверждает арифметику, а не эмпирическое качество A или B.
Ось параметра
| Длина окна | Версия A — сделки | Версия A — средний результат | Версия B — сделки | Версия B — средний результат |
|---|---|---|---|---|
| 10 свечей | 320 | +0,05 пипса | 300 | +0,18 пипса |
| 15 свечей | 250 | +0,42 пипса | 240 | +0,44 пипса |
| 20 свечей | 210 | +1,73 пипса | 200 | +0,51 пипса |
| 25 свечей | 180 | +0,38 пипса | 175 | +0,49 пипса |
| 30 свечей | 160 | +0,31 пипса | 155 | +0,46 пипса |
| 40 свечей | 130 | +0,22 пипса | 125 | +0,29 пипса |
Обе версии достигают пика на 20 свечах. Один выбор большего числа предпочёл бы A. Проверки окрестности и подпериодов показывают большую чувствительность A в этом наборе, но не устанавливают преимущества B.
Отношения по полным взвешенным средним: 1,733333/0,400028=4,3330 для A и 0,509750/0,463442=1,0999 для B. Таблицы показывают округлённые величины. Средняя окрестности использует две полные средние, а не округлённые строки.
У A изолированный пик, у B — более широкая область похожих результатов. Это диагностика чувствительности, а не доказательство артефакта A или устойчивости стратегии B. Соседние средние тоже получены на одной выборке и часто разделяют сделки; они не заменяют новых OOS-данных.
График сохраняет числовую ось параметра: расстояние от 30 до 40 больше предшествующих соседних интервалов. Поэтому ширина области соответствует длинам окон, а не произвольному числу столбцов. Высоты точек используют полные взвешенные средние, а не скопированные округлённые строки.
Более широкая положительная область полезно описывает чувствительность этой выборки. Она не даёт многих независимых подтверждений, поскольку соседние правила могут использовать те же сделки. Саму область тоже можно выбрать после просмотра результатов; тогда история её отбора требует такой же проверки, как один пик. Геометрия графика не заменяет разделения данных и оценки неопределённости.
Прокрутите схему по горизонтали или откройте в полном размере.
Число сделок падает с длиной окна, но неопределённость также зависит от разброса и зависимости. Строка с меньшим N всё ещё может быть полезна. Без распределений здесь не назначаются доверительные интервалы или уверенность в выборе.
Ось затрат
При фиксированном списке сделок и одинаковых дополнительных затратах ΔC средняя падает ровно на ΔC. Правило без фильтра затрат не гарантирует неизменности списка: переменные спреды могут менять активацию, а исполнения или отказы — позиции и последующие сигналы. Полный тест должен симулировать эти события заново.
Сдвиг каждой средней полезен лишь с зафиксированным списком и равными дополнительными затратами на исход. Он быстро выявляет запас, но не восстанавливает изменённое поведение стратегии. Если добавка зависит от времени суток, типа выхода или срока удержания, рассчитывайте её для соответствующих событий.
Изменения спреда тоже могут нарушить допущение фиксированного списка. Для короткой позиции Ask может раньше запустить стоп; это закрытие изменит последующие сигналы, разрешённые правилом одной позиции. Тогда затраты становятся частью последовательности решений, а не вычетом из итоговой суммы. Полный стресс исполнения требует явного повторного запуска.
| Затраты на сделку | A — пик (окно 20) | A — окрестность пика | B — пик (окно 20) | B — окрестность пика |
|---|---|---|---|---|
| 0,60 пипса (предполагается в тесте) | +1,73 | +0,40 | +0,51 | +0,463442 |
| 0,90 пипса | +1,43 | +0,10 | +0,21 | +0,163442 |
| 1,20 пипса | +1,13 | −0,20 | −0,09 | −0,136558 |
Дополнительные 0,60 пипса — условный стресс, а не измеренная типичная разница между симуляцией и торговлей. При фиксированном списке она делает отрицательными обе средние по окрестности. Обоснованный диапазон стресса реального отчёта требует данных или оправданных условий исполнения.
У B в этом наборе мала чувствительность к соседним параметрам, но выше чувствительность к затратам. После обоснованных дополнительных затрат одного положительного пика недостаточно для преимущества. Полная оценка требует и неопределённости, и данных вне отбора.
Ось периода
Третья ось повторяет весь обзор параметров отдельно в двух непересекающихся подпериодах.
Изменение лучшего параметра указывает на зависимость от периода. Это может быть шум, перемена условий или оправданная адаптация. Одно перемещение максимума не различает причины.
| Длина окна | A — подпериод I | A — подпериод II | B — подпериод I | B — подпериод II |
|---|---|---|---|---|
| 10 свечей | +0,20 (170 сделок) | −0,12 (150) | +0,25 (160) | +0,10 (140) |
| 15 свечей | +0,95 (130) | −0,15 (120) | +0,52 (125) | +0,35 (115) |
| 20 свечей | +3,20 (110) | +0,12 (100) | +0,60 (105) | +0,41 (95) |
| 25 свечей | +0,60 (95) | +0,13 (85) | +0,55 (92) | +0,42 (83) |
| 30 свечей | +0,42 (85) | +0,19 (75) | +0,50 (82) | +0,41 (73) |
| 40 свечей | +0,15 (70) | +0,30 (60) | +0,33 (66) | +0,24 (59) |
Взвешивайте средние числом сделок. При 20 для A:(110×3,20+100×0,12)/210=1,733333. Для B:(105×0,60+95×0,41)/200=0,509750, округлённо 0,51. Точные средние всех шести настроек лежат в основе расчётов окрестности и стресса затрат.
Максимум A переходит с 20 свечей в первом подпериоде на 40 во втором. При настройке 20 первый даёт 110×3,20=352 пипса, второй 100×0,12=12; первый составляет 96,7% общего итога 364. Максимум B перемещается с 20 на 25, и все средние положительны. Разница 0,01 между двумя настройками — свойство сконструированных чисел; её значимость без разброса результатов не определить.
В этом наборе A чувствительна к параметру и периоду; B даёт похожие соседние результаты. Обе слабеют при больших затратах. Эмпирической выборки, дисперсии исходов или теста отбора нет, поэтому устойчивое преимущество не приписывается ни одной.
Использование результатов проверки чувствительности
Ось параметра описывает окрестность; затрат — запас для конкретной надбавки; периода — историческую концентрацию результата. Ни одна не определяет число, переносимое в будущее без дальнейших проверок.
Когда три оценки указывают в одну сторону, вывод прост. Когда расходятся, решающего правила нет, и делать вид, что оно есть, бесполезно. Однако одно ясно: результат, меняющий знак после малого реалистичного изменения одного допущения, неустойчив независимо от исходной высоты.
Плоская окрестность тоже может опираться на ту же выборку
Версии на 15, 20 и 25 свечах могут разделять много сделок. Тогда похожие средние не дают трёх независимых подтверждений. До вывода об устойчивости проверьте общие события, подпериоды и историю отбора всей области. Средняя окрестности описывает эту выборку, а не новые OOS-данные.
8. Карточка воспроизводимости
Тест воспроизводим, если человек с одним его описанием способен получить тот же результат. Критерий строгий, без промежуточных степеней: описание либо достаточно, либо нет. Карточка ниже перечисляет элементы, отсутствие которых прерывает воспроизведение, и указывает, что тогда неизвестно.
| Элемент | Требуемое содержание | Что неизвестно без него |
|---|---|---|
| Правило | Полная разрешимая спецификация, включая пограничные случаи из раздела 3: сигналы при открытой позиции, неразрешённые выходы, отсутствие данных и конец периода | Список сделок — а значит всё, поскольку все следующие числа выводятся из него |
| Инструмент и период | Символ, даты начала/конца, число инструментов и для нескольких инструментов набор на каждый момент | Происходят ли результаты из одного исторического отрезка и определён ли набор задним числом |
| Источник и версия данных | Поставщик, дата скачивания и последующие исправления | Использует ли воспроизведение теста на более поздней загрузке те же котировки |
| Сторона котировки | Сторона для условия и учёта исполнения, отдельно на входе и выходе | Включён ли спред или полностью пропущен |
| Разрешение | Свечи с единицей времени или отдельные записи изменений цены | Известна ли последовательность событий внутри единицы или предполагалась |
| Внутрисвечное допущение | Принятая последовательность, если диапазон одной единицы времени покрывает оба выхода, и доля таких случаев | Сколько результата происходит из данных, а сколько из допущения — раздел 4 содержит расчёт |
| Модель затрат | Спред, комиссия в единицах теста и проскальзывание отдельно; для каждого — фиксированная величина, чтение из данных или случайная генерация | Является ли результат валовым или чистым и как он меняется при реалистичном повышении затрат |
| Обработка отсутствующих данных | Обработка пропущенных единиц времени, повторных меток и перебоев записи | Имеют ли обе реконструкции одинаковые возможности оценки условия |
| Разделение выборки | Данные отбора параметров, данные оценки, число использований проверочного окна и проверенных версий | Статус результата: без этого нельзя отличить обучающую результативность от результата за её пределами |
| Количество и временное распределение сделок | Общее количество, количества по подпериодам и сведения о кластеризации | Сколько независимых наблюдений представляют сделки и, следовательно, неопределённость оценки |
| Процедура или код | Пошаговая воспроизводимая спецификация с версиями инструментов | Происходят ли различия реконструкций из правила или его исполнения |
| Статус результата | Роль данных и режим исполнения каждого числа в разделе 5 | Что число действительно означает |
Карточка документирует данные, правило и способ исполнения. Без исследования не назначаются время заполнения и распространённость пропусков в других отчётах. Версии инструментов, контрольные суммы файлов и списки решений устанавливают, сравнивается ли один эксперимент.
Кривая капитала может показать путь результата и концентрацию, если заданы оси и основа. Она не заменяет правило, данные, затраты и историю отбора. Один график не воспроизводит тест и не оценивает всех ограничений, хотя не лишён информации.
Что зафиксировать для воспроизведения результата
Вместе с карточкой сохраняйте SHA-256 данных и кода, версии инструментов, параметры, часовой пояс и смещения UTC, начальное значение генератора случайности, если применимо, и список событий. Даты проверки источников определяют, какую документацию модели проверяли. После изменения данных или инструмента сравнивайте список сделок с прежним манифестом, а не только итоговую сумму.
Контрольная сумма обнаруживает изменение байтов файла, но не оценивает качество данных или правильность кода. Одинаковые файлы могут содержать одну ошибку. Манифест определяет использованное, чтобы независимый человек мог исследовать его и повторить исправленный запуск на указанной версии.
Случайный компонент также требует параметров генератора, способа выборки и порядка использования. Одного начального значения может не хватить после смены библиотеки или модели. Версии инструментов и записи событий отличают изменение случайного потока от изменения правила. Это информация для толкования результатов, а не инструкция настройки среды.
9. Оценка чужих результатов через вопросы
Чужой результат оценивается как свой, с одним отличием: недостающую информацию нельзя предоставить самостоятельно, поэтому вопрос без ответа прекращает оценку, а не становится её очередным этапом.
Разделите два списка до первого вопроса, иначе сравнение станет слишком длинным для завершения. Восемь вопросов о самом результате — число сделок, период и инструменты, затраты, разделение данных, число проверенных версий, максимальная просадка, концентрация в крупнейших сделках и носитель риска — относятся к статье 8.2, разделу 13. Они без изменений применимы к алгоритмическим результатам и здесь не повторяются. Список ниже охватывает лишь то, что добавляется, когда число получено историческим тестом котировок, а не исполненными сделками. Каждая строка следует порядку: вопрос, требуемый ответ и смысл его отсутствия.
| Вопрос | Что должен содержать ответ | Что означает его отсутствие |
|---|---|---|
| Какие данные и сторона котировки? | Поставщик, дата скачивания, сторона для условия и учёта исполнения | Неизвестно, включён ли спред; пропуск фиксированного спреда даёт эффект на сделку, накапливающийся линейно |
| Каковы разрешение и внутрисвечное допущение? | Единица времени записи, принятое правило последовательности и доля определённых им случаев | Результаты могут происходить из условности, а не данных; раздел 4 рассчитывает масштаб эффекта |
| Как обрабатывались пробелы записи? | Обработка отсутствующих единиц времени, повторных временных меток и перебоев котировок с их количеством | Неизвестно, одинаковы ли возможности оценки условия в реконструкциях; изменение списка меняет сделки и все последующие числа |
| Каждый компонент затрат фиксирован, считан с данных или генерируется случайно? | Отдельно для спреда, комиссии и проскальзывания: фиксированное значение, наблюдённые данные или распределение выборки с параметрами | Компоненты затрат уже входят в список 8.2; дополнение в том, что формы воспроизводятся по-разному, а случайная выборка без заданного начального значения меняется при каждом запуске. Вся ось затрат в разделе 7 тоже становится недоступной |
| Как сделки распределялись во времени? | Числа по подпериодам и кластеры; общее количество уже входит в список 8.2 | Нельзя оценить эффективное число независимых наблюдений, неопределённость и концентрацию результатов в одном отрезке рядом с пустыми подпериодами |
| Как часто использовалось проверочное окно? | Количество оценок на данных вне отбора параметров и вызывало ли какое-либо чтение изменение правила | Разделение данных уже есть в списке 8.2; дополнение — расходование проверочных данных. Чтение для пересмотра становится материалом отбора новой версии, обессмысливая её ярлык «вне выборки», хотя формальное разделение остаётся |
| Что происходит при сдвиге параметра на один шаг? | Соседние значения, а не один максимум | Чувствительность к соседним параметрам неизвестна |
| Как определён худший путь? | Операционное определение меры и исходный период/выборка; величина просадки уже входит в список 8.2 | Два определения дают два числа для одного пути, поэтому сравнение чисел без определений сравнивает разные величины; раздел 9 объясняет меры риска и их построение |
| Есть ли результаты на поступающих данных и за какой срок? | Дата начала, число сделок и изменения правила в периоде | Остаётся лишь историческая результативность; статус исполнения требует отдельного описания |
| Как проводился тест? | Процедура или код, пошагово воспроизводящие события, с версиями инструментов | Различие реконструкций нельзя отнести к правилу или исполнению — это разные выводы, требующие разных действий |
| Применяет ли публикатор ту же спецификацию на собственные средства? | Совпадает ли предлагаемая версия правила с версией на счёте публикатора и от чего зависит его доход | Кто несёт риск, уже спрашивает список 8.2; дополнение — разделение версий. В отличие от серии ручных исполнений алгоритм может поставляться в иной версии, чем используется. Без различия нельзя оценить стимулы к проверке до поставки — раздел 2 |
Последний вопрос могут счесть невежливым; он единственный не касается самой процедуры теста. Он уточняет, адресованы ли остальные десять тому, кто понёс последствия собственных выводов, или тому, кого затрагивают только чужие. Это не обвинение любой стороны, а определение места бремени проверки.
Как совместить два списка
Их практический порядок важен. Начните с восьми вопросов в статье 8.2: они короче и чаще решают вопрос. Без числа сделок, дат или разделения данных разрешение записи несущественно, поскольку неизвестно, что оно описывало бы. Результат, прошедший список, требует одиннадцати вопросов выше: они определяют, описывает ли число правило или проверявшую его процедуру.
Отчёты реальных ордеров содержат фактические исполнения, но всё ещё требуют версии алгоритма, источника сигналов и изменений правила. Внутрисвечные вопросы относятся к симуляции; качество данных и доступность сигналов важны и в реальном исполнении. Исторические модели затрат можно оценить на отдельной выборке исполнений.
Исполнение снимает неопределённость цены этого исполнения, но не причины отправки ордера программой. Доступные в тот момент данные, версия правила и сигнальные записи по-прежнему нужны. Перебои источника и неверные границы свечей возможны в реальной торговле даже при правильно записанном исполнении.
Симуляция может использовать проскальзывание, оценённое по прежним реальным исполнениям. У выборки собственные даты, инструменты и ограничения. Она не измеряет новые исполнения бэктеста и не гарантирует переноса распределения на следующий период. Сохраняйте происхождение каждого компонента, а не противопоставляйте весь тест любой форме реальных данных.
Что могут предоставить вместо ответов
Ответы могут подменяться другим материалом, но он не равнозначен. Во-первых, кривая капитала не содержит правила, модели затрат и разделения выборки. Во-вторых, длина периода без числа сделок: два года могут означать 20 или 2000 сделок, поэтому равный срок не обязательно даёт сопоставимое число наблюдений. Обе величины входят в список статьи 8.2, однако одна может подменять другую. В-третьих, одно агрегированное число качества без выборки, периода, затрат и разделения данных является функцией этих отсутствующих величин, а не только правила.
Достоверная запись результата может иметь ограниченную ценность для суждения о будущем. Различайте правдивость данных, независимость теста, охват затрат и историю отбора. Один отбор по результативности не доказывает артефакт, но требует учитывающей отбор валидации.
Применение тех же вопросов к собственному результату
Ваш отчёт должен сохранять даты решений, включая чтения без изменения правила. Восстановление задним числом менее надёжно, чем запись в тот момент, но заранее назначать направление ошибок памяти нельзя.
Разделение, записанное до теста, устанавливает план использования данных. Реконструкция может описать фактическое разделение, но не доказывает неизменности после просмотра результатов. Нужны истории версий и решений.
10. Мониторинг и заранее заданный критерий отключения
После внедрения наблюдайте, соответствует ли поведение правила области протестированной версии. Отличия могут отражать случайный разброс, смену условий или сбои данных/исполнения. Критерий результата не определяет причину идеально, но частоту и задержку тревог можно оценивать в явных моделях.
Критерий превышения худшего наблюдения теста
Одна конструкция поднимает тревогу, когда отдельный результат хуже минимума теста. Её свойства ниже рассчитаны для заданной модели, без утверждения, что конструкция распространена.
Допущения. Отключайте алгоритм, когда одно наблюдение хуже худшего наблюдения периода теста. Наблюдение — результат одной закрытой сделки. Тест содержит N сделок; период после внедрения — M. Распределение полностью неизменно, а наблюдения обменны: все порядки равновероятны. Оно также непрерывно, поэтому равных значений нет. Условные значения: расчёт вероятности при указанных допущениях, не результат теста.
Расчёт. Активация возникает ровно тогда, когда худшее наблюдение среди N+M приходится на период после внедрения. При обменности каждое из N+M наблюдений с равной вероятностью худшее, поэтому P=M/(N+M).
N=200 и M=100: P=100÷300=33,3%.
N=200 и M=200: P=200÷400=50,0%.
N=600 и M=100: P=100÷700=14,3%.
Для любого конечного M вероятность меньше 1. Она стремится к 1 при неограниченном росте M в модели. Тревога в заданный срок не гарантируется; обменность и непрерывность — важные допущения.
M/(N+M) касается минимума отдельных результатов при обменности и отсутствии равенств. Это даже не готовое приближение превышения максимальной просадки, которая зависит от пути и требует отдельной модели. За пределами допущений частота тревог может отличаться.
Обменность означает симметрию совместного распределения при перестановке. Одного равенства средних для расчёта недостаточно. Временная зависимость или смена распределения могут менять вероятность расположения минимума. Отсутствие равенств обеспечивает единственное худшее наблюдение; одинаковые значения требуют явного правила тревоги.
Максимальная просадка не является минимальным отдельным результатом. Она возникает из накопленных путей и может меняться при перестановке исходов даже на одном наборе сделок. Поэтому формула не превращает размер выборки в частоту тревог по просадке. Модель показывает проблему короткого опорного периода для отдельных убытков.
Прокрутите схему по горизонтали или откройте в полном размере.
У расчёта есть последствия для проектирования. Такой критерий нужно связывать с длиной периода, а не только порогом: «хуже худшего в тесте» различается после 100 и 1000 сделок. Второе следствие касается четвёртого этапа в процедуре: более длинный тест снижает чувствительность к ложной тревоге — ещё одна причина не сокращать этот этап.
Критерий отсутствия сделок
Вторая конструкция касается противоположного случая: правило не формирует сигналов, хотя должно. Это предупреждение о соответствии встречаемых условий тем, для которых правило создано, а не о результативности.
Допущения. Протестированное правило давало в среднем одну сделку за 21 сессию. Возникновения сигналов предполагаются независимыми и равномерными во времени: количества за интервал следуют распределению Пуассона со средним, равным длине интервала, делённой на 21. Условные значения.
Расчёт. Вероятность отсутствия сигнала g сессий равна e^(−g/21).
g=40: e^(−1,905)=14,9%.
g=60: e^(−2,857)=5,7%.
g=90: e^(−4,286)=1,4%.
Перерыв с вероятностью 5% длится −ln(0,05)×21=2,996×21=62,9 сессии; при 1% — −ln(0,01)×21=4,605×21=96,7 сессии.
Доступность информации и исполнение. Одна сделка за 21 сессию известна из теста до внедрения, позволяя заранее задать критерий. Длина текущего перерыва известна по мере его развития, без послеторговой величины.
Для одного заранее выбранного окна из 40 сессий вероятность отсутствия сигнала по Пуассону 14,9%. Это не частота самого длинного перерыва за годы мониторинга. Кластеризация и переменная интенсивность могут менять результаты в обе стороны; без модели проценты не называются нижними границами.
Что должен содержать письменный критерий отключения
Критерий результата должен задать меру, единицу, порог, длину наблюдения, требуемую выборку и действие после тревоги. Отдельные нарушения целостности, например повторные ордера или отсутствие необходимых данных, могут требовать немедленной остановки без ожидания минимального числа сделок.
Порог без периода наблюдения неполон: один результат, средняя недавнего окна и исторический минимум — разные величины. Длина окна и нужное N определяют события тревоги. Многочисленные проверки требуют учёта частоты и зависимости; процент одной проверки не описывает автоматически весь мониторинг.
Действие после тревоги тоже нужно задать. Приостановка, диагностика и перезапуск требуют причины и отслеживаемой версии. Пересмотр по периоду тревоги не сохраняет прежний статус независимого теста. Нарушения целостности отдельны: их обнаружение не обязано ждать статистической оценки средней.
Условия перезапуска должны воспроизводиться: определите причину тревоги, исправьте и оцените новую версию на неиспользованных данных и в заданном форвардном режиме. Период, вызвавший пересмотр, служит диагностике, а не новой независимой OOS-валидации.
Почему такие критерии ошибаются в обе стороны
Чувствительный критерий отключает работающее правило, как показывает первый расчёт. Нечувствительный оставляет его работающим после смены условий столько, сколько требуется для накопления решающей выборки. Обе стороны компромисса возникают потому, что одна серия результатов совместима со многими распределениями, а для различения нужны наблюдения, накапливающиеся во времени. Статья 8.2 рассматривает выборку для обнаружения заданной разницы.
Критерий результата выбирает баланс между частыми тревогами и запоздалыми реакциями. Его свойства оцениваются в явных моделях и перспективно. Результаты не определяют режим с уверенностью, но полезная диагностика остаётся возможной.
Больше проверок — выше вероятность тревоги
В однородной модели Пуассона одно заранее выбранное окно 60 сессий имеет вероятность отсутствия сигнала q=exp(−60/21)=5,74%. Для 12 непересекающихся окон, независимых в модели, вероятность хотя бы одного пустого окна 1−(1−q)¹²=50,82%. Это не моделирует скользящие перекрывающиеся окна. Порог одной проверки нельзя называть годовой частотой ложной тревоги без пересчёта.
12 непересекающихся окон задают конкретный набор проверок. Пуассоновские количества в них независимы, что позволяет перемножить вероятности отсутствия пустого окна и вычесть из 1. Допущение относится к формуле, а не каждой наблюдаемой стратегии.
Скользящие проверки разделяют многие сессии. Их результаты зависимы и могут многократно отмечать один длинный перерыв. Частота требует другого расчёта или явной симуляции всей процедуры. Оценка интенсивности по короткой выборке тоже добавляет неопределённость. Иллюстрация считает одну сделку за 21 сессию заданным параметром, а не измеренным преимуществом.
11. Чего эта статья не устанавливает
У процедуры определённая область применения; её стоит изложить, поскольку каждое ограничение ниже меняет допустимые выводы.
Завершение процедуры не устанавливает преимущества
Процедура даёт сведения о протестированной версии при заданных данных и затратах. Постоянное преимущество она не гарантирует. Хорошие OOS-результаты с оценкой неопределённости могут поддерживать его; отбор и проверка не устанавливают заранее ни успеха, ни артефакта.
Это практическое, а не философское различие. «Правило прошло процедуру» можно проверить и заявить. «У правила преимущество» дополнительно требует ожидания после полных затрат и оценок неопределённости на данных вне построения. Это относится к статье 8.2, а не к этому тексту.
Здесь каждое числовое значение предполагается
Тест не проводился. 240 сигналов, 400 сделок, 46 спорных случаев, шесть параметров двух версий и 21 сессия между сигналами лишь показывают расчёты и масштаб. Собственные входы изменили бы каждый результат, иногда знак. Рассматривать любое число как оценку — противоречить его указанному статусу.
Поиск правила, достойного теста
Идеи и построение сигналов относятся к разделу 5 и статье 8.7. Тест может дать диагностику для следующей гипотезы, но не гарантирует лучшей идеи. Каждый пересмотр по результатам теста расширяет историю отбора.
Исполнение здесь вход, а не предмет рассмотрения
Проскальзывание, отказы и частичные исполнения входят в модель затрат как числа, требующие источника. Их источник касается условий торговли и сравнения, рассмотренных в разделе 11. Среда программы, настройка и технические требования относятся к разделу 12. Ни одна тема здесь не описана и не выводится из предыдущего материала.
Размер позиции и меры портфельного риска вне расчёта
Результаты в пипсах независимы от объёма в предполагаемой линейной модели затрат. Минимальные комиссии и иные условия исполнения могут нарушить это. Определение размера позиции и меры траектории капитала относятся к разделу 9.
Поведение после отключения относится к другому разделу
Критерии отключения рассмотрены как элементы процедуры с моделируемыми свойствами. Определите их до внедрения и фиксируйте позднейшие изменения. Реакции человека на плохие результаты относятся к разделу 10.
12. Упражнение для самопроверки и следующий шаг
Упражнение повторяет три расчёта с другими входами и выявляет пропуски в чужом отчёте. Далее приведены набор данных и решение.
Часть первая — внутрисвечные допущения. 300 закрытых сделок с целью 25 пипсов и защитным выходом 25 пипсов от общей опорной цены до затрат. В 39 сделках одна свеча охватила оба уровня. 261 разрешимая сделка суммарно дала −60 пипсов. Вход и выход симулировались по одной стороне котировки, без спреда 0,50 пипса. Условные значения.
- Рассчитайте долю неразрешённых случаев.
- Рассчитайте общий итог и среднюю на сделку оптимистичной и консервативной версий.
- Рассчитайте диапазон на сделку.
- Скорректируйте оба результата на пропущенный спред.
Часть вторая — чувствительность. Проверка параметра дала пик +1,10 пипса на сделку; ближайшие соседи +0,24 и +0,16 пипса.
- Рассчитайте отношение пика к средней окрестности и опишите чувствительность; одна геометрия не устанавливает длительной стабильности.
- Проверьте пик и окрестность после добавления 0,45 пипса к затратам.
Часть третья — критерий отключения. Тест содержал 150 сделок. Отключайте, когда одна сделка хуже худшей в тесте.
- Рассчитайте вероятность активации за 150 сделок после внедрения при неизменном распределении.
- Повторите с 450 сделками теста вместо 150.
Часть четвёртая — чужой результат. Заявление: «Система на одной валютной паре, два года часовых данных, положительный результат, проверено вне выборки». Найдите отсутствующие элементы карточки воспроизводимости.
1. Доля неразрешённых случаев.39÷300=0,130=13,0%.
2. Две версии. Оптимистично:−60+39×25=−60+975=+915 пипсов, или 915÷300=+3,05 пипса на сделку. Консервативно:−60−39×25=−60−975=−1035 пипсов, или −1035÷300=−3,45 пипса.
3. Диапазон.39×(25+25)÷300=1950÷300=6,50 пипса на сделку. Проверка:3,05−(−3,45)=6,50. Знак полностью зависит от допущения, а не данных; 13% сделок определяют весь результат.
4. Поправка на спред.300×0,50=150 пипсов всего;261×0,50=130,5 пипса для разрешимых сделок. Оптимистично:915−150=765 пипсов, или+2,55 пипса. Консервативно:−1035−150=−1185 пипсов, или−3,95 пипса. Разрешимый итог падает с −60 до−190,5 пипса, поэтому без спорных случаев правило теряет при обоих допущениях.
5. Средняя окрестности 0,20; отношение пика 1,10/0,20=5,50. Снижения на один шаг 78,2% и 85,5%. Пик чувствителен в этом наборе. Средняя 0,20 не становится подтверждённым ожиданием: она всё ещё из одной выборки.
6. Добавление 0,45 снижает пик до +0,65, а среднюю окрестности до −0,25 пипса. Это показывает чувствительность к затратам и параметру здесь. Оно не устанавливает артефакт или заданную вероятность сохранения положительного пика.
7. При N=M=150 обменность без равенств даёт P=150/300=50%. Это вероятность хотя бы одного нового минимума до указанного количества наблюдений, а не гарантия тревоги на конкретной сделке.
8. Более длинный тест. P=150÷(450+150)=150÷600=25,0%. Утроение длины теста вдвое снизило вероятность ложного срабатывания без смены правила или критерия.
9. Пропуски отчёта. Он затрагивает три элемента, но завершает один. Инструмент и период фрагментарны: нет символа и дат; «два года» не заменяет диапазон. Разрешение дано — это единственный полный элемент. «Проверено вне выборки» заявляет статус, но без разделения выборки его нельзя проверить и элемент не завершён.
Не хватает девяти других элементов: полного правила, источника/версии данных, стороны котировки, внутрисвечного допущения/доли спорных случаев, постатейной модели затрат, обработки пробелов, разделения выборки/числа использований валидации/проверенных версий, числа и временного распределения сделок и воспроизводимой процедуры. При часовых данных и двух уровнях выхода отсутствие одного внутрисвечного допущения уже может мешать интерпретации, как показывает расчёт первой части: его знак целиком зависел от этого допущения.
Проверка. Консервативные результаты ниже в обоих расчётах. Оба расчёта диапазона согласуются. Вероятность тревоги падает с длиной теста. Итоги сделок выражены в пипсах, а средние — в пипсах на сделку; пересчёт в валюту счёта не проводился и потребовал бы стоимости пипса.
Следующее применение процедуры
Сначала документируйте правило, данные и модель. Затем проверяйте совпадение реализаций и считайте. Не предполагается, что это займёт час или что в большинстве отчётов есть определённое число пропусков.
Диагностируйте долю и влияние внутрисвечных случаев, окрестность параметра и чувствительность к затратам. Первое требует событий симуляции; второе — дополнительных настроек параметра; полный стресс затрат может требовать повторной симуляции. Не вся информация получается одним запуском.
Отдельный вопрос вне статьи часто первым решает выполнимость: помещается ли такой способ работы в доступные вам часы и обстоятельства? Автоматизация меняет меньше, чем кажется: переносит нагрузку с наблюдения рынка на построение и надзор, а не снимает её. Мониторинг из раздела 10 остаётся регулярной работой. Статья 8.10, последний урок раздела, исключает методы, невыполнимые при личных ограничениях.
Частые вопросы
Улучшает ли автоматизация результаты?
Она может менять время реакции, пропуски, исполнения и затраты, а значит чистый результат. Множитель 1,573 из раздела 1 сохраняет знак лишь при неизменной средней на сделку. Одна автоматизация не устанавливает положительного преимущества и не гарантирует улучшения.
Доказывает ли исторический бэктест работоспособность правила?
Историческая проверка может служить отбору, диагностике или OOS-валидации в зависимости от роли данных. Один результат не гарантирует сохранения. Сообщайте правило, доступность информации, затраты, внутрисвечное допущение и историю отбора. 46 спорных сделок из 400 показывают, как отсутствие последовательности меняет знак всей средней.
Как проверить историческую подгонку параметров?
Проверяйте соседние параметры, подпериоды, затраты и историю отбора. Плоская область — полезная диагностика чувствительности, но тоже может возникнуть из отбора на той же выборке. Один изолированный пик не доказывает артефакт. Нужны независимая проверка и неопределённость результатов.
Что спросить перед использованием чужого алгоритма или копированием сделок?
Нужны два набора вопросов. Статья 8.2, раздел 13 даёт восемь о результате: число сделок, период/инструменты, затраты, разделение данных, число проверенных версий, просадка, концентрация в крупнейших сделках и носитель риска. Они одинаково применимы к алгоритмам и ручным решениям. Раздел 9 добавляет одиннадцать о тестировании: источник/сторона котировки, разрешение/внутрисвечное допущение, обработка пробелов, форма каждого компонента затрат, временное распределение, использования проверочного окна, чувствительность к шагу параметра, определение худшего пути, срок поступающих данных, процедура/версии инструментов и применение публикатором того же правила на свои средства. Копирование без раскрытого правила исключает воспроизведение; остаётся лишь запись результата, а не тест.
Когда отключать алгоритм?
Когда выполнен заданный критерий. Тревоги по результатам требуют порога, периода, выборки и действия. Сбои данных или повторные ордера — отдельные основания приостановки без ожидания выборки. Модель минимума M/(N+M) касается только отдельных исходов при обменности без равенств.
Почему две программы по одному описанию отличаются?
Причина может быть в неоднозначной спецификации, ошибках кода, данных или настройках исполнения. Сопоставьте события и найдите первое различие. Уточните спецификацию письменно, исправьте ошибки реализации и повторите запуск. Условная разница списков 18,2% дала более чем шестикратную разницу средних, а не универсальное отношение.
Источники и ссылки
- Оценка и оптимизация торговых стратегий — отрывок главы 1. Описывает устройство walk-forward; не доказывает ни одного результата урока. Объём проверки: доступный отрывок главы 1 на 12 страницах и издательские сведения, а не вся книга. Доступ проверен:2026-10-05.
- Проверка реальностью при переборе данных. Аннотация описывает риск отбора модели при повторном использовании данных и тест с ориентиром. Объём проверки: аннотация и сведения о статье в академической PDF-копии, а не все 30 страниц. Доступ проверен:2026-10-05.
- Вероятность переобучения бэктеста. Процедура вероятности переобучения; один отбор не доказывает артефакт. Объём проверки: аннотация и выдержки определения в PDF авторов; чтение всех 34 страниц не заявляется. Доступ проверен:2026-10-05.
- …и поперечное сечение ожидаемых доходностей. Аннотация описывает множественное тестирование ожидаемых доходностей; численные пороги не переносились на FX. Объём проверки: аннотация на странице 1 PDF автора и публикационные сведения, а не все 64 страницы. Доступ проверен:2026-10-05.
- Что известно о прибыльности технического анализа? Библиография обзора; не используется для заявления о ложности большинства результатов. Объём проверки: библиографические сведения на сайте автора; статья полностью не читалась. Доступ проверен:2026-10-05.
- TradingView Pine Script — Стратегии: эмулятор брокера. Два допущения путей OHLC, ограничения брокерской модели и внутрисвечных данных. Объём проверки: разделы документации Broker emulator и Bar Magnifier. Доступ проверен:2026-10-05.