4.1 WeightedIndexSecurity странности в работе


4.1 WeightedIndexSecurity странности в работе
Atom
4/26/2012


С помощью WeightedIndexSecurity рисую график спреда двух инструментов. ТФ 1мин.

Подписываюсь у CandleManager на Processing, в обработчик приходят только "целые" свечки.
Это видно по записям в логе - нет повторяющихся записей.

Это так и должно быть что свечки только целиком приходят?
Т.е. нет возможности чтобы одна свечка перерисовывалась с каждым новым тиком как у обычного Security? Или это баг?

Плюс приходят не с равным интервалом, а за раз по несколько штук.


Tags:


Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 4/26/2012
Reply


Moadip Go to
Плюс приходят не с равным интервалом, а за раз по несколько штук.


Это при релтайм данных?
Thanks:

Moadip

Avatar
Date: 4/26/2012
Reply


Mikhail Sukhov Go to
Moadip Go to
Плюс приходят не с равным интервалом, а за раз по несколько штук.


Это при релтайм данных?


Да.
Thanks:

Mikhail Sukhov

Avatar
Date: 4/27/2012
Reply


Moadip Go to
Mikhail Sukhov Go to
Moadip Go to
Плюс приходят не с равным интервалом, а за раз по несколько штук.


Это при релтайм данных?


Да.


Понял. Это индексная свечка. Поэтому в ней признак окончания формирования считается началом появления новых свечек по всем составным инструментам. Видимо в индексе есть неликвид.
Thanks:

Moadip

Avatar
Date: 4/27/2012
Reply


Quote:
Видимо в индексе есть неликвид.


Индекс = газ - лук.

Ок, ладно, на вечерке они еле шевелятся.

Но почему нет "промежуточных" значений между CandleStates.Started и CandleStates.Finished как у обычных свечек?

Или это такой алгоритм создания у индексных свечек?
У индексной свечки нет промежуточных значений.
Она генерится только тогда, когда появятся новые свечки по составным инструментам)?

Но ведь следующая свечка может прийти и через 5 минут. Тогда как быть.[confused]

А почему бы индексную свечку не генерировать, когда придут все свечки по составным инструментам и у них будет CandleStates.Finished?
Если нет свечки по какому то инструменту(не было по нему сделок) то брать предыдущую.
Thanks:

Mikhail Sukhov

Avatar
Date: 4/27/2012
Reply


Moadip Go to

Но почему нет "промежуточных" значений между CandleStates.Started и CandleStates.Finished как у обычных свечек?


Да, нет. Попробуем сделать.

Moadip Go to

А почему бы индексную свечку не генерировать, когда придут все свечки по составным инструментам и у них будет CandleStates.Finished?
Если нет свечки по какому то инструменту(не было по нему сделок) то брать предыдущую.


Там есть уже такой механизм, заклейки дыр. Сейчас работает таким образом, что ожидается появления в один и тот же ТФ всех свечек (бинго стиль). По идее можно кое-что улучшить. Нужна информация. По вашему индексу для всех ТФ по всеми инструментам присутствуют свечки или есть дырки?
Thanks:

Moadip

Avatar
Date: 4/27/2012
Reply


Quote:
По вашему индексу для всех ТФ по всеми инструментам присутствуют свечки или есть дырки?

Не совсем уловил суть вопроса.
Для всех ТФ это как? Вроде же можем построить любой ТФ, хоть 1мин, хоть 25мин.

Взять те же фьючи газпрома и лукойла. Днем дырок не наблюдается, вечером - да, но если взять ТФ в 1час, то тогда конечно не будет дырок.
Thanks:

Mikhail Sukhov

Avatar
Date: 4/28/2012
Reply


Moadip Go to
Взять те же фьючи газпрома и лукойла. Днем дырок не наблюдается, вечером - да, но если взять ТФ в 1час, то тогда конечно не будет дырок.


Вопрос касался конкретно картинки, были ли в тот день дырки на составным инструментам... Окей, судя по всему они были. Логика сейчас такая. Как только появился бинго-ряд, то выстреливает индексная свечка. Если она не является первой, то с предыдущей по текущую в случае наличия дырки дозаполняются данные. Поэтому и появляется эта ситуация, когда свечки вываливаются пачками.

Основная сложность в индексной свечке понять, нужно ли ее закончить. Для этого необходимо ждать окончания свечек по всем инструментам.
Thanks:

Moadip

Avatar
Date: 4/28/2012
Reply


Mikhail Sukhov Go to
Основная сложность в индексной свечке понять, нужно ли ее закончить. Для этого необходимо ждать окончания свечек по всем инструментам.


Могу предложить вариант построения индексных свечек.

Начну издалека.

Если я правильно понимаю как происходит создание свечек, то в общих чертах так:

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

Далее, создается серия, в конструкторе указывается тип, инструмент и размерность.

При вызове у построителя свечек метода start с переданной серией(или у CandleManager, у которого этот построитель свечек указан в качестве источника),
построитель проверят приходящие данные от источника, берет тики по нужному инструменту и строит в соответствии с заданными параметрами свечки.

Сейчас механизм постороения свечек отточен и работает.

С индексными же свечками получается что построитель за основу берет не тики, а готовые свечки по составляющим инструментам.

А почему бы не сделать, чтобы индексные свечки тоже строились на основе тиков?

Логика такая.
Построителем свечек мониторятся приходящие тики, как только пришел тик по одному из составных инструментов, время, объем, цена этого тика берется за основу "индексного тика".
Цена по остальным составным инструментам берется из последнего тика по каждому инструменту.
Считается цена индексного тика.

Далее построитель свечек с этими индексными тиками работает как с обычными.

Таким образом решится проблема когда заканчивать индексную свечку.
Плюс решится еще одна из возможных проблем - что если захотеть построить тиковые индексные свечки?

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

Заметил еще такое, в индексной свечке объем по одному инструменту вычитается из объема по другому инструменту. Это если строить инстр1-инстр2.
Наверное правильнее чтобы объем складывался, независимо от того как индекс строится, иначе может получится момент, когда объем будет отрицательным.
Thanks:

Mikhail Sukhov

Avatar
Date: 4/28/2012
Reply


Moadip Go to

Цена по остальным составным инструментам берется из последнего тика по каждому инструменту.
Считается цена индексного тика.

Далее построитель свечек с этими индексными тиками работает как с обычными.

Таким образом решится проблема когда заканчивать индексную свечку.


Не понял каким образом решается?

Moadip Go to

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


Тут нужно использовать другую фичу - TimeFrameCandleBuilder.GenerateEmptyCandles
Thanks:

Moadip

Avatar
Date: 4/28/2012
Reply


Quote:
Не понял каким образом решается?


Индексная свечка строится точно также как обычная. С обычными же свечками нет проблем в построении и определении когда ее заканчивать?
Разница лишь в том что у "обычных" свечек "обычные" тики, а у индексных свечек - индексные тики, которые делаются налету, как написал выше.
Thanks:
1 2  >

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

loading
clippy