Выполнение лимитированных заявок в HistoryTestTrader


Выполнение лимитированных заявок в HistoryTestTrader
Atom
2/17/2011


Попробовал выставлять лимитированные заявки: правильно ли я понял, что они выполнятся при условии, если цена ask из стакана(для заявки на покупку) опускается до цены ордера, и по цене ask (часто отличной от цены в ордере)?

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

Заранее спасибо



Thanks:


1 2 3  > >>
Mikhail Sukhov

Avatar
Date: 2/17/2011
Reply


andy Go to
Попробовал выставлять лимитированные заявки: правильно ли я понял, что они выполнятся при условии, если цена ask из стакана(для заявки на покупку) опускается до цены ордера, и по цене ask (часто отличной от цены в ордере)?


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

andy Go to

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


По цене не хуже. Поэтому и есть такое понятие, как средневзвешенная цена заявки, когда она получается по ценам из сделок.

andy Go to

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


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

andy

Avatar
Date: 2/18/2011
Reply


Mikhail Sukhov Go to

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

Да правильно - по цене не хуже.

Возможно я неточно сформулировал. Рассмотрим на примере.
Пусть у нас есть точные исторические данные по тикам и стаканам. Мы создаем лимитированную заявку на покупку с минимальным объемом и ценой 100. Ордер попадает на биржу.
1) Если в этот момент в стакане ask <= 100, то ордер будет исполнен по цене ask (например, 90)?
2) Если ask > 100, то ордер попадает в стакан, правильно?
3) После того, как ордер оказывается в стакане он может выполниться только по своей цене (100)?
4) При каком условии он выполниться: когда приходят сделки по цене <= 100 или когда цена ask из стакана <= 100?
Thanks:

Mikhail Sukhov

Avatar
Date: 2/18/2011
Reply


andy Go to
Mikhail Sukhov Go to

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

Да правильно - по цене не хуже.

Возможно я неточно сформулировал. Рассмотрим на примере.
Пусть у нас есть точные исторические данные по тикам и стаканам. Мы создаем лимитированную заявку на покупку с минимальным объемом и ценой 100. Ордер попадает на биржу.
1) Если в этот момент в стакане ask <= 100, то ордер будет исполнен по цене ask (например, 90)?
2) Если ask > 100, то ордер попадает в стакан, правильно?
3) После того, как ордер оказывается в стакане он может выполниться только по своей цене (100)?
4) При каком условии он выполниться: когда приходят сделки по цене <= 100 или когда цена ask из стакана <= 100?


1. Да.
2. Выражение не понятно.
3. Вы же в пункте 1 писали об обратном... Ордер будет выполняться по лучшем оферам до тех пор, пока не закончится баланс или цена офера не превысит 100.
4. Все заявки матчаться на основе стакана.

Вы лучше скажите, в чем собственно вопрос.
Thanks:

andy

Avatar
Date: 2/18/2011
Reply


Quote:
Вы лучше скажите, в чем собственно вопрос.

Вопрос был в том по какому алгоритму матчатся лимитированные заявки.

Попробую объяснить почему, как мне кажется, текущий алгоритм не учитывает все варианты выполнения ордера.
Пусть изначально стакан на тестовой бирже выглядит так
Ask 110 1
Bid 90 1
Bid 80 1

После установки ордера
Ask 110 1
Bid 100 1 * наша заявка
Bid 90 1
Bid 80 1

После этого скажем кто-то продает по рынку, тогда в исторических тиковых данных мы увидим сделку по 90. При этом хотя цена ask не меняется, наш ордер должен выполниться по 100.
Ask 110 1
Bid 80 1
Thanks:

Mikhail Sukhov

Avatar
Date: 2/18/2011
Reply


Заявки исполняются по стакану, а не по тикам. Поэтому, историческая сделка не влияет на исполнение заявок.
Thanks:

Juri

Avatar
Date: 2/18/2011
Reply


Mikhail Sukhov Go to
Заявки исполняются по стакану, а не по тикам. Поэтому, историческая сделка не влияет на исполнение заявок.


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

Сможет Ваш тестер моделировать такую стратегию?
Thanks:

Mikhail Sukhov

Avatar
Date: 2/18/2011
Reply


Juri Go to
Mikhail Sukhov Go to
Заявки исполняются по стакану, а не по тикам. Поэтому, историческая сделка не влияет на исполнение заявок.


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



Не понял, как одно следует из другого.
Thanks:

Juri

Avatar
Date: 2/18/2011
Reply


Mikhail Sukhov Go to
Juri Go to
Mikhail Sukhov Go to
Заявки исполняются по стакану, а не по тикам. Поэтому, историческая сделка не влияет на исполнение заявок.


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



Не понял, как одно следует из другого.



В одном из предыдущих постов был пример

Пусть изначально стакан на тестовой бирже выглядит так
Ask 110 1
Bid 90 1
Bid 80 1

После установки ордера
Ask 110 1
Bid 100 1 * наша заявка
Bid 90 1
Bid 80 1

После этого скажем кто-то продает по рынку, тогда в исторических тиковых данных мы увидим сделку по 90. При этом хотя цена ask не меняется, наш ордер должен выполниться по 100.
Ask 110 1
Bid 80 1


Как я понял из вашего ответа в этом примере "наша заявка" не будет исполнена в Вашем эмуляторе.
Так?

Thanks:

Mikhail Sukhov

Avatar
Date: 2/18/2011
Reply


Juri Go to

Как я понял из вашего ответа в этом примере "наша заявка" не будет исполнена в Вашем эмуляторе.
Так?



Давайте я еще раз пропишу схему. Матчинг идет по стакану, не по сделкам. Если есть стакан в истории, по нему идет сопоставление удовлетвориться заявка или нет. Если стакана нет, то он генерируется рандомно по последней сделки. И далее точно так же как и с сохраненным стаканом. Тоесть, то что есть исторический тик на 90р, не играет существенной роли.
Thanks:

andy

Avatar
Date: 2/20/2011
Reply


Mikhail Sukhov Go to
Заявки исполняются по стакану, а не по тикам. Поэтому, историческая сделка не влияет на исполнение заявок.


Я понял. Есть ли какая то возможность изменить алгоритм матчинга - через реализацию интерфейса или как-то еще?
Thanks:
1 2 3  > >>

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy