SmartQuant Discussion

Automated Quantitative Strategy Development, SmartQuant Product Discussion and Technical Support Forums
It is currently Sun Oct 17, 2021 2:51 pm

All times are UTC + 3 hours




Post new topic Reply to topic  [ 31 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
PostPosted: Mon Jun 25, 2012 3:43 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
grinboy wrote:
подскажите пожалуйста разве разве нельзя закачать пропущенные данные MarketDepth за текущий день?
В списке на закачку его нет есть только Quote.

Возможность закачки таких данных определяется брокером (реализаций адаптера) или это свойство OQ?


а никто из плагинов не поддерживает исторические marketdepth данные.
Фактически, сейчас можно только каптурить такой тип данных, чтобы автоматом писать в базу, или это вариант импорта своим скриптом.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Mon Jun 25, 2012 4:25 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Quote:
но самый распространенный вариант - это с указанием позиции для операций update и delete - вот он нами и выбран в качестве ориентира.

В моем случае - это quote id, который дается РТС. И мне кажется это самое разумное, поскольку это четко и конкретно ID квот которыми мы собственно и манипулируем, обновляем, удаляем. Может другие решения конечно производительны или есть какие то другие мне неизвестные плюсы, но имхо с точки зрения структур и логики они выглядят как костыли.

В общем пока что все выглятит так, что данные OrderBook (Order Log) официально предоставляемые РТС в OQ никаким способом загрузить невозможно :( А я опять потратил полдня на ненужный скрипт.


Top
 Profile  
 
PostPosted: Mon Jun 25, 2012 5:13 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Можно спорить на тему, что разумно, а что костыли. Я, например, не вижу ничего удобного в том, чтобы вместо простых операций, как то вставить по позиции, изменить сайз по позиции или удалить по позиции, заниматься какими-то вычислениями по неким айди и сортировать ордер бук самому. Ну не будем уподобляться Аршавину и его словам про то где чьи проблемы :) На самом деле, ничего страшного в ситуации с ордер_айди нет. И Вам не грозит получить разницу между Вашей сортировкой и нашим Ордербуком, если Вы будете править бал с позицией во всех операциях.
Та ссылка, что в самом начале топика, там много файлов лежит - достаточно ли одного из них, чтобы посмотреть в него или это все части одного архива? Я постараюсь время найти, чтобы прикинуть скрипт для импорта.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Mon Jun 25, 2012 5:55 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Это части одного огромного архива. Я могу вам кинуть кусочек из него и еще я могу кинуть черновик скрипта, а вы его усовершенствуете с помощью Position.
Надо ?


Top
 Profile  
 
PostPosted: Mon Jun 25, 2012 7:16 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Кидайте. alexei.kurov@smartquant.com

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Tue Jun 26, 2012 10:46 am 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Отправил. Надеюсь вложение с расширением cs пропустят.


Top
 Profile  
 
PostPosted: Tue Jun 26, 2012 11:00 am 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Да, все получил нормально.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Thu Jun 28, 2012 10:30 am 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Алексей, как у вас успехи со скриптом и с OrderBookUpdate.Position ?


Top
 Profile  
 
PostPosted: Thu Jun 28, 2012 11:08 am 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Пока никак - у меня еще не было возможности этим заниматься.
Надеюсь, сегодня-завтра получится. Я напишу.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Fri Jun 29, 2012 4:28 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
В выходные очень хотелось бы поработать уже с вашей версией скрипта.


Top
 Profile  
 
PostPosted: Mon Jul 09, 2012 8:16 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
День добрый. Работаю над скриптом,
1)есть вопрос по OrderBookUpdate.Size (А точнее даже по тому Size который передается в качестве параметра в DataManager.Add(Instrument instrument,DateTime datetime,BidAsk side,OrderBookAction action, int position,double price, int size))

Пожалуйста опишите что это за конкретно сайз, когда я делаю OrderBookAction.Delete и OrderBookAction.Update.
OrderBookAction.Insert - вроде догадался.

2)Верно ли я понимаю что если я читаю файл полного Ордер лога и пытаюсь по нему заполнить OrderBook в OQ, то мне придется для каждой новой заявки в логе добавлять в базу как минимум один OrderBookUpdate ? (А если данная заявка мгновенно нашла например 4 встречные заявки и исполнилась - то придется добавить 4 OrderBookUpdate). Можно ли каким то образом "сжать" данные OrderBook, ну например раз в 100 млс добавлять один большой OrderBookUpdate ?


Top
 Profile  
 
PostPosted: Tue Jul 10, 2012 8:58 am 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
1) при Delete, size не имеет значения, как и price. важна позиция, по которой удалить.
при Update, size играет главную роль после position - показывает как изменилось количество, вследствии того, что часть либо выполнилась, либо снялась, либо добавилась. вообще, в теории, апдейты только на сайз и бывают, потому как изменение цены - это комбинация делете и инсерт.
2) в той же теории, стаканы живут двумя способами. первый - это снапшоты, либо на каждый чих, либо по временному интервалу - тут как поставщик данных решает. и второй - это снапшот+обновления. то, что Вас как раз смущает - это и есть способ номер 2, где надо проводить любое обновление. на самом деле, однозначности в эффективности того или иного способа нет. к примеру, у Вас стакан глубиной 20 и Вы будете обновлять его снапшотами 10 раз в секунду. вопрос, зачем, если данные идут довольно редко? Вы просто одно и тоже будете писать в базу. к тому же, в опенкванте, механизм снапшотов реализован плохо - это операция reset отдельно по биду и отдельно по аску, а потом толпа инсертов.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Tue Jul 10, 2012 12:39 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Верно ли что Update, size - это новое количество ?


Top
 Profile  
 
PostPosted: Tue Jul 10, 2012 1:40 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
конечно. даже по смыслу другого быть не может. каждая строчка в стакане - это как квота. когда квота обновляется, то просто говорится о новом размере, а не плюс/минус от предыдущего:-)

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Tue Jul 10, 2012 6:05 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Alexei Kurov wrote:
2) в той же теории, стаканы живут двумя способами. первый - это снапшоты, либо на каждый чих, либо по временному интервалу - тут как поставщик данных решает. и второй - это снапшот+обновления. то, что Вас как раз смущает - это и есть способ номер 2, где надо проводить любое обновление. на самом деле, однозначности в эффективности того или иного способа нет. к примеру, у Вас стакан глубиной 20 и Вы будете обновлять его снапшотами 10 раз в секунду. вопрос, зачем, если данные идут довольно редко? Вы просто одно и тоже будете писать в базу. к тому же, в опенкванте, механизм снапшотов реализован плохо - это операция reset отдельно по биду и отдельно по аску, а потом толпа инсертов.

Спасибо, но немного запутали.
вы говорите что способ 2(снапшот+обновления) смущает(кого-то:)) потому надо проводить ЛЮБОЕ обновление.
Однако мне не понятно а способ 1 (Снапшот на каждый чих) чем лучше собственно ??
Кроме того чтобы выбирать писать снапшоты один за другим или обновления снапшотов(т.е. некую дельту между состояниями) - оба варианта должна поддерживать система, должны быть какие то объекты/методы.
У нас в OQ я знаю только OrderBookUpdate и DataManager.Add(OrderBookUpdate). Я так понял что OrderBookUpdate - это обновление снапшота соответственно я думал что в OQ особого выбора нет и нам предлагается способ 2 = Снапшот+Обновления, однако чего вдруг вы написали что надо проводить любое обновление ?? Я полагал что мы с некой периодичностью можем покопить обновления и потом записать из скопом, Число DataManager.Add(OrderBookUpdate) при этом может несколько уменьшиться, если несколько изменений одной Position мы внесем за один раз.

Может есть еще какой то объект Snapshot - о котором я не знаю ?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 31 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group