Суббота, 11.05.2024, 15:40
Приветствую Вас Гость | RSS
Форма входа
Категории раздела
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 69
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Теория и технология торговли на Форексе

Каталог статей

Главная » Статьи » Мои статьи

Теория и технология торговли на форексе. Часть 2.
  1. Блоки и алгоритмы торговой системы.

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

Ниже приведена блок-схема торговой системы с одним инструментом. Обозначения переменных приводятся далее в соответствующих разделах.

 

    Рис. 6.1. Блок-схема торговой системы с одним инструментом.

  1. 1.  Блок прогноза цены.

В разделе 3.2 был качественно описан алгоритм прогноза экстремумов цены по принципу коридора цен. Для конкретизации такого алгоритма введем следующие обозначения:

  • Y – фактическая цена (котировка валютной пары),
  • Xв – верхняя граница коридора цен,
  • Xн – нижняя граница коридора цен,
  • A – высота коридора (амплитуда колебаний цены),
  • нижний индекс t – текущий момент дискретного времени.

Верхняя и нижняя границы коридора цен описываются следующими уравнениями:

- верхняя граница Xв:

  1. Xвt= -At-1/Tц+МАКС(Xвt-1;Yt),

- нижняя граница Xн:

  1. Xнt=At-1/Тц+МИН(Xнt-1;Yt),

- высота коридора A:

  1. At= Xвt-Xнt.

Здесь Tц – константа алгоритма, определяющая скорость сужения высоты коридора. Как известно из ТАУ за время Tц высота  коридора A уменьшается на 2/3 от исходной величины. Таким образом, первое слагаемое в формулах (6.1) и (6.2) обеспечивает сужение коридора (снижение верхней границы и повышение нижней границы) с постоянной скоростью. Третье слагаемое в этих формулах с оператором МАКС( ; ) или МИН( ; ) обеспечивает скачкообразное расширение коридора в случае, когда фактическая цена Yt протыкает одну из границ коридора. Когда Yt>Xвt-1 протыкается верхняя граница, а когда Yt<Xнt-1 протыкается нижняя граница. Описанные два противоположных действия с границами цены (постепенное сужение коридора цен и скачкообразное его расширение) обеспечивают автоматическое отслеживание границ вдоль фактических экстремумов цены. Но, как уже указывалось выше, колебания цены подвержены медленному тренду. Чтобы учесть такой тренд, можно прогнозировать его стандартным приемом скользящего усреднения. Обозначим среднее значение этого тренда цены через Xср. В ТАУ известны две модели такого усреднения: по апериодическому звену и по колебательному звену. По модели апериодического звена прогноз среднего значения отстает от истинного среднего. Модель колебательного звена проявляет резонансные свойства и тем самым дает более точный прогноз тренда. Алгоритм этой модели следующий:

  1. Xсрt=Xсрt-1+Kр*(Xсрt-1-Xсрt-2)+(Yt-Xсрt-1)/Tц.

Здесь Kр – коэффициент резонанса (константа алгоритма), имеющий значение от 0 до 1. Для учета этого прогноза медленного тренда в прогнозе границ коридора (6.1), (6.2) к ним добавляется скорость тренда Xсрt-Xсрt-1. После такой коррекции алгоритма получаем:

- верхняя граница:

  1. Xвt=Xсрt-Xсрt-1-At-1/Tц+МАКС(Xвt-1;Yt),

- нижняя граница:

  1. Xнt=Xсрt-Xсрt-1+ At-1/Тц+МИН(Xнt-1;Yt).

Итак, полный алгоритм прогноза границ коридора цен описывается формулами (6.3) – (6.6). В этом алгоритме есть две настраиваемые константы: время сужения границ Тц и коэффициент резонанса колебательного звена Kр.

К блоку прогноза цены относится также формирование индикатора тренда цены или, что эквивалентно, индикатора экстремума цены. Обозначим этот индикатор через Rтр. По определению этот индикатор находится как момент протыкания границы коридора фактической ценой Y. Этот факт имеет место, когда среднее из трех последних значений нижней границы Xнt-2; Xнt-1; Xнt оказывается минимальным и равным Xнt-1. Это обусловлено тем, что в силу формулы (6.6) значение Xн в момент t-1 совпадает с фактической ценой Y.  Аналогично, протыкание верхней границы имеет место, когда среднее из трех последних значений верхней границы Xвt-2; Xвt-1; Xвt оказывается максимальным и равным Xвt-1. Сказанное описывается логической формулой:

(6.7)…..Rтрt=ЕСЛИ(МИН(Xнt-2:Xнt)=Xнt-1;1;

                         ЕСЛИ(МАКС(Xвt-2:Xвt)=Xвt-1;-1;Rтрt-1)).

 

  1. 2.   Блок достоверности прогнозов.

В силу того, что рыночные цены зашумлены, их прогноз не может быть абсолютно  точным. Поэтому целесообразно подтверждать эти прогнозы каким-либо альтернативным образом. Для этой цели можно привлекать измерительную информацию о других рыночных показателях. Например, такой альтернативной информацией является объем торгов на рынке по данному инструменту. Ведь, как известно из модели рынка, скорость изменения цены пропорциональна разности объема покупок и объема продаж данного инструмента на рынке. К сожалению, трейдерам не предоставляется такая информация. Доступен только суммарный объем всех сделок по данному рыночному инструменту. Но и эта информация может быть полезна для подтверждения тренда данного инструмента. Как легко заметить визуально на графике цены, в моменты смены тренда, происходит всплеск суммарного объема его торгов. Обозначим этот объем торговли через V. Указанный всплеск можно идентифицировать путем сравнения фактического объема торговли Vt-1 в момент индикации экстремума t-1 со средним значением торгов за историю системы. Обозначим среднее значение торгов за историю системы срV. Введем также коэффициент превышения фактического объема торгов по отношению к среднему значению и обозначим его Gv. Тогда можно считать, что прогноз экстремума цены подтверждается, если отношение Vt-1/срV превышает пороговое значение Gv, т. е. если Vt-1/срV>Gv. Тогда в логической формуле (6.7) следует использовать проверку одновременно двух условий по принципу И: И(условие 1; условие2). Здесь условие 1 – это уже использованное в (6.7) условие МИН(Xнt-2:Xнt)=Xнt-1 или условие МАКС(Xвt-2:Xвt)=Xвt-1.                                                                                                          А условие 2 – это неравенство Vt-1/срV>Gv. Таким образом, вместо формулы (6.7) следует использовать логическую формулу:

(6.8)…..Rтрt=ЕСЛИ(И(МИН(Xнt-2:Xнt)=Xнt-1;Vt-1/срV>Gv);1;

                         ЕСЛИ(И(МАКС(Xвt-2:Xвt)=Xвt-1;Vt-1/срV>Gv); -1;Rтрt-1)).

Здесь величина Gv – еще одна настроечная константа системы. Эта константа может изменяться от 0 до 1.

 

  1. 3.  Отбраковка инструментов и подтверждение достоверности прогнозов.

Кроме описанного в предыдущем разделе способа повышения достоверности прогноза в рамках данного торгуемого инструмента, это возможно  и  со стороны других рыночных инструментов. Понятно, что такой прием возможен только в системе комбинированной торговли по выбранному множеству инструментов. Это уже описывалось в разделах 4.2 и 4.3. Здесь важно, что такое подтверждение прогнозов производится без применения временных процедур типа скользящего усреднения за некоторый прошлый период времени, и поэтому не вызывает никакого запаздывания результатов прогнозов и их подтверждений.

Прежде всего, рассмотрим алгоритм отбраковки множества торгуемых рыночных инструментов. Цель такой отбраковки – выбрать торгуемые инструменты, хорошо коррелированные между собой и, в силу этого, позволяющие взаимно подтверждать их прогнозы. Для этой процедуры целесообразно ввести понятия нормированного инструмента и единого сводного инструмента. Обозначим i-ый нормированный инструмент через нYi, а сводный инструмент – через свY. Все число торгуемых инструментов обозначим через n. Как уже указывалось в разделе 4.2, нормирование любого рыночного  инструмента заключается в приведении его к виду с нулевым средним и единичным стандартным отклонением от среднего. Эти величины представляют собой первый и второй вероятностные моменты случайного процесса Yi за выбранную историю глубиной Tи. Обозначим эти величины, соответственно, через срY и σY. Указанные моменты вычисляются по стандартным формулам Excel:

(6.9)…..срYi=СРЗНАЧ(СМЕЩ(Yi1;0;0;-Ти;1)),

(6.10)…..σYi=СТАНДОТКЛОН(СМЕЩ(Yi1;0;0;-Ти;1)).

Здесь оператор СМЕЩ( ) выделяет массив переменных Yit за выбранную историю от t=1 до t=Ти. 1 Каждый нормированный i-ый инструмент нYi в любой текущий момент истории t  вычисляется по формуле:

(6.11)…..нYit=(Yit-срYi)/σYi для всех i=1,2,…,n.

Единый сводный инструмент свY вычисляется по стандартной формуле среднего, но с учетом инвертирования знаков для инструментов. Для примера с 5 инструментами, из которых первые 3 инструмента имеют USD  в качестве валюты котировки (EURUSD, GBPUSD, AUDUSD), а остальные 2 инструмента имеют USD в качестве базовой валюты (USDCAD, USDCHF), формула для свY имеет вид:

(6.12)…..свYt=СРЗНАЧ(нY1tY2tY3t;-нY4t;-нY5t).

Как уже указывалось в разделе 4.2 отбраковка инструментов производится по коэффициентам корреляции  каждого нормированного i-го инструмента нYi со сводным инструментом свY. Обозначим эти коэффициенты корреляции Ki. Тогда по стандартной процедуре Excel имеем:

(6.13)…..Ki=КОРРЕЛ(±нYit;свYt) для всего массива истории t=1,…,Tи.

Здесь также как для формулы сводного инструмента (6.12), перед каждым нормированным инструментом берется знак «+» или «-»в зависимости от места валюты USD. При этом условии все коэффициенты корреляции Ki должны оказаться положительными и изменяться в диапазоне от 0 до 1. Тогда отбраковка инструментов может производиться по минимальному уровню корреляции. Если конкретный i-ый коэффициент Ki меньше выбранного порога корреляции, то этот инструмент отбраковывается. Такой минимальный порог целесообразно выбирать в диапазоне 0,7 - 0,85.

Теперь рассмотрим алгоритм подтверждения достоверности прогнозов отобранных торгуемых инструментов. Индикатор экстремума или, что эквивалентно, тренда цены i-го инструмента естественно обозначить Riтр (см. раздел 6.1). Далее, по аналогии со сводным инструментом свY, введем единый сводный индикатор тренда свRтр. Эту величину вычислим по аналогии с (6.12) как среднее из всех индикаторов Riтр, с учетом знака перед каждым инструментом:

(6.14)…..свRтрt=СРЗНАЧ(R1трt;R2трt;R3трt;-R4трt;-R5трt) для всех t=1,…,Tи.

По данному определению сводного индикатора, он может изменяться в диапазоне от -1 до +1. Логически понятно, что если знак сводного индикатора совпадает со знаком индикатора i-го инструмента Riтр, то сводный индикатор подтверждает данный i-ый индикатор. Но, по теории вероятности, маловероятно, чтобы прогноз тренда данного инструмента подтверждался всеми остальными  инструментами. Поэтому целесообразно ввести понятие порога достоверности. Обозначим этот порог через Dпор. Величина такого порога задается как доля индикаторов тренда, совпадающих по величине с данным индикатором, от общего числа индикаторов торгуемых инструментов n. Понятно, что значение порога можно выбирать в диапазоне от 0 до 1. Эта величина является еще одним настроечным параметром системы комбинированной торговли. Таким образом, значение i-го индикатора тренда Riтр считается подтвержденным, если его знак совпадает со знаком сводного индикатора свRтр, а сам сводный индикатор по абсолютной величине превышает выбранный порог Dпор. Этому условию отвечает логическая формула:

(6.15)…..Riсдt=ЕСЛИ(Riтрt*свRтр≥Dпор;Riтрt; Riтрt-1).

Здесь Riсд – подтвержденный индикатор тренда, т. е. по существу это уже индикатор сделки. В соответствии с этой формулой, если произведение данного i-го индикатора тренда и сводного индикатора равно или превышает выбранный порог Dпор, то прогноз подтверждается и в текущий момент t закрывается открытая сделка и открывается новая сделка (покупки, если Riтрt=1, или продажи, если Riтрt=-1). Если же указанное произведение меньше порога Dпор, то индикатор сделки остается прежним (равным Riтрt-1) и открытая сделка сохраняется. Описанный алгоритм подтверждения прогноза экстремума цены отвечает варианту 1, рассмотренному в разделе 4.3. Но возможен вариант двух уровневого подтверждения прогноза. Такой вариант 2 предполагает не одно, а два возможных решения в случае, когда порог не достигается, т. е. когда  неравенство  Riтрt*свRтр≥Dпор не выполняется. Вводится в рассмотрение еще один порог D2пор, который выбирается меньше порога Dпор. В случае, если условие Riтрt*свRтр≥Dпор не выполняется, то проверяется условие Riтрt*свRтр<D2пор. Если это условие выполняется, то прогноз считается полностью неподтвержденным и сделка закрывается, т. е. полагается Riсдt=0. В противном случае открытая сделка сохраняется, т. е. полагается Riсдt=Riтрt-1. Сказанному отвечает логическая формула (вместо формулы (6.15)):

(6.16)…..Riсдt=ЕСЛИ(Riтрt*свRтр≥Dпор;Riтрt;

                           ЕСЛИ Riтрt*свRтр<D2пор;0; Riтрt-1).

Описанный алгоритм подтверждения прогнозов цены в каждой технологической нитке торговли по своему инструменту реализует связь технологических ниток между собой на уровне блоков сделки. Такой связующий блок системы комбинированной торговли назван «блок достоверности». Это показано ниже на рисунке 6.2.

 

Рис. 6.2. Блок-схема системы комбинированной  торговли со связующим блоком достоверности. Красными линиями показаны настраиваемые константы системы.

 

  1. 4.   Блок прибыли.

Данный блок торговой системы необходим для работы ее в режиме тренажера. Здесь дублируется расчет потенциальной (текущей) прибыли сделки и фиксируемой прибыли при закрытии сделки. При расчете прибылей необходимо запоминать цену открытия сделки. Обозначим цену открытия сделки через Yz, потенциальную прибыль – через Pпот, фиксируемую прибыль – через P. В этом же блоке вычисляется просадка системы, которую обозначим через Pпр. Цена открытия сделки запоминается в момент, когда индикатор сделки Rсд меняет знак, а в остальные моменты времени сохраняется прежней. Это производится логической формулой:

(6.17)…..Yzt=ЕСЛИ(Rсдt=Rсдt-1;Yzt-1;Yt).

Потенциальная прибыль Pпот вычисляется по формуле:

(6.18)….. Pпотt=(Yt-Yzt-1)/Rсдt-1*L*Vсд,

где: L – размер одного лота, Vсд – объем сделки в лотах.

Фиксируемая прибыль вычисляется в момент закрытия сделки, т. е. в момент смены знака индикатора сделки Rсд. Это производится по формуле:

(6.19)…..Pt=ЕСЛИ(Rсдt=Rсдt-1;0; Pпотt-dX),

где обозначено: dX – спрэд (разница цен покупки и продажи инструмента).

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

(6.20)…..Pпрt=МИН(0;Pпотt).

Затем   находится оценка максимально возможной просадки системы. Ранее в разделе 3.4 такая просадка системы была названа гарантированной просадкой. Обозначим ее через гарPпр. Такая гарантированная просадка может быть найдена по известной формуле ТСП через два первых статистических момента: среднее значение просадки за историю системы срPпр (первый момент) и стандартное отклонение от среднего σPпр (второй момент). Эти моменты находятся по формулам, аналогичным (6.9) и (6.10):

(6.21)…..срPпр=СРЗНАЧ(СМЕЩ(Pпр1;0;0;-Ти;1)),

(6.22)…..σPпр=СТАНДОТКЛОН(СМЕЩ(Pпр1;0;0;-Ти;1)),

Затем находится гарантированная просадка гарPпр по формуле:

(6.23)…..гарPпр=-срPпр+γ*σPпр.

Здесь множитель γ выбирается в диапазоне от 3 до 5. (В случае нормального распределения вероятностей фактических просадок, при γ=4 фактическая максимальная просадка системы за ее историю отличается от гарантированной просадки не более, чем на 20%).

Выше в разделе 5.1 отмечалось, что для оценки качества торговой системы и адекватного сопоставления ее с другими системами желательно сформулировать единый глобальный показатель качества системы. Для торговой системы таким показателем можно считать норму месячной прибыли в процентах от заложенного депозита. Обозначим эту величину через нP, а величину депозита – через D. Кроме того, обозначим суммарную прибыль системы за ее историю через ΣP, а число тайм-фреймов за интервал времени в один месяц через Tмес. Тогда можем записать следующую формулу для нормы месячной прибыли:

(6.24)….. нPP*Vсд/Tи*Tмес/D*100.

Здесь учтено, что суммарная прибыль системы ΣP находится в расчете на объем сделок в 1 лот. Поэтому, чтобы найти полную суммарную прибыль по данному инструменту, в данной формуле вводится множитель фактического объема сделок Vсд. Кроме того, величина Tмес вычисляется в единицах тайм-фрейма. Например, для тайм-фрейма в 1 час имеем Tмес=24часа в сутки*22 рабочих дняв месяц=528.

Но, как уже говорилось в разделе 5.1, показатель нP нельзя считать глобальным, так как он не учитывает риск маржинальной торговли, который обозначим через РИСК. По риском торговли естественно понимать отношение гарантированной просадки гарPпр в сумме с залогом к величине депозита D в процентах. При этом следует учесть, что аналогично с величиной ΣP гарантированная просадка гарPпр и залог ЗАЛ вычисляются в расчете на объем сделки в 1 лот, поэтому величина РИСК находится по формуле:

(6.25)…..РИСК=(гарPпр+ЗАЛ)*Vсд/D*100.

Из этой формулы можно находить оптимальный по риску объем сделок Vсд. Как показывает практика тестирования таких торговых систем, целесообразно выбирать такой объем сделок, чтобы РИСК поддерживался на уровне от 50% до 75%. Что касается глобального показателя качества торговли нP, то в формуле (6.24) депозит D целесообразно заменить на величину (гарPпр+ЗАЛ)*Vсд. Тогда получим:

(6.26)…..нPP /Tи*Tмес/(гарPпр+ЗАЛ)*100.

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

Приведенные показатели торговой системы относятся к торговле по одному рыночному инструменту. В случае же комбинированной  торговли по n инструментам, в приведенных формулах необходимо добавить в соответствующих переменных номер торгуемого инструмента, i=1,2,…,n. Кроме этого, при вычислении результирующей гарантированной просадки для всей системы следует учесть, что просадки по каждому инструменту не суммируются, а результирующая просадка всей комбинированной системы оказывается значительно меньше суммы просадок по инструментам, т. е. меньше суммы просадок по всем технологическим ниткам торговли (см. рис. 6.2). Таким образом, для всей системы вычисляются сумма всех потенциальных прибылей ΣPпот и сумма всех фиксируемых прибылей ΣP, где суммирование производится по номеру технологической нитки i для каждого момента истории t=1,2,…,Tи. Имеем:

- для суммы потенциальных прибылей:

(6.27)…..ΣPпотt=P1потt+…+Piпотt+…+Pnпотt,

 - для суммы фиксируемых прибылей:

(6.28)…..ΣPt=P1t+…+Pit+…+Pnt.

Результирующая просадка всей системы резPпр находится по такому же принципу минимума, что и для каждой технологической нитки:

6.29)…..резPпрt=МИН(0; ΣPпотt).

По этим величинам находится гарантированная просадка всей системы по формулам (6.21) - (6.23):

(6.30)…..срPпр=СРЗНАЧ(СМЕЩ(резPпр1;0;0;-Ти;1)),

(6.31)…..σPпр=СТАНДОТКЛОН(СМЕЩ(резPпр1;0;0;-Ти;1)),

(6.32)…..гарPпр=-срPпр+γ*σPпр.

Легко убедиться на примере любой системы комбинированной  торговли, что величина результирующей гарантированной просадки гарPпр получается много меньше суммы таких просадок для всех технологических ниток. Этому есть понятное логическое и математическое объяснение в терминах случайных процессов. Убыточные сделки в каждой технологической нитке торговли, как правило, не совпадают во времени, а возникают обычно в разные (случайные) моменты времени. Поэтому убыточные сделки по одному инструменту могут компенсироваться прибыльными сделками по другим инструментам в  этот же момент времени. В силу этого в формуле (6.29) в операторе МИН( ) чаще оказывается минимальным первый аргумент 0. Описанный эффект уменьшения результирующей просадки  – важное достоинство комбинированной торговли.

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

 

  1. 5.    Блок настройки.

В этом блоке реализуется подбор настроечных констант алгоритма системы по максимуму глобального показателя качества торговли нP. Такая процедура не имеет конечного периода времени работы, так как организуется в виде циклов с неопределенным временным окончанием. Как уже отмечалось выше в разделе 5.1, это невозможно реализовать средствами Excel. Для реализации таких процедур в Excel предусмотрены макросы. В моих торговых системах предусмотрены два таких макроса: «данные» и «настройка». В макросе «настройка» реализуется процедура полного перебора настроечных констант системы: коэффициент резонанса Kр, коэффициент превышения фактического объема торгов Gv и скорость сужения высоты коридора цен Tц. Оставшиеся варьируемые константы алгоритма: порог достоверности прогнозов Dпор и объем сделок Vсд - варьируются вручную. Результаты настройки системы иллюстрируются, кроме глобального показателя качества торговли нP, еще и вспомогательными показателями: риск торговли РИСК, гарантированная просадка системы плюс залог гарPпр+ЗАЛ, общее число сделок за историю, % прибыльных сделок, средняя корреляция в %.

Категория: Мои статьи | Добавил: Михаил (30.06.2015)
Просмотров: 587 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *: