Статистический арбитраж

Ugar

Гуру форума
Здесь будем статистический арбитраж.

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


Для начала выкладываю бесплатный индикатор относительного отклонения 2 символов. В нём 3 линии.

"Symbol_1" показывает относительное отклонение текущего символа.
"Symbol_2" показывает относительное отклонение заданного в настройках Symbol2 символа.
Sum - показывает суммарное отклонение символов.
В настройках:
Symbol2="GBPUSD"; Задаётся второй символ
IndPeriod=33; Задаётся период индикатора.
MirrorCorrelaton=false; false - для символов с положительной корреляцией, например EURUSD - GBPUSD. true - для символов с отрицательной корреляцией, например EURUSD -USDCHF.
Посмотреть вложение Deviation_2Symbols_Ind.ex4
 

Forex-club7

Почетный гражданин
подразумевающий открытие длинной позиции по одному инструменту и короткой позиции по второму, причем одновременно.
Неправда. Не всегда. По евро и франку например тоже разнонаправленно? И не только.
 

Ugar

Гуру форума
Неправда. Не всегда. По евро и франку например тоже разнонаправленно? И не только.
Нет конечно. Я привёл классический пример торговли по символам с положительной корреляцией. Евро и франк имеют отрицательную корреляцию. Естественно, подразумевается открытие однонаправленных позиций. Для работы с символами с отрицательной корреляцией и предусмотрен параметр MirrorCorrelaton в настройках индикатора.

Я как раз собрался написать простую инструкцию по классическому применению индикатора. Но не кто не запрещает его применять как то по другому.
Может, если будет интерес, напишу вариант под МТ5.
 

Sergey Kovalyov

Элитный участник
Ну хорошо, а принцип действия индикатора какой? Отклонение символа от чего он считает?
 

поручик

Гость
1. надо не сумму считать, а разницу (или отношение)
2. замени SMA на EMA/LWMA
3. сделай что бы работал на графике любой пары
==
окей, нашли кто быстрее растет того и покупаем
Сколько брать евро и фунта?
 

Вложения

  • EURUSDM15аен.png
    EURUSDM15аен.png
    41,5 КБ · Просмотры: 348
  • ma-correlation 2 DEL LWMA.mq4
    6,5 КБ · Просмотры: 103

Ugar

Гуру форума
Я очень рад что тема оказалась востребованной.
Для начала классическое использование индикатора.
В нём достаточно одной линии Sum.
Рассмотрим символы с положительной корреляцией. Нужно задать MirrorCorrelaton=false.
Если линия Sum вышла в зону перекупленности - продать первый символ, купить второй.
Если линия Sum вышла в зону перепроданности - купить первый символ, продать второй.

Символы с отрицательной корреляцией. Нужно задать MirrorCorrelaton=true.
Если линия Sum вышла в зону перекупленности - продать оба символа.
Если линия Sum вышла в зону перепроданности - купить оба символа.
Но я сознательно сделал что бы отображались линии отклонения по каждому символу. Ведь могут быть и другие идеи использования индикатора.


Можно использовать несколько уровней перекупленности и перепроданности. На дополнительных уровнях доливаться.
 
Последнее редактирование:

lsv107

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

Ugar

Гуру форума
Спасибо что заинтересовались темой. Отвечу по каждому пункту.

1. надо не сумму считать, а разницу (или отношение)
Вы правы. Сумма это сокращённо. На самом деле если суммировать значения с разным знаком, это то же что и вычитать. 2+ (-2)=2-2.
Конкретно этот индикатор считает разницу для символов с положительной корреляцией при MirrorCorrelaton=false, и сумму для символов с отрицательной корреляцией.

2. замени SMA на EMA/LWMA
При вычислении корреляции, например по Пирсону используется разница цены и среднего арифметического, а это SMA. Именно по этому я использовал SMA. Судя по Вашим уверенным утверждениям, Вы большой спец по торговле с использованием коррелирующих символам. Я в ближайшее время обязательно добавлю переключатель метода усреднения, это не трудно. Хотя, по моим наработкам, SMA давал результаты лучше.

3. сделай что бы работал на графике любой пары
А что на какой то паре не работает? Это бесплатный вариант индикатора. В нём нет контроля качества истории по символам. Перед запуском, нужно убедиться что история загружена по обоим символам. Может из за отсутствия истории он не заработал на какой то паре?

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

Сколько брать евро и фунта?
В индикаторе не предусмотрено вычисление объёмов торговли. Думаю, в будущем, если тема будет интересной, напишу советник. Он и будет выравнивать объёмы.
 

Ugar

Гуру форума
А общее отклонение от чего? От какой SMA? Довольно абстрактно это выглядит. Очень похожа эта суммарная линия на скользящую кросса этих пар.
Отклонение цены закрытия бара от SMA этого же символа. Так по обоим символам.
Суммарная может и похожа в каких то местах на MA кросса, но ей не является. Она разность или сумма линий символов, в зависимости от MirrorCorrelaton.
 

lsv107

Почетный гражданин
Отклонение цены закрытия бара от SMA этого же символа. Так по обоим символам.
Суммарная может и похожа в каких то местах на MA кросса, но ей не является. Она разность или сумма линий символов, в зависимости от MirrorCorrelaton.
Так просто оказалось:disappointed: Я не верно выразился, не МА кросса, а отклонение от SMA.
www.jpg
Я просто пытаюсь разобраться, последнее время читаю про корреляцию, смотрю реализации разные. Хочется понять, в чем преимущества вашего индикатора, по вашему мнению. Ведь не просто так вы время на него тратили. Чем те же реализации по Пирсону вас не устроили?
 
Последнее редактирование:

Ugar

Гуру форума
Так просто оказалось:disappointed: Я не верно выразился, не МА кросса, а отклонение от SMA.
Посмотреть вложение 305662
Я просто пытаюсь разобраться, последнее время читаю про корреляцию, смотрю реализации разные. Хочется понять, в чем преимущества вашего индикатора, по вашему мнению. Ведь не просто так вы время на него тратили. Чем те же реализации по Пирсону вас не устроили?
Формула корреляции по Пирсону показывает считает именно чисто корреляцию. По ней можно построить индикатор, да они уже и готовые попадались, правда очень тяжёлые. Но этот индикатор будет показывать корреляцию. То есть значение будет уменьшаться по мере нарушения синхронизации движения цен символов. Но вот в какую сторону они разъехались не понятно. Получается не понятно в какую сторону открывать сделки. У меня его же формула, но немного переделана, что бы понимать направление.
 

Ugar

Гуру форума
Чем те же реализации по Пирсону вас не устроили?
А это идея. Почему бы не сделать вместо линии Sum линию корреляции по Пирсону. Тогда приближении этой линии к 0 будет говорить о сильном нарушении корреляции, а в какую сторону открывать можно посмотреть по линиям отклонения. Подумаю, может на днях напишу такой вариант.
 

Ugar

Гуру форума
Чем те же реализации по Пирсону вас не устроили?
Ещё вспомнил различия. Формула Пирсона подразумевает результат за какую то выборку значений, в данном случае цен. То есть фактически есть эффект усреднения. Кривая будет гладкой и запаздывающей.
У меня средняя используется только для относительного измерения отклонения. Никаких задержек, мгновенная реакция на изменение цен.
По этому и линия ломаная как у CCI, а не гладкая как у Stochastic.
Просто разные индикаторы.
 

Ugar

Гуру форума
1. надо не сумму считать, а разницу (или отношение)
Спасибо что выложили индикатор в открытом коде. Интересно было посмотреть внутрь. Он считает только разницу в отклонений в пунктах. Понятно что отклонение именно в пунктах соответствующего символа для выравнивания значений. Способ более примитивный, но имеет право на существование, особенно на форекс.
Но есть вопрос по второй линии, она отображает значения в 3 раза больше первой. Зачем она? Как это используется?
 

поручик

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

Иногда нужно быстро посмотреть как дела на 2-м символе.
Я с обзора рынка перетаскиваю просто.
Но тогда твой индикатор показывает прямую линию.
Вот этот момент я имел ввиду про независимость индикатора от того чарта, где он установлен
=====
Ну и график эквити совпадает с графиком дельты МАшек. К чему бы это?
Ауд покупали, киви - продавали
Я машки период по 500 делаю, уменьшаю дребезжание.
 

Вложения

  • AUDUSDH1.png
    AUDUSDH1.png
    55,7 КБ · Просмотры: 172
  • MA spread AUD NZD.mq4
    6,9 КБ · Просмотры: 31
  • Like
Реакции: Ugar

Ugar

Гуру форума
Там просто для лучшей визуализации.
Вот еще 1 инди переделывал.
Логика та же.
В нём Вы вторую линию сделали для отображения отношения отклонений. Может это и удобно смотреть и на разницу и на отношение.
Я так понимаю здесь Вы попытались защититься от деления на 0.
b4= ( b1/ (b2+0.0000000000001)) ;

Это не поможет если значение b2=-0.0000000000001.
Лучше сначала убедиться что b2=0, тогда делать поправку.
if(fabs(b2)<0.0000000000001)b2=0.0000000000001;
b4= ( b1/ b2) ;
Твой индикатор первый символ берет с того графика, где установлен.
Второй - сами прописываем.

Иногда нужно быстро посмотреть как дела на 2-м символе.
Я с обзора рынка перетаскиваю просто.
Но тогда твой индикатор показывает прямую линию.
Вот этот момент я имел ввиду про независимость индикатора от того чарта, где он установлен

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


Ну и график эквити совпадает с графиком дельты МАшек. К чему бы это?
Форма графика похожа на Ваш индикатор средств. Но значения отличаются. Интересно было бы посмотреть что внутри у этого индикатора, возможно он похож на мой.
Я машки период по 500 делаю, уменьшаю дребезжание.
Я то же не применяю 33, обычно больше. Цифру по умолчанию задал от фонаря. Каждый сам волен задать любой период в настройках.


Вот версия в которой задаются оба символа.
Посмотреть вложение Deviation_2Symbols_Ind_v3.ex4
 

поручик

Гость
А что это ты (сорри, ко мне то же можно на ты) такое делал - индикатор дифференс.
1 к 1 показывает с "моим".
=====
Еще идея, можно на его базе сделать в подвале евро и фунтЕ = (фунт - евро) типо оверлэй чарта, но в одной системе координат, хотя можно и на основной график.
 

Вложения

  • AUDUSDM15.png
    AUDUSDM15.png
    44 КБ · Просмотры: 75
Верх