Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Попалась любопытная статья на злободневную тему причинной связи между котирами.
Обычно, связь рассматривается на форуме как корреляция.
Следующий шаг - это коинтеграция, предложенная Грэнджером в 1969 году. Это более точное определение причинной связи двух котиров. Имеется ввиду следующее: берется два нестационарных котира, обладающих следующим свойством: если взять одинаковое число разностей каждого котира, т.е. оба котира имеют одинаковую интегрированность (обычно одну - I(1)), то остаток будет стационарным. Тогда для этих двух нестационарных котиров можно найти вектор, на который умножив один из котиров и сложив его с первым, мы получим новый стационарный ряд. Т.е. сумма двух нестационарных рядов порождает стационарный ряд.
Это работает для выявления синхронных движений на коротких промежутках.
Статья предлагает выявлять такие синхронные движения двух котиров на длинных промежутках.
эдак ты придёшь к Определению Кросса между мажорными парами, во время его флета :-) а оттуда и до парного трейдинга недалеко :-)
Если коинтеграция между тремя и более инструментами, то будет не парный трейдинг.
Мне бы алгоритм где-нибудь найти для тупых - скажем, для трех инструментов. Переложить его собрался на пятеру.
Сможешь посоветовать что-нить попроще, SunSunich?
Набрал "коинтеграцию" в поиске - и тут же наткнулся на посты hrenfx. Вот так вот.
Мне бы алгоритм где-нибудь найти для тупых - скажем, для трех инструментов. Переложить его собрался на пятеру.
Алгоритм элементарный при условии, что найден коинтегрированный портфель. Для поиска портфеля нужно использовать метод Йохансена (Johansen).
Пусть W=(W[1], ..., W[n]) - вектор коинтеграции, он предполагается постоянным. Часть его элементов имеют положительные знаки, часть - отрицательные (этот момент должен быть очевиден ;) ).
В момент времени t наблюдается вектор miprices(t)=(M[1](t), ..., M[n](t))=0.5*(bid[1](t)+ask[1](t), ..., bid[n](t)+ask[n](t)) и spreads(t)=(S[1](t), ..., S[n](t))=(ask[1](t)-bid[1](t), ..., ask[n](t)-bid[n](t)). В квадратных скобках - номер инструмента (от 1 до n).
Нужно вычислить две цены: цену покупки портфеля BasketAsk (длинная позиция по инструментам, для которых W[i]>0; короткая позиция по инструментам, для которых W[i]<0) и цену продажи портфеля BasketBid (короткая позиция по инструментам, для которых W[i]>0; длинная позиция по инструментам, для которых W[i]<0). Сюда же нужно включить транзакционные издержки (они повышают цену покупки и понижают цену продажи; из них в дальнейшем учтён лишь спред, т.к. всё остальное зависит от рынка, типа инструментов, брокера и т.д.).
BasketBid(t) = sum(i = 1 .. n) { W[i] * (M[i](t) - 0.5 * S[i](t) * sign(W[i])) }
BasketAsk(t) = sum(i = 1 .. n) { W[i] * (M[i](t) + 0.5 * S[i](t) * sign(W[i])) }
Таким образом, для каждого момента времени можно посчитать стоимость покупки и продажи портфеля.
Задача - купить дешево, продать дорого.
Портфель коинтегрирован, а значит в процессе анализа был построен некий ряд остатков модели коинтеграции. Считаем матожидание ряда остатков (пусть оно будет V). Покупаем портфель, когда цена BasketAsk меньше V за вычетом некоторого порога T. Продаём портфель, когда цена BasketBid больше V + T. Порог T выбирается таким образом, чтобы выполнялись два условия:
1. Отбивать транзакционные издержки и получать прибыль.
2. Чтобы сделок было достаточно много. Если взять слишком большой порог - вы будете редко получать большую прибыль. Если маленький - будете получать часто маленькую прибыль. Если взять очень маленький порог - будете очень часто получать убыток в размере транзакционных издержек.
Есть ещё способы, но они больше свойственны HFT ботам, которых на MQL обычно не пишут :P
p.s. Очень важно выразить абсолютно все цены и спреды в одной и той же единице измерения. Обязательно - в одной валюте. Это относится как к этапу построения портфеля, так и к этапу эксплуатации. Если какой-то инструмент торгуется в другой валюте - нужно учитывать стоимость хеджирования при помощи валютного спота, либо фьючерсов на соответствующий курс.
Mathemat, надеюсь, объяснил подробно. Если будут вопросы - пишите в ПМ.
Мне бы алгоритм где-нибудь найти для тупых - скажем, для трех инструментов. Переложить его собрался на пятеру.
Сможешь посоветовать что-нить попроще, SunSunich?
Набрал "коинтеграцию" в поиске - и тут же наткнулся на посты hrenfx. Вот так вот.
Поищи здесь.
На эконометрику time series и коинтеграцию.
Там есть к примеру такая книга, см. оглавление в аттаче
Мне бы алгоритм где-нибудь найти для тупых - скажем, для трех инструментов. Переложить его собрался на пятеру.
Сможешь посоветовать что-нить попроще, SunSunich?
Набрал "коинтеграцию" в поиске - и тут же наткнулся на посты hrenfx. Вот так вот.
а может воспользуешься инструментом от Леонида? вот к примеру тройной индексный спред (спред трёх инструментов)
описание самого индикатора - есть на странице 67 электронного журнала Лепрекон за 10 номер от 2010 года...
описание самого принципа построения спредов из более чем 2х пар - можешь поискать в инете - в теме Квазиарбитраж в краткосрочной торговле
http:// www. procapital. ru/showthread.php?t=28081
ну и по такому же принципу и больше ног можно вставить в индикатор...