Модуль T17: особенности математического алгоритма Монте-Карло

Apr 11, 2018 10:44

Модуль T17 при расчете профита дает не всегда одинаковые результаты, при перерасчете тех же позиций. Почему это происходит? Берем для примера цикл Луна-Солнце или Mon-Sun (Moon-Sun и Sun-Moon это для программы один и тот же цикл). Сейчас мы пару раз рандомизируем и оптимизируем нашу модель:



В первый раз мы получили результат 5.15%:



Следующая попытка (снова рандомизируем или сбрасываем на ноль, и заново оптимизируем модель) на тех же самых исходных дала значение 4,86%:



Что это, ошибка? Нет, это не ошибка, это специфика работы модуля T17 при использовании алгоритма Монте-Карло. Тот же эффект, кстати, имеет место быть в модуле Neural Net. В нейосетевой науке это называется стохастическим эффектом, подробнее почитать можно здесь: http://www.timingsolution.com/TS/FAQ/overtraining.pdf

Общая спецификация модулей T17 и NN заключается в том, что мы там применяем алгоритмы, которые используют рандомизированные значения (RANDOM). Что касается T17, это выглядит так: я выставил сигналы покупки/продажи, на основе цикла Moon-Sun, некоторым случайным образом, пусть это будут следующие сигналы:



Рассчитываем профит.

Выстанавливаем сигналы на покупку-продажу еще раз, случайным образом, и снова рассчитываем профит - и т.д

Здесь мы просчитываем некоторое множество случайных сигналов и находим сигналы, обеспечивающие максимальную прибыль. Этот метод называется алгоритмом Монте-Карло (Под методом Монте-Карло понимается численный метод решения математических задач при помощи моделирования случайных величин). Иногда алгоритм Монте-Карло - единственный способ решить сложную задачу. Например, мы можем проанализировать модель следующим образом:



Альтернатива Монте-Карло - анализ ВСЕХ угловых комбинаций между планетами, но это слишком большой объем вычислительной работы, я не думаю, что компьютеры могут решить эту задачу в ближайшем будущем.

Побочным негативным эффектом алгоритма Монте-Карло является некоторая неопределенность - метод дает несколько различающиеся результаты. Если искать альтернативы, то генетический алгоритм (Genetic algorithm, GA) в значительной степени одинаков с Монте-Карло - это лишь несколько улучшенная версия простейшего Монте-Карло. Но, на наш взгляд, это улучшение есть не очень хорошо, когда мы работаем с финансовыми данными. GA предполагает определенную гладкость, но данная гладкость не типична для финансовых данных. Сливая в одно две хорошие модели, мы можем здесь легко получить на выходе плохую модель, и наоборот наоборот (эффект мутации). Вот почему я предпочитаю использовать простейший алгоритм Монте-Карло.

Дополнительно об алгоритме Монте-Карло прочитать здесь и здесь.

#стохастический эффект в нейросетях, [модуль Neural Net], [модуль T17], [модули Тerra], #алгоритм Монте-Карло

Previous post Next post
Up