Нескомпенсированный арбитраж

Все необходимое для успешного старта в форекс-трейдинге! Азы трейдинга, практическая информация, актуальная для тех, кто только пробует на вкус загадочный Форекс, и, конечно, ответы бывалых новичкам.
Бонус за сообщение 0.4$
Ответственный модератор - Ольга Васильева

Нескомпенсированный арбитраж

Сообщение Haos » 14 июн 2020, 06:50

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

Приведу основные выдержки авторской точки зрения (перевод близко к тексту).
Как известно, арбитражные соотношения имеют вид:

A / B * B/C = C/B (1)

A, B, C = ваши пары.

При этом, некоторые пары при формировании арбитражных соотношений представлены в обратном виде, поэтому вам нужно разделить их на 1, чтобы получить правильное значение.
Как известно, если формула (1) не верна, т.е. не выполняется точное соотношение равенства котируемой пары с её арбитражным аналогом, то у вас есть возможность арбитража. вы можете реализовать свою прибыль в любой из валют, изменив то, что вы покупаете или продаете. Также обратите внимание, что вы должны использовать значение (ask или bid) в зависимости от направления, в котором вы торгуете.

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

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

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

01-Price Predictor.png

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

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

Я написал скрипт, который размещает стрелки на графике EURUSD, когда фактическая цена больше или меньше расчетной цены. Стрелки размещаются в реальном времени в реальных рыночных условиях по правильной Ask или Bid. 159 пунктов прибыли за несколько часов - это совсем не убого.

02-Scalper Pic.jpg

Кроме того, можно делать расчеты силы и направления движения для каждой валюты.

03-Dir Strength.jpg

Это не настоящий арбитраж, он по сути просто вычисляет, какой, по мнению рынка, должна быть цена. Например, если у вас есть большой восходящий импульс в долларах США, то другие валюты должны будут скорректироваться. Поэтому вы просто занимаете позицию, чтобы извлечь выгоду из корректировки. Одна интересная вещь на рынке Форекс - это волатильность, одно сильное движение вызывает цепную реакцию с другими валютами. Как и создание волн на двух концах одного и того же бассейна - волны в конечном итоге будут разбегаться, когда энергия будет потеряна, но до тех пор, пока они не появятся, у вас есть все виды различных направленных волн, которые вы можете поймать (в данном случае вычислить).

В расчетах учитывается разница Ask и Bid (спред) через стандартное отклонение. Это будет прибыльным, если вы пытаетесь торговать за рыночным движителем. Но, как мы видим на графике, даже EURUSD должен вносить коррективы, когда движутся другие пары (или, может быть, мне просто очень повезло?). В любом случае это идея, которую следует обсудить.

Далее автор пишет, что он написал советник (который не предоставил сообществу), который покупает EURUSD, когда его цена завышена, и продает, когда цена занижена. Тестирование не может быть проведено для этого типа советника, так как он работает по данным на основе тиков от 36 валютных пар (MT4 падает примерно через 300 баров), но результаты впечатляют. Я думаю, что если вы определяете ежедневное направление, а затем включаете такую систему и просто занимаете позиции в этом направлении весь день, вы можете сделать это довольно хорошие деньги.

04-M1TriScalper.jpg

Каждые 100 миллисекунд советник должен вычислять:
- корреляции 36 валютных пар с другими 35 парами;
- 3-8 треугольные проверок для каждой пары;
- 8 основных валютных индексов;
- отношение каждой треугольной конструкции к индексу;
- направление каждого индекса;
- консенсусное значение для каждой пары.
Затем, используя значения консенсуса, начинаем сравнивать его с фактической ценой.
И это только начало, чтобы выяснить, какой должна быть цена. Мы все еще не начали говорить о торговой логике или системе управления ордерами.


Сейчас у меня есть этот советник, работающий в реальном времени, но он выходит из строя из-за проблем с памятью, у меня есть еще один пост RE Mt4 проблемы с памятью.

Суть в том, что это довольно сложно, и именно поэтому я начал эту тему. Мне нужны логические идеи, как использовать этот метод.

Далее, автор поясняет на примере:
Фактическая цена EURUSD = 1.5786

AUDUSD * EURAUD = EURUSD

Так что если AUDUSD = 0.9607, а EURAUD = 1,6430
Из арбитражного соотношения вытекает, что пара EURUSD должна котироваться в 1.5784
(0.9706 * 1.6430 = 1.5784)
В этом случае фактическая цена на 2 пункта выше цены по треугольному соотношению AUD.

Это находится в пределах стандартного отклонения (спреда) и не является существенным. Но если бы, скажем, EURUSD торговался на отметке 1.5790, то мы бы заняли короткую позицию по EURUSD, надеясь, что рынок исправится. Т.е. взяли бы 4 пнт. прибыли.

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

Я использую рассчитанные цены в качестве скорее фильтра для определения краткосрочных рыночных движений (5-15 мин), что позволяет мне определить условия перекупленности или перепроданности. Затем, если действительно краткосрочное (1-3 мин.) ценообразование находится за пределами стандартного отклонения плюс спред, я использую его в качестве сигнала и занимаю позицию. Затем я держу его до тех пор, пока рынок не исправится или не развернется вспять.

Резюме
Если кратко, то автор предлагает торговать не классическим треугольным арбитражем (поскольку это бесперспективно, что рассматривалось в ряде тем на форуме в своё время), а, я бы сказал, нескомпенсированным. Т.е. на основе множества арбитражных соотношений определяются арбитражные цены валютных пар, а потом они сравниваются между собой. Если оказывается, что некая пара "довольно сильно отбивается от коллектива", :-): то автор предлагает торговать эту пару в направлении консенсусной цены "коллектива", т.е. если такая цена выше - то покупать "отщепенца", если ниже - то продавать.
Вот и весь сыр бор. Но возникает один принципиальный вопрос: как вычислить эту консенсусную цену? Автор не раскрывает этот вопрос, вводит множество "мутных" тем :-): говорит о стандартном отклонении, спреде и т.п. и советник не выкладывает. Поэтому на данный вопрос мы должны ответить сами. На самом деле, я не думаю, что это невозможно и у меня есть уже одно решение и о нём я поведаю далее. :-):
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Нескомпенсированный арбитраж

Сообщение Haos » 14 июн 2020, 07:43

Далее я изложу своё решение данной проблемы, описанной выше.
Как рассматривалось в ряде тем на форуме, соотношение синтетических валютных пар в треугольном арбитраже рассчитываются по формуле:
[1] = [2] * [3] (см. таблицу ниже):

01-Соотн-треуг-арбитража.png

[1] - синтетическая пара, т.е. пара полученная в результате расчета по котируемым парам [2] и [3]. Обозначают её обычно с добавлением " * " или постфикса "s". Например, EURUSD* или EURUSDs.

Так вот, суть темы предлагает сравнивать котируемое значение (например, EURUSD) и "групповое", т.е. полученное в результате консенсуса всех синтетик EURUSD, т.е. в нашем примере синтетической EURUSDs от AUDUSD * EURAUD, EURUSDs от GBPUSD * EURGBP и т.д.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Нескомпенсированный арбитраж

Сообщение Haos » 14 июн 2020, 07:54

Как получить это групповое значение всех синтетических EURUSD, в нашем примере? Ответ напрашивается очевидный: нужно найти среднее арифметическое всех синтетик EURUSD. Тем самым мы не выделяем значимость ни одной из синтетик, они имеют равный вес.

В итоге, у нас будет котируемое значение EURUSD и среднее синтетическое <EURUSDs>.

Примечание: символами "< >" вокруг переменной обычно обозначают среднее значение.

Таким образом, суть метода предлагает сравнивать EURUSD и <EURUSDs> между собой и если оно больше по модулю некоего значения, достаточного для получения прибыли, то открывать позицию на покупку или продажу данной пары.

Аналогично отслеживаются средние синтетические для остальных валютных пар, а потом сравниваются с котируемыми значениями.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Нескомпенсированный арбитраж

Сообщение Haos » 15 июн 2020, 09:29

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

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

Таким образом, начинает просматриваться схема алгоритма (рассмотрим на примере треугольных арбитражных конструкций для EURUSD, см. таблицу выше):
1. Находится среднюю цену котируемой <EURUSD> = {(EURUSDAsk + EURUSDBid) / 2};
2. Находим средние цены для пар всех конструкций для составления арбитража (<AUDUSD>, <EURAUD> ...);
3. Находим сами синтетические значения EURUSDs[i];
4. Находим среднее синтетическое <EURUSDs>;
5. Сравниваем среднюю котируемую цену <EURUSD> со средней синтетической <EURUSDs> и если она отклоняется на заранее заданное значение в пунктах, достаточное для получения прибыли, то осуществляем сделку.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Нескомпенсированный арбитраж

Сообщение Haos » 15 июн 2020, 09:45

Возникает вопрос что значит "заранее заданное значение в пунктах, достаточное для получения прибыли" (см. сообщение выше)? Это одно из мест в изложении автора, которое, скажем так, замысловато. Он рассчитывал некие стандартные отклонения с учетом спреда и т.д.
Опять же, мне думается, что всё намного проще. Это значение, назовем его Delta, зависит от величины отклонения:
|<EURUSD> - <EURUSDs>| по модулю. Но для прибыльности сделки мы должны учесть что необходима еще добавка в пунктах для надежности как раз и связанная со значением спреда в момент совершения сделки по EURUSD и с величиной некой тоже в пунктах, связанной с тем, что мы считали средние значения всех данных, а не через Ask и Bid. Думаю, что эта добавка может быть оценена в результате эксперимента, т.е. грубо говоря, задаем дельту в начале в виде Delta + 1 пнт. и тестируем алгоритм. Потом задаем Delta + 2 пнт. и тоже тестируем. И т.д. Находим самое оптимальное значение (если находим, конечно) и его используем в торговле.

Собственно, вот и всё. Это всё теория. Само-собой, только практика покажет, рабочий ли это метод, т.к. может оказаться так, что арбитражные ситуацию хотя и есть (это показывало недавнее исследование см. соотв. темы по арбитражу на форуме), но спред расширяется всегда больше чем потенциальная прибыль в несколько пунктов. Тогда можно было бы поискать брокера с фикс. средами или с минимальными и т.п.

Но надежда есть, т.к. расширение спреда в треугольном арбитраже мы имели по всем трем парам в его конструкции, а здесь будем иметь только один спред и сама торговля не является арбитражем в классическом смысле, т.е. не скомпенсирована для возможного движения цены против сделки, т.е. "обычная" направленная торговля.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Нескомпенсированный арбитраж

Сообщение Haos » 23 июн 2020, 11:44

Я написал советник для проверки данной гипотезы. На спокойном рынке отклонения составляют цифры от 0 до 5 на спокойном рынке по пятому знаку, т.е. даже меньше 1 пункта обычной котировки. Ночью замечал что до 10 пнт. по 5 знаку были отклонения. Все отклонения распадаются в течение пары секунд иногда больше, но это не имеет значения. В любом случае, никакого "выпрямления" кросса или мажора нет ив помине значимого для извлечения прибыли, т.е. не то что треугольный арбитраж невозможен, а даже направленный по одной из сторон даже не может быть.
Так что, полученные автором методы данные были с одной стороны:
1. случайны
2. обусловлены были некоторой неэффективностью брокера в далекий 2007 г., где еще были подобные казусы.
Возможно в период новостей и т.п. неэффективностей и возникают расхождения, но это бесперспективно, скорее всего.
Вложения
Отклонения между ценами.png
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.


Вернуться в Школа трейдинга

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 401

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения