Постов с тегом "Level2": 33

Level2


Торгуем арбитраж + немного об агрегации

    • 01 ноября 2013, 17:08
    • |
    • openfx
  • Еще
Перед прочтением настоятельно рекомендую ознакомиться с прошлыми записями (если еще не сделали это):
1. Немного о маркетмейкерах.
2. Моделирование рынка.
3. Биржевой алгоритм.
4. Исполнение лимитных ордеров на бирже.
5. Маркетмейкинг, STP, ECN/STP.
6. Небольшая, но важная, терминология.




Торгуем арбитраж
.
Допустим возникло желание заняться арбитражем. Для этого нужно, как минимум, создать коинтегрированный портфель. Самый простой коинтегрированный портфель состоит из двух одноименных символов: один у одного брокера, второй — у другого.
Возьмем, например, так популярный EURUSD и дадим символам для удобства соответствующие названия: EURUSD1 и EURUSD2. Важнейшее замечание, которое необходимо полностью осознать, что EURUSD1 и EURUSD2 — это совершенно разные символы. Они могли бы вообще подругому называться у брокеров, иметь сильно (на порядок, например) разные цены и другие отличия. Важно лишь только одно — они коинтегрированы. Но для простоты будем рассматривать элементарный случай: EURUSD1 и EURUSD2.

Перед тем, как сравнивать цены, делается алгоритмический маркап на них  для того, чтобы внести в них все возможные торговые издержки (качество исполнения для каждого брокера и комиссии для каждого брокера). Будем далее считать, что все цены уже замаркаплены.
Итак, в каждом брокере у вас имеются торговые счета с определенными деньгами. Если очень примитивно смотреть на арбитраж, то требуется находить моменты Ask1 < Bid2 и Ask2 < Bid1. И в эти моменты открывать/закрывать противоположные позиции в каждом из брокеров.
Это наипростейшая и лобовая реализация. Сделаем небольшое отступление в сторону более обобщенного и универсального видения такой торговли.

В данном случае коинтегрированность портфеля говорит о том, что Synth = EURUSD1 / EURSD2 колеблется возле единицы. У этого Synth имеются свои Synth_Bid и Synth_Ask (Synth_Level2) цены. Если возможно построить ЗигЗаг с вершинками на Synth_Bid и низинками на Synth_Ask, то наш портфель Synth является арбитражным. Но это отвлечение.

Вернемся все же к более привычному для большинства взгяду на торговлю. На самом деле в некоторых случаях оправдано создание чего-то высокоуровневого для удобства торговли. И для арбитража это высокоуровневое делается так:
Берутся замаркапленные Level2_1 и Level2_2 и просто объединяются в Level2_All, которому начинает соответствовать созданный искусственный высокоуровневый символ EURUSD_All. Пишутся очень простые торговые функции, которые в состоянии торговать EURUSD_All. Например, если вы хотите продать EURUSD_ALL, то OrderSend(EURUSD_All, OP_SELL) отправляет SELL-приказ на того из брокеров, у которого Bid-цена наивысшая, т.е. его Bid-цена находится на наилучшем банде в Level2_All.

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

При такой реализации вам нужно всего лишь дожидаться ситуации, когда Ask_All < Bid_All и в этот момент одновременно открывать разнонаправленные позиции по EURUSD_All. В итоге получая высокоуровневую прибыль и отсутствие открытых позиций по EURUSD_All. Удобно, не правда ли? Советник на таком высокоуровневом языке занимал бы 10 строк: увидел отрицательные спред, проторговал его, ждем дальше.

Если же опуститься с высокого уровня видения такой торговли вниз, то мы заметим, что в момент, когда у нас нет позиций по EURUSD_All, мы будем иметь открытую позицию по EURUSD1 и противоположную ей по EURUSD2. Это в свою очередь будет вызывать естественные перекосы Equity1 и Equity2. Да, грубо говоря, Equity_All = Equity1 + Equity2 будет расти по мере торговли, но мы то знаем, что Equity1 и Equity2 обязаны быть, как минимум, положительными. А наши перекосы вполне могут счет на одном из брокеров просто обнулить, хоть другой и будет расти.

( Читать дальше )

Используете ли вы Level2?

Добрый день.

Используете ли вы Level2 (Nasdaq total view) в полном объёме в своей торговле? Я задаю этот вопрос потому, что сам сомневаюсь в целесообразности использования данного инструмента.
В самом деле, Level1 уже даёт информацию об сделках, размерах и значениях бада и аска. На ней можно и скрытого участника спокойно разглядеть, и его разбор.
А что даёт Level2? Показывает крупных игроков неподалёку? Но ведь данные участники как легко появляются, так легко и исчезают. А может быть главное — это появляющиеся на иных ECN ордера при отскоке от скрытого? Но даёт ли данная информация нам больше пользы, чем поведение цены на ленте?

Итак, есть ли исключительные причины оставлять подключенным Level2?

....все тэги
UPDONW
Новый дизайн