Система поиска адекватных математических моделей

Е.А. Шумков, Д.Н.Карлов

Кубанский Государственный Технологический Университет

 

Часто существует следующая проблема: есть предметная область и есть математические формулы в ней работающие, но в формулах есть граничные условия, коэффициенты, варианты применения, которые необходимо подбирать. Как пример приведем рынок  Forex, в нем есть динамически изменяющиеся временные ряды курсов валют и есть технические индикаторы, которые позволяют прогнозировать с той или иной точностью изменение курса. Есть также фундаментальный анализ, эконометрика и другие методы анализа валютных рынков, но мы будем рассматривать только технические индикаторы. Технический индикатор обычно представляется как математическая формула (или несколько формул) с варьируемыми параметрами и условиями для покупки и продажи, также можно отдельно выделить взаимодействие рассматриваемого индикатора с другими индикаторами. Главной задачей игрока валютного рынка (трейдера) при использовании индикаторов, является нахождение численных параметров формулы индикатора, численных параметров условий открытия/закрытия торговых позиций и выхода из них. Отметим, что это сложная задача. Есть базовые рекомендации из учебников и есть реальные торговые счета игроков. При этом есть большое количество индикаторов. И на все это накладывается гипотеза эффективного рынка, которая говорит, что вероятность движения цены вверх в следующий момент времени, равна вероятности движения цены вниз.

Рассмотрим распространенный индикатор «Простое скользящее среднее» (“Simple Moving Average”, далее SMA), который также входит во многие другие индикаторы как составляющая часть. Формула SMA:

                                                         (1)

где   - цена закрытия периода,  - число периодов.

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

Но временной ряд постоянно колеблется и линия индикатора может часто пересекать линию цены инструмента, возникает вопрос – сразу закрывать/открывать позиции или ждать пока линия индикатора будет на каком – то расстоянии от линии цены инструмента? Это первые два параметра, которые необходимо найти. Также необходимо найти длину периода расчета в (1) и какую из четырех цен “OLHC” использовать в (1). То есть необходимо определить четыре параметра. В качестве оценки вариантов можно использовать Прибыль или отношение Прибыль/Убытки, чем выше значение оценки, тем лучше. Для тестирования используется история временного ряда. Задачу нахождения четырех параметров можно решать несколькими способами, например простым перебором, который несложно запрограммировать, но он будет занимать продолжительное время. Предложим способ нахождения параметров с использованием генетического алгоритма. Пусть искомые четыре параметра будут ячейками хромосомы, далее с использованием операций кроссовера и мутации, за меньший промежуток времени, чем простым перебором, можно найти лучшие параметры индикатора.

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

Таким образом, используя математические формулы с варьируемыми параметрами и условиями, можно с помощью генетических алгоритмов в приемлемый временной интервал находить наиболее адекватную математическую формулу для заданной предметной области.

 



Контактная информация

КубГТУ
Краснодар
ул. Красная 135
Телефон: (861) 255 15 09
Fax: -
E-mail: sneveld@rambler.ru