ISSN 0236-235X (P)
ISSN 2311-2735 (E)
4

09 Сентября 2024

Система моделирования и оценки эффективности торговых стратегий


Сунцов А.М. () -
Ключевое слово:
Ключевое слово:


     

Финансовый рынок мы будем рассматривать как совокупность инструмента торговли, места торговли, участников торговли (инвесторов), правил торговли и собственно торговых процессов, проводимых инвесторами в соответствии с правилами торговли. Под торговой стратегией понимается объективный и замкнутый алгоритм, определяющий взаимодействие инвестора с рынком с целью систематического получения прибыли. Данное взаимодействие осуществляется посредством выставления инвестором на рынок заявок на покупку или продажу торгуемого финансового инструмента и отслеживания результатов их исполнения. Следует отметить, что торговая стратегия сама по себе является моделью финансового рынка. Моделирование торговой стратегии – это ее приложение (применение) к конкретной динамике цен на рынке с получением показателей эффективности, включающих прежде всего полученную прибыль. Существует большое количество торговых стратегий, для решения задачи их моделирования  используются различные программные системы. Обычно эти системы встроены в сложные системы анализа рыночной динамики в режиме on-line типа MetaStock или Omega TradeStation. С одной стороны, это удобно, поскольку моделирование сводится к использованию этих систем в режиме off-line на исторических данных. Однако для решения задачи сравнения торговых стратегий с разнообразными параметрами может потребоваться много времени, при этом одни и те же вычисления будут повторяться при моделировании нескольких близких стратегий, отличающихся лишь значениями некоторых параметров. Кроме этого, вышеупомянутые системы имеют сложности в построении моделей, базирующихся на нескольких торговых стратегиях, выполняемых одновременно. Следовательно, для эффективного решения задачи моделирования большого количества торговых стратегий требуются специализированные программные средства (системы моделирования). Среди необходимых требований к таким системам можно выделить следующие:

·     базирование на универсальном подходе к представлению торговых стратегий;

·     поддержку универсального критерия эффективности стратегий;

·     поддержку универсального и доступного набора входных данных;

·     широкий набор параметров с возможностью расширения набора и задания различных значений параметров;

·     исключение выполнения одних и тех же расчетов для различных комбинаций параметров для минимизации времени моделирования.

Универсальный подход к представлению торговых стратегий

Анализ зависимости цены от времени показывает, что рынок имеет некоторые повторяющиеся особенности. Будем считать, что рынок состоит из “существенных движений”, выделяя которые можно получать прибыль. Существенные движения назовем квантами. При этом существенное движение вверх (цена растет) назовем положительным квантом (квант вверх), а существенное движение вниз (цена уменьшается) – отрицательным квантом (квант вниз). Квант открывается в начале существенного движения и закрывается в его конце. Каждая торговая стратегия фактически выполняет задачу выделения таких квантов и использования их для покупки и продажи инструмента торговли.

Квант имеет следующие характеристики:

·     алгоритм формирования (собственно торговая стратегия); задается в виде абстрактного автомата, который паре <состояние, событие> ставит в соответствие «реакцию», которая может привести к открытию (закрытию) кванта, к изменению состояния кванта; набор состояний и событий, а также таблицу переходов абстрактного автомата определяет пользователь;

·     торговая позиция; определяется количеством (и знаком) торгового инструмента, имеющегося у кванта. Количество торгового инструмента (и знак соответствующей позиции) может быть отрицательным в случае продажи инструмента, взятого в долг (например, продажи акции) или продажи фьючерса; квант вверх может иметь только положительную позицию, квант вниз – только отрицательную;

·     направление (вверх – квант имеет положительную позицию, вниз – отрицательную позицию);

·     цена открытия;

·     цена закрытия;

·     максимальная цена;

·     минимальная цена;

·     относительная прибыль (Р); для стратегии управления капиталом без инвестирования: ;

·     параметры, задаваемые пользователем;

Система моделирования базируется на механизмах построения и анализа квантов для моделируемых торговых стратегий.

Универсальный критерий эффективности стратегий

Наиболее распространенными критериями эффективности торговой стратегии являются следующие:

·     суммарная прибыль/убыток за период исследования;

·     значение максимального снижения торговых активов в течение рассматриваемого периода (следует заметить, что стратегии, допускающие периодические крупные потери, не могут рассматриваться как пригодные к использованию, даже если они дают достаточную итоговую прибыль);

·     отношение среднего дохода на одну сделку к среднему убытку на одну сделку (под средним доходом на одну сделку понимается величина, равная сумме всех прибылей от всех доходных сделок, деленная на количество доходных сделок, совершенных за период моделирования; средний убыток считается аналогично);

·     процентное отношение числа прибыльных сделок к общему числу сделок.

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

Кроме того, в предложенных способах оценки эффективности стратегий общая чистая прибыль рассчитывается для определенного периода, например с первого по последнее число месяца. Но что делать, если инвестор решил использовать стратегию в середине месяца? Более того, инвестор может завершить работу стратегии в любой момент в течение данного периода, и полученная при этом конечная прибыль может не только не совпасть с ожидаемой, но и вообще оказаться неприемлемой для инвестора. Поэтому инвестору не так важно конкретное значение конечной прибыли, которое является случайным числом. Его должны интересовать вероятности получения определенной прибыли при работе в течение интересующего временного интервала. Зная такие вероятности на интересующих его интервалах времени, инвестор будет иметь исчерпывающую информацию для принятия решений.

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

Имея значение капитала на каждый день в этом базовом интервале, можно посчитать вероятность получения прибыли  на интересующем инвестора временном отрезке. Например, чтобы оценить  вероятность получения  прибыли в течение недели, необходимо пройти по базовому интервалу со скользящим окном в 7 дней и для каждого дня вычислить разность Pi=Ki-Ki-7, i=7…365, где Pi –  прибыль за неделю; Ki – активы инвестора на i-й день; Ki-7 – активы инвестора 7 дней назад. По значениям Pi строится плотность распределения прибыли при торговле в течение 7 дней путем подсчета количества попаданий значений Pi в заданные интервалы прибыли. Для получения более полной картины операцию повторяют для других временных интервалов торговли (месяц, три месяца, полгода).

Параметры системы моделирования

Базовым набором параметров торговой стратегии для данной системы моделирования является следующий:

·     имя торговой стратегии (кванта);

·     торговая площадка (например ММВБ, FORTS);

·     торговый инструмент (например акции РАО ЕЭС, тиккер – EESR);

·     общий временной диапазон, внутри которого происходит моделирование; критерии эффективности стратегии будут рассчитываться для всех базовых интервалов, входящих в общий временной диапазон;

·     бар-интервал – параметр «бар-диаграммы», на которой выполняется исследуемая торговая стратегия; бар – вертикальный отрезок, расположенный на плоском графике с ценой по оси ординат и временем по оси абсцисс. Верхний конец бара определяет максимальную цену внутри бар-интервала (HIGH), нижний конец – минимальную цену (LOW); кроме этого, на баре есть отметки, показывающие значение цены в начале бар-интервала (OPEN) и в конце бар-интервала (CLOSE). Продолжение бара на ось абсцисс пересекает последнюю в точке начала данного бар-интервала;

·     стоп-лосс – максимальное нежелательное отклонение цены инструмента внутри кванта от цены открытия; задается в процентах от цены открытия, если нежелательное отклонение цены превышает значение стоп-лосса, квант закрывается по текущей цене (с убытком);

·     дополнительное закрытие – минимальное желательное отклонение цены инструмента внутри кванта от цены открытия кванта, при котором квант закрывается (с прибылью); задается в процентах от цены открытия кванта;

·     комиссионные расходы на выполнение операций открытия (закрытия) квантов; задаются в процентах от цены сделки;

·      «проскальзывание» – среднее значение «ухудшения» цены реальной сделки по сравнению с желаемой ценой;

·     стратегия управления капиталом (например, стратегия управления без реинвестирования прибыли заключается в том, что квант всегда открывается на фиксированную сумму средств независимо от имеющихся на этот момент прибылей или убытков);

·     входная фильтрация; использование данного параметра предполагает задание НЧ-фильтра, посредством которого будет осуществлена предварительная фильтрация входных данных;

·     параметры, задаваемые пользователем.

Структура системы моделирования

Структура состоит из шести блоков (уровней) с номерами от нуля до пяти. Система реализована на базе платформы Microsoft Excel в среде Visual Basic.

Уровень 0. Получение первичных данных.

Данные по интересующему инвестора инструменту торговли берутся из «источника первичных данных», в качестве которого может быть интернет-сайт известной брокерской фирмы. Большинство фирм, осуществляющих брокерскую деятельность, предоставляют развитый интерфейс, позволяющий заказать исходные данные в удобном для инвестора формате за выбранный интервал времени. Например, можно заказать данные в виде готовых бар-диаграмм с заданной величиной бар-интервалов. В нашем случае мы будем использовать одноминутные бар-диаграммы по инструменту торговли за интервал времени, кратный базовому интервалу (одному году), в формате: TICKER, OPEN, HIGH, LOW, CLOSE, VOLUME, DATE. Результатом заказа является прямая ссылка на сформированный файл данных, который может быть принят любыми доступными средствами операционной системы.

Далее данные поступают в блок «разделение», разделяющий файл с большим числом строк на более мелкие файлы с числом строк не более 65530 в каждом (это особенность реализации системы на базе платформы Microsoft Excel). Наконец, создается структура директорий вида TICKER/ГОД, в которые помещаются обработанные блоком «разделение» файлы.

Уровень 1. Приведение первичных данных в формат системы.

На первом уровне происходит обработка входного массива данных и приведение их в формат системы. На этом этапе существует возможность программно вырезать определенный временной интервал (например, с 8:00 до 14:00), если заранее известно, что реальная стратегия в это время работать не будет или работа в это время невозможна в силу каких-то причин. В результате импорта образуются связанные одноминутные бар-диаграммы, которые подвергаются цифровой фильтрации (если последняя заказана в параметрах). В результате на первом уровне формируются таблицы EXCEL формата TICKER-YEAR.xls, правильность построения которых можно проверить с помощью графической утилиты VIEW (разработана специально для системы моделирования).

Уровень 2. Построение бар-интервалов и квантовой структуры.

На втором уровне задаются параметры кванта и собственно модельные параметры, формируются все заданные бар-диаграммы (для заданных бар-интервалов); для каждой бар-диаграммы формируется таблица квантов. Для формирования квантов запускается специальный процесс, который по данным соответствующей бар-диаграммы формирует события для данной торговой стратегии и направляет их в соответствующий абстрактный автомат, который и формирует кванты. Чтобы упростить анализ промежуточных результатов моделирования при разных значениях параметров (на уровне 3), выходные таблицы (бар-диаграмм и квантов) формируются в поддиректориях, включающих в свое название значения заданных параметров. Таблицы квантов допускают просмотр и предварительный анализ средствами Microsoft Excel (например, можно отсортировать кванты по типам и быстро получить значение прибыли для кванта данного типа, не переходя к собственно моделированию на уровне 3).

Уровень 3. Моделирование торговой стратегии.

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

·     зависимости прибыли от времени для всех базовых интервалов;

·     плотности вероятности распределения прибыли для всех базовых интервалов при торговле в течение недели, месяца, трех месяцев и полугода;

·     интегральную статистику, привязанную к базовому интервалу (относительная прибыль, максимальный выход в минус (риск), отношение прибыли к риску и др.).

Данные таблицы можно просмотреть и проанализировать средствами Microsoft Excel.

Уровень 4. Сборка данных.

На данном уровне происходит сбор всех результатов, полученных на уровне 3, и добавление их в общую базу данных результатов моделирования. По общей базе данных формируется сводная таблица результатов моделирования. Анализ этой таблицы и сравнение значений эффективностей для различных стратегий и их параметров позволяет выделить ряд наилучших стратегий.

Уровень 5. Интегральные стратегии.

Стратегии, показывающие наилучшие результаты, можно объединить в систему, называемую интегральной стратегией. Эта стратегия может включать стратегии, работающие одновременно на бар-диа­граммах с различными бар-интервалами, на различных типах квантов и т.д. Одна интегральная стратегия может включать в качестве составной части другую. Результаты моделирования интегральных стратегий добавляются в общую базу данных результатов моделирования.

Рассмотренная система моделирования удовлетворяет предъявляемым к ней требованиям, приведенным ранее. Она наиболее эффективна при необходимости сравнительного анализа большого количества торговых стратегий с большим количеством параметров и их значений. Эта система помогла автору построить собственную эффективную торговую стратегию.

Список литературы

1.    Меладзе В.Э. Курс технического анализа. –М.: Серебряные нити, 1997.

2.    Стивен Б. Акелис Технический анализ от А до Я.

3.    Microsoft Office 2003. Описание. http://www.micro­soft.com/rus/office/Editions/Excel2003.mspx.

4.    Программирование в среде Microsoft Visual Basic. http://www.microsoft.com/rus/msdn/activ/MSVB/default.mspx.

5.    Базы данных Microsoft Access. http://www.microsoft.com/ rus/office/Editions/Access2003.mspx.

6.    Информационный портал moysha.ru http://www.moysha.ru.

7.    Описание программы MetaStock. Сайт разработчика: http://www.equis.com. (Пер.: http://strade.spb.ru/metastock1.html).

8.    Описание программы Omega TradeStation http://ri­land.narod.ru/HTML/lib.html.



http://swsys.ru/index.php?id=459&lang=%29&page=article


Perhaps, you might be interested in the following articles of similar topics: