Модуль 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 предполагает определенную гладкость, но данная гладкость не типична для финансовых данных. Сливая в одно две хорошие модели, мы можем здесь легко получить на выходе плохую модель, и наоборот наоборот (эффект мутации). Вот почему я предпочитаю использовать простейший алгоритм Монте-Карло.
Дополнительно об алгоритме Монте-Карло прочитать
здесь и
здесь.