Постов с тегом "алгоритм": 463

алгоритм


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

    • 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 обязаны быть, как минимум, положительными. А наши перекосы вполне могут счет на одном из брокеров просто обнулить, хоть другой и будет расти.

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

Вопрос к опытным алготрейдерам

    • 30 октября 2013, 17:55
    • |
    • Ezev
  • Еще
В связи с гнилостью трендовой составляющей начиная с первого октября, попытался найти что-либо из индикаторов, что как-нибудь описывет ситуацию. Вот картинка РИ на четырех часах, внизу АТР 14. Как эту «змею» можно описать алгоритмически для того, что бы выделить этот период из всего времени? Имею ввиду не кода, а принцип.

Вопрос к опытным алготрейдерам

Маркетмейкинг, STP, ECN/STP.

    • 29 октября 2013, 12:50
    • |
    • openfx
  • Еще
Как и прошлые записи, эта является продолжением предыдущей. Для более ясного понимания содержания и терминологии настоятельно рекомендую прочесть прошлые записи по порядку:
1. Немного о маркетмейкерах.
2. Моделирование рынка.
3. Биржевой алгоритм.
4. Исполнение лимитных ордеров на бирже.

Итак, маркетмейкинг, STP, ECN/STP.

Все три модели являются абсолютно рыночными — это очень важно понимать, т.к. нет честного рынка или нечестного. Все едино и переплетено.
Первая отличается от двух других тем, что зарабатывает не на комиссии с оборота клиентов, а на их сливе. Разберем все на одном реальном примере (все данные публичные), имена упустим.

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

Исполнение лимитых ордеров на бирже.

    • 29 октября 2013, 00:00
    • |
    • openfx
  • Еще
Как и прошлые записи, эта является продолжением предыдущей. Поэтому, для более ясного понимания содержания и терминологии рекомендую прочесть прошлые записи по порядку:
1. Немного о маркетмейкерах.
2. Моделирование рынка.
3. Биржевой алгоритм.

Итак, теперь пару слов о лимитных ордерах на бирже.

Корректный биржевой алгоритм не допускает в ценообразовании публичной ситуации Bid >= Ask. В самом алгоритме по мере приема заявок на начальном этапе формируется стакан, в котором частенько бывают ситуации Bid >= Ask. В такой ситуации включается исполнительная часть биржевого алгоритма, задача которой разрулить эту ситуацию до состояния Ask > Bid. И только после разруливания уже сформированный стакан с соответственно сформированными Last-данными становится публичным — доступным всем.

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

Начинаем с начала. Немного о маркетмейкерах.

    • 22 октября 2013, 23:07
    • |
    • openfx
  • Еще
Добрый день!
Я уже отметился записью здесь.

Многие знают, что одно из первых, что говорят в техническом ВУЗе — забыть все, что проходили в школе. Данная рекомендация актуальна и здесь. Полезно иногда с чистого листа начать. Начинаем!

На данный момент все рынки автоматизированы. По этой причине какие-то экономические объяснения ценообразования являются некими рудиментами. Рулят алгоритмы + некое ручное вмешательство.

Задача каждого торгового алгоритма всегда одна и та же — принести денег владельцу. Алгоритм тем лучше, чем больше денег он в состоянии принести.

Среди алгоритмов на рынке есть так называемые маркетмейкерские алгоритмы. Объяснить на пальцах, наверное, можно от простого примера к более сложному:

Представьте, что у вас задача создать новый символ для торговли. Пусть есть люди, которые по какой-то причине хотят его торговать. Что требуется от вас? Вам нужно в любой момент формировать из своих заявок Level2 вашего символа. Т.е. наполнить символ ценами и ликвидностью. Вначале можно сделать совсем тупой ММ-алгоритм — Level2 не меняется. Т.е.клиент купил или продал, после чего вы добавили ликвидности до исходного Level2. Очевидно, что такой алгоритм будет давать владельцу постоянно деньги. Но проблема в том, что люди не полные идиоты, и на символе-константе торговать не станут — нет даже потенциальной возможности им заработать.

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

Nyse , рассуждения и точки входа 21 ( поможет новичкам и бывалым )

Добрый вечер, выкладываю сделки. Делал скрины и старался в каждом подчеркнуть индивидуальность акции. 
Что бы вам было легче ориентироваться :
Верхний график — 1 min 
Левый нижний график — SPY 1 min
Правый нижний график — 1 day ( за 6 месяцев ) .
Шкала в минутных графиках 0.50 $ — восновном хорошие уровни ну и заходы происходят на таких числах 15.00, 15.50, 16.00, 17.00, 18.50 и тд.Шкала в day графике через каждые 5 $ — на дневке сильные уровнями и тд являются числа кратные 5 .
Вопрос: Как ты держишь позицию ?
Если позиция 100 % то
20 % позиции — выхожу эмоционально — для преодоления эмоций и отбития стопа.Остальную позицию закрываю по тех анализу и тд. 
P.s сори за ошибки, не успел проверить .
Nyse , рассуждения и точки входа 21 ( поможет новичкам и бывалым )
Nyse , рассуждения и точки входа 21 ( поможет новичкам и бывалым )


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

Nyse , рассуждения и точки входа 20 ( поможет новичкам и бывалым )

Добрый вечер, выкладываю сделки. Делал скрины и старался в каждом подчеркнуть индивидуальность акции. 
Что бы вам было легче ориентироваться :
Верхний график — 1 min 
Левый нижний график — SPY 1 min
Правый нижний график — 1 day ( за 6 месяцев ) .
Шкала в минутных графиках 0.50 $ — восновном хорошие уровни ну и заходы происходят на таких числах 15.00, 15.50, 16.00, 17.00, 18.50 и тд.Шкала в day графике через каждые 5 $ — на дневке сильные уровнями и тд являются числа кратные 5 .
Вопрос: Как ты держишь позицию ?
Если позиция 100 % то
20 % позиции — выхожу эмоционально — для преодоления эмоций и отбития стопа.Остальную позицию закрываю по тех анализу и тд. 
P.s сори за ошибки, не успел проверить .

Nyse , рассуждения и точки входа 20 ( поможет новичкам и бывалым )
Nyse , рассуждения и точки входа 20 ( поможет новичкам и бывалым )


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

Александр Ситник «Создание торгового алгоритма».

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

Nyse , рассуждения и точки входа 19 ( поможет новичкам и бывалым ) .

Добрый вечер, выкладываю сделки. Делал скрины и старался в каждом подчеркнуть индивидуальность акции. 
Что бы вам было легче ориентироваться :
Верхний график — 1 min 
Левый нижний график — SPY 1 min
Правый нижний график — 1 day ( за 6 месяцев ) .
Шкала в минутных графиках 0.50 $ — восновном хорошие уровни ну и заходы происходят на таких числах 15.00, 15.50, 16.00, 17.00, 18.50 и тд.Шкала в day графике через каждые 5 $ — на дневке сильные уровнями и тд являются числа кратные 5 .
Вопрос: Как ты держишь позицию ?
Если позиция 100 % то
20 % позиции — выхожу эмоционально — для преодоления эмоций и отбития стопа.Остальную позицию закрываю по тех анализу и тд. 
P.s сори за ошибки, не успел проверить .

Nyse , рассуждения и точки входа 19 ( поможет новичкам и бывалым ) .

Nyse , рассуждения и точки входа 19 ( поможет новичкам и бывалым ) .



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

Сложный торговый робот. История создания.

Все кругом только и говорят про торговлю через алгоритмы, пытаются что-то сделать, даже обращаются к программистам, но, если это и доходит до какого-то логического завершения, то ограничивается галимой работой на рынке forex, используя внутренние инструменты MetaTrader. Все как всегда хотят легких денег, воображают себе программу, которая без оперативного управления будет генерить им капитал, а они будут попивать коктейль на пляже. Хочу немного опустить этих людей с небес, рассказать как это происходит по-настоящему на профессиональном уровне и вкратце изложить историю титанического труда, математических расчетов, программирования командой людей и конечно же танцев с бубном. Скажу сразу, что эта статья, пускай и без углубления, но все равно потребует Вашего вникания в саму суть, но обещаю, что будет интересно.
Идея торгового робота построена на неэффективности российского рынка. В своем корне это новаторский подход к арбитражу, но чуть больше является все же парным трейдингом. Если конкретнее, то мы командой рассматривали два инструмента, а именно USDRUB(TOM), в дальнейшем будем называть его «Spot», то есть покупка/продажа долларов США за российские рубли со сроком исполнения обязательств на следующий день после дня проведения торгов, так как торговать наш робот будет Интрадэй, и фьючерс Si на доллар/рубль, в дальнейшем будем называть его «Fut». И идиоту понятно, что большей корреляционной зависимости придумать трудно; номинальный порядок Spot двузначный, то есть 31,xxx; номинальный порядок Fut пятизначный, то есть 31xxx. Рассматривать, анализировать и в дальнейшем торговать будем по минутному графику М1. Приведем Fut к стилю Spot (исключительно для математической аналитики), разделив каждое его значение на 1000. Построим из полученного массива значений два графика в одной системе координат:

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

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