Андрей Роев
Андрей Роев личный блог
20 июля 2014, 16:07

Метод перебора данных или комбинаторный взрыв

При написании торговых систем, все мы используем бэк-тестинг, т.е. проверяем, как бы работал алгоритм на исторических данных.
Очень часто необходимо прогнать одни и те же данные сотни или даже тысячи раз, подставляя разные параметры.
Большинство из нас пользуется старым добрым перебором, к-й гарантирует нам подобрать оптимальное решение, но временные нагрузки неограниченны.
Предлагаю ознакомиться с эпическим мультиком, под названием «комбинаторный взрыв»:


Решением может стать отказ от тупого перебора, я нашел для себя градиентный метод нахождения экстремумов. А чем пользуетесь вы?

P.S. Японцы красавцы — обучающий мультик вполне себе.
2 Комментария
  • ves2010
    20 июля 2014, 18:58
    смысла нет… по этому поводу есть отличная статья на сайте механизатора… жаль нет кома под рукой а то бы дал ссыль… вкратце замес в том что каждый параметр оптимизации требует увеличения времени наблюдения вдвое… т.к. 2 параметра оптимизации уже есть по умолчанию = таймфрейм+выбранная бумага то дополнительные параметры это писец в квадрате…
    • ves2010
      20 июля 2014, 22:13
      ves2010, про переоптимизацию — умный текст…
      Существует еще одна проблема: каждый раз, когда вы делите систему на два или более состояния, вы по определению сокращаете количество наблюдений в каждом состоянии. Чтобы проиллюстрировать это, представьте, что каждый из 37 классификаторов в моей IWM-системе имеет лишь 2 состояния – лонг или кэш. Тогда существует 2^37 = 137 млрд. возможных состояний системы. Напомним, что статистическая значимость зависит от числа наблюдений, таким образом, уменьшение количества наблюдений на состояние в системе снижает статистическую значимость наблюдаемых результатов для каждого состояния, а также для системы в целом. Например, возьмем дневную торговую систему с 20-летней историей тестирования. Если вы разделите 20 лет (~5000 дней) на 137 млрд. возможных состояний, каждое состояние будет иметь в среднем всего 5000/137 млрд. = 0,00000004 наблюдения на состояние! Очевидно, что 20 лет истории не достаточно, чтобы быть уверенным в этой системе; вам потребуется период тестирования более 3 млн. лет, чтобы получить статистический уровень значимости.

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

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн