Еще один аспект разработки торговых систем состоит в оптимизации, т.е. улучшении эффективности систем при помощи подбора таких значений параметров, при которых система дает наилучший результат на выборке данных. Если система не работает при тестировании на данных вне пределов выборки или на реальном рынке, говорят, что при оптимизации имела место подгонка под исторические данные. Впрочем, подгонка бывает полезной и вредной. Полезная подгонка — это случай, когда модель подогнана под всю популяцию (т.е. под достаточно большую и представительную) и при этом отражает все достоверные характеристики реальной популяции в системе. Подгонка вредна, если система соответствует только некоторым случайным характеристикам, не обязательно отражающим свойства всей популяции.
Разработчики недаром боятся вредной подгонки, т.е. ситуации, когда параметры, оптимизированные на данной выборке, не работают на популяции в целом. Если выборка была небольшой или не представительной, вероятнее всего, система будет работать хорошо на данной выборке и из рук вон плохо на другой или, что еще опаснее, приведет к потере денег в реальной торговле. Чем больше выборка данных, тем меньше эта опасность: вероятность вредной подгонки снижается, а полезной — возрастает. Все рассматриваемые методы статистики отражают это явление, даже специально предназначенные для оптимизации. Достоверно известно, что чем больше параметров подвергается оптимизации, тем больше вероятность того, что высокие результаты системы будут достигнуты чисто случайным сочетанием. Если же результаты статистического анализа удовлетворительны, и тест основывался на достаточно большой выборке данных, то вероятность случайного результата снижается, и даже полученный при оптимизации множества параметров результат вполне может быть реальным и значимым.
Некоторые возражают, что размер не имеет значения, т.е. размер выборки и количество проведенных сделок не имеют ничего общего с риском избыточной оптимизации, и что большая выборка не снимает угрозы вредной подгонки под исторические данные. Это неверно и математически, и интуитивно. Никто не стал бы больше доверять системе, которая провела 3 — 4 сделки за десятилетний период, чем системе, которая провела более тысячи достаточно прибыльных сделок. Представьте себе модель линейной регрессии, в которой прямую линию подгоняют к ряду точек. Если точек всего две, то вне зависимости от их положения линию всегда можно подогнать идеально. Если точек три, то дело усложняется.
Если же точек действительно много, то проблема становится еще сложнее, если только расположение точек не содержит некоего реального линейного распределения.
Пример с линейной регрессией показывает, что вредная подгонка затрудняется с ростом объема данных. Сравните две торговые системы: одна провела 2 сделки с прибылью $100 в каждой и стандартным отклонением $100; другая — 1000 сделок с такими же средним и стандартным отклонениями. При статистической оценке система, проведшая 1000 сделок, будет гораздо статистически значимее, чем система, проведшая 2 сделки.
В моделях множественной линейной регрессии при увеличении количества параметров регрессии (бета- весов) по отношению к размеру выборки увеличивается степень вредной подгонки и уменьшается достоверность результатов модели. Другими словами, чем выше степень подгонки под исторические данные, тем сложнее добиться статистической значимости. Исключением является случай, когда повышение результативности модели, вызванное подгонкой, компенсирует потерю значимости при добавлении параметров. Оценка степени ожидаемого снижения корреляции при использовании данных вне выборки может производиться напрямую, исходя из объема данных и количества параметров: корреляция снижается с увеличением числа параметров и увеличивается с ростом объема данных. В общем, существуют достоверные математические доказательства того, что вероятность вредной подгонки повышается, если количество оптимизируемых параметров велико по отношению к объему используемой выборки данных. Фактически, когда n (размер выборки) стремится к бесконечности, вероятность того, что подгонка параметров будет непредставительной для данной популяции, стремится к нулю. Чем больше параметров оптимизируется, тем большая требуется выборка данных. На языке статистики это звучит так: оптимизируемые параметры используют доступные степени свободы.