Метод перебора данных или комбинаторный взрыв
При написании торговых систем, все мы используем бэк-тестинг, т.е. проверяем, как бы работал алгоритм на исторических данных.
Очень часто необходимо прогнать одни и те же данные сотни или даже тысячи раз, подставляя разные параметры.
Большинство из нас пользуется старым добрым перебором, к-й гарантирует нам подобрать оптимальное решение, но временные нагрузки неограниченны.
Предлагаю ознакомиться с эпическим мультиком, под названием «комбинаторный взрыв»:
Решением может стать отказ от тупого перебора, я нашел для себя градиентный метод нахождения экстремумов. А чем пользуетесь вы?
P.S. Японцы красавцы — обучающий мультик вполне себе.
287 |
Читайте на SMART-LAB:
EUR/USD: евро растет против доллара вопреки негативным сигналам
Евро отступил от локальной вершины, достигнутой ранее в ходе роста, и продолжил колебаться ниже в ограниченном диапазоне. Это было связано с...
Собрание акционеров ПАО «ЭсЭфАй» утвердило выплату дивидендов по итогам 2025 года
4 мая 2026 года состоялось заседание годового общего собрания акционеров ПАО «ЭсЭфАй». В соответствии с рекомендациями Совета директоров...
Отставшие нефтяники: что с ними не так
Дарья Фёдорова, Алексей Девятов Почти два месяца нефть Urals держится выше $90 за баррель, санкции США против российской нефти были временно...
Самый интересный пост: что внутри портфелей у нашей команды + короткое объяснение по каждой позиции
Сегодня пришло время совершить квартальное раскрытие наших инвестиционных портфелей. Что внутри? ✅Состав портфелей каждого из наших...
Существует еще одна проблема: каждый раз, когда вы делите систему на два или более состояния, вы по определению сокращаете количество наблюдений в каждом состоянии. Чтобы проиллюстрировать это, представьте, что каждый из 37 классификаторов в моей IWM-системе имеет лишь 2 состояния – лонг или кэш. Тогда существует 2^37 = 137 млрд. возможных состояний системы. Напомним, что статистическая значимость зависит от числа наблюдений, таким образом, уменьшение количества наблюдений на состояние в системе снижает статистическую значимость наблюдаемых результатов для каждого состояния, а также для системы в целом. Например, возьмем дневную торговую систему с 20-летней историей тестирования. Если вы разделите 20 лет (~5000 дней) на 137 млрд. возможных состояний, каждое состояние будет иметь в среднем всего 5000/137 млрд. = 0,00000004 наблюдения на состояние! Очевидно, что 20 лет истории не достаточно, чтобы быть уверенным в этой системе; вам потребуется период тестирования более 3 млн. лет, чтобы получить статистический уровень значимости.
Как правило, чем больше степеней свободы имеет ваша модель, тем больше должен быть размер выборки, чтобы доказать статистическую значимость. Верно и обратное: при одинаковом размере выборки модель с меньшим числом степеней свободы, скорее всего, будет иметь более высокую статистическую значимость. В мире инвестирования, если вы смотрите на результаты бэктестирования двух инвестиционных моделей с аналогичными результатами, как правило, следует отдать предпочтение модели с меньшим числом степеней свободы. По крайней мере, можно сказать, что результаты этой модели будут иметь большую статистическую значимость, и большую вероятность того, что результаты при работе будут согласоваться с тем, что наблюдалось при тестировании.
Хорошо сказал…