Теория категорий в MQL5 (Часть 4): Интервалы, эксперименты и композиции

Stephen Njuki | 5 мая, 2023

Введение

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


Интервалы, эксперименты и композиции

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

 


Это очень простая диаграмма, которую также можно представить одной строкой:

A<--- f --- P --- g --->B

где A, B и P — домены в категории, а f: P в A и g: P в B — морфизмы в категории. Морфизмы f: P в A и g: P в B называются сторонами интервала (legs of the span).

Интервал, P, можно рассматривать как способ связи двух разных путей или перспектив между A и B, один через f, а другой через g. Стороны f и g соединяют эти пути в точках A и B соответственно и позволяют сравнивать и комбинировать два пути.

Прежде чем углубляться в возможное применение в MQL5, рассмотрим теорию.

Интервалы важны в теории категорий, потому что они позволяют сравнивать два морфизма в категории. Для двух морфизмов f: A → B и g: A → C, интервал между B и C представляет собой диаграмму вида B ← A → C, где две стрелки представляют морфизмы f и g. Интервалы часто используются для определения пределов и копределов в теории категорий. Например, предел диаграммы в категории может быть определен как универсальный конус над этой диаграммой, где конус — это интервал между предельным объектом и каждым объектом в диаграмме, который удовлетворяет определенным условиям.

Интервалы также полезны при определении откатов (pullbacks), которые представляют собой тип предела, в котором задействованные объекты связаны парой морфизмов. Для двух морфизмов f: A → B и g: A → C в категории откатом f и g называется объект P вместе с двумя морфизмами p1: P → B и p2: P → C такими, что f p1 = g p2 и P универсален по этому свойству. Откаты важны во многих областях математики и естественных наук, включая алгебраическую геометрию, топологию и информатику.

Еще одним важным понятием в теории категорий является эксперимент (experiment), представляющий собой диаграмму, состоящую из двух параллельных морфизмов и третьего морфизма, соединяющего их кодомены. Эксперимент можно рассматривать как способ сравнения двух разных способов преобразования объекта в категорию. Например, для двух морфизмов f: A → B и g: A → C эксперимент из B в C представляет собой диаграмму вида A → B D ← C, где стрелки обозначают морфизмы f, g и h соответственно. Эксперименты можно использовать для определения пределов и копределов аналогично интервалам, и они также полезны для определения коэквалайзеров, которые представляют собой тип копредела, который можно использовать для идентификации двух разных морфизмов, имеющих один и тот же кодомен.

Композиты (composites) — фундаментальное понятие в теории категорий, возникающее в результате композиции (composition) двух или более морфизмов. Для двух морфизмов f: A → B и g: B → C их композиция представляет собой морфизм g f: A → C, что получается путем применения f, за которым следует g. Композиты ассоциативны, а это означает, что (h g) f = h (g f) для любых трех морфизмов f, g и h. Это свойство допускает композицию многих морфизмов одновременно и используется для определения понятия категории, которая представляет собой набор объектов и морфизмов, удовлетворяющих определенным аксиомам.

Ниже представлены десять импровизированных применений интервалов, экспериментов и композитов в теории категорий в финансах и трейдинге:

  1. Интервалы могут моделировать базовые активы производного финансового инструмента и инструменты хеджирования, используемые для воспроизведения его выплат. Универсальное свойство интервала может помочь определить цену дериватива.
  2. Эффективное построение портфеля из композитов за счет объединения различных классов активов таким образом, чтобы минимизировать риск и максимизировать доход. При этом можно руководствоваться универсальным свойством композиции.
  3. Интервалы позволяют моделировать зависимость финансового учреждения от различных рыночных факторов. Этого можно достичь путем построения интервала, связывающего активы учреждения с соответствующими рыночными индексами.
  4. Эксперименты позволяют проверить эффективность различных торговых алгоритмов в различных рыночных условиях. Можно создать эксперимент, имитирующий поведение рынка и измеряющий производительность алгоритма на смоделированных данных.
  5. Моделирование поведения финансовых систем в уменьшенном масштабе — это то, с чем могут помочь композиции доменов. Например, можно рассмотреть, как различные секторы индекса SP500 коррелируют в разных более длинных циклах.
  6. Интервалы позволяют моделировать репликацию определенного финансового инструмента, используя комбинацию более простых инструментов. Это полезно при разработке новых финансовых инструментов, обладающих желаемыми свойствами, такими как меньшая корреляция с существующими.
  7. Эксперименты позволяют проверять торговые стратегии, сравнивая эффективность конкретной стратегии с контрольной группой. Этого можно добиться, неоднократно используя универсальное свойство эксперимента.
  8. Эксперименты также могут проверить эффективность различных моделей рыночной микроструктуры. Это можно сделать, создав эксперимент, моделирующий поведение различных типов участников рынка и измеряя конечные рыночные результаты.
  9. Композиты могут моделировать общую подверженность финансового учреждения риску. Это можно сделать, составив совокупность различных направлений деятельности учреждения и проанализировав их взаимозависимость.
  10. Интервалы позволяют моделировать взаимосвязь между различными источниками финансовых данных. Это помогло бы разработать алгоритмы машинного обучения, которые могут извлекать полезные функции из разрозненных источников данных.

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

Допустим, у нас есть категория C, которая содержит два домена, A и B, которые представляют домены скользящего среднего и домен среднего истинного диапазона соответственно. В этой категории у нас также есть домен P, который представляет прибыль длинной позиции и действует как наша вершина.

Затем мы можем перейти к определению двух морфизмов f: P -> A и g: P -> B, которые отображают перемещения длинной позиции P в сторону своих доступных для наблюдения величин в доменах A и B соответственно. Эти морфизмы представляют регистрацию наблюдаемых величин.

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

Чтобы провести "эксперимент", откроем ордер на покупку текущего символа на графике, скажем, EURUSD, 0,1 лота, а затем на каждом новом баре будем записывать текущие плавающие значения, MA и ATR. Основываясь на наблюдаемых данных, мы можем увидеть, есть ли какие-либо корреляции между данными. Затем это можно использовать для создания идеальной системы трейлинг-стопа для длинных позиций. Вы можете легко заменить используемые здесь индикаторы MA и ATR более подходящими на ваш взгляд. Я выбрал эти индикаторы только для примера.

 

Если мы запустим этот эксперимент на EURUSD H1 1 марта, то получим следующие данные.

 

P: (Плавающее значение/Прибыль)

A: ATR

B: MA

-6,60000

0,00203

1,12138

-14,90000

0,00181

1,12136

-18,80000

0,00175

1,12140

-24,20000

0,00157

1,12125

-29,00000

0,00146

1,12100

-24,30000

0,00127

1,12078

 

 

 

 

 

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

 

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

 

Суммирование этих двойных значений, эквивалентных копроизведению, даст нам идеальную цену стоп-лосса. Если принять, что результаты морфизмов (цена стоп-лосса) имеют линейную зависимость от входных параметров индикатора морфизма, то подразумеваются следующие уравнения.

где xa A, а ma и ca - коэффициенты наклона и точки пересечения с осью y линейного отношения. Аналогично для домена B

Эта гипотеза касается линейной зависимости между идеальной дельтой стоп-лосса и значениями индикатора. Если бы это отношение было кривой, то приведенные выше уравнения были бы квадратными и с большим количеством коэффициентов и экспонент. Однако наш более простой вариант может быть закодирован, как показано ниже.

 

double _sl=((m_ma.Main(_index)*m_slope_ma)+(m_intercept_ma*m_symbol.Point()))+((m_atr.Main(_index)*m_slope_atr)+(m_intercept_atr*m_symbol.Point()));
      

 

Если, используя встроенный в MQL5 класс трейлинга советника, мы создадим свой собственный класс трейлинга, который использует нашу идеальную дельту стоп-лосса, то коэффициенты m и c как для домена A, так и для домена B могут быть входными для этого класса трейлинга. Тестирование за последний год для EURUSD H1 с нашим сигналом в виде встроенного класса signalRSI.mqh дало нам отчет и кривую, представленные ниже.

 


c_1

 

Изложенные здесь идеи можно развить дальше, если мы рассмотрим составные интервалы (composite spans).

Составной интервал представляет собой интервал интервалов. В нашем случае мы могли бы привести аргумент, что значения нашего индикатора немного отстают. Это небольшое отставание может привести к менее точным ценам для нашего трейлинг-стопа. Чтобы решить эту проблему, мы могли бы преобразовать домены A и B в интервалы. А превратился бы в произведение А’ и С, а В был бы произведением С и В’.

mc_1

   

Составные интервалы, отображаемые в субдомене A’, C и B’, могут помочь оптимизировать морфизмы f: P в A, g: P в B, f’: A’ в A, f’’: C в A, g’’ : C в B и g’: B’ в B для точной настройки нашей системы трейлинг-стопа, предоставляя более детальное представление данных и взаимосвязей между наблюдаемыми значениями в доменах A и B.

 

Воссоздавая А и В, мы теперь рассматриваем их как произведения А’ и С для А и С и В’ для В. Помните, что Р есть сумма А и В, но это будут произведения. Мы знаем, что ATR — это средний истинный диапазон цен за установленный период, поэтому он математически эквивалентен произведению между обратным значением длины периода и суммой ценовых диапазонов на этой длине, что означает, что у нас есть A’ для обратной длины периода и C для нашей суммы цен. И наоборот, MA эквивалентна произведению обратной величины периода и суммы недавних цен. Итак, в этом случае у нас такое же расположение произведений, что и на интервале А.

m_c_2


Домен C помечен как цена, и если мы будем немного педантичными, это кажется противоречивым в том смысле, что цена, используемая для ATR (A), представляет собой сумму значений истинного диапазона за период, в котором значение, указанное для MA, это просто СУММА текущих цен закрытия.

 

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

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

Однако, прежде чем мы рассмотрим применимые универсальные свойства, полезно отметить, что, разбивая данные на эти субдомены, становится легче идентифицировать закономерности и корреляции между различными наблюдаемыми значениями, что может помочь оптимизировать не только морфизмы f и g, но также и f’, f’’, g’ и g’’.

Еще раз для краткости мы можем принять отношения между добавленными терминальными доменами A’, C и B’ как линейные, что означает, что форматы уравнений, указанные выше, все еще будут применимы.

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

 

 

c_2

 

 

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

Возвращаясь к понятию универсального свойства, наш составной интервал предоставляет нам двух кандидатов для этой концепции. Во-первых, в интервале домена A подразумевается универсальный морфизм между A’ и C, поскольку домены A’ C являются терминальными.

Если мы пометим эти морфизмы f’’’ и g’’’ для C в A’ и C в B’ соответственно, мы подразумеваем, что существует связь между ценой и периодом, выбранным для ATR. Точно так же будет связь между ценой и периодом индикатора MA.

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

Однако, если мы придерживаемся линейных отношений и, основываясь на нашей последней версии конечного класса, сохраняем константы для всех морфизмов (за исключением f’’’ и g’’’) постоянными (неизмененными и всегда использующими значения по умолчанию), мы могли бы провести сравнительные тесты за тот же период и посмотреть, как он работает по сравнению с нашими предыдущими трейлинг-классами.

Ниже представлен результат тестирования.


 

c_3

 

 

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


Заключение

В статье мы рассмотрели, как интервалы, эксперименты и композиции теории категорий могут использоваться при разработке стратегий выхода из торговли. Интервалы представляют собой ячейки пары идей/предписаний или систем, представленных здесь в виде доменов. Эта пара предоставляет эксперименты, что является универсальным свойством интервала. Композиция дополняет интервал другими интервалами для создания более информативных систем и методов, которые в нашем случае были полезны для настройки стратегии выхода торговой системы.