Блог им. modelka

как определить справедливую цену инструмента?

Вот есть инструмент и стакан. Нужно определить его справедливую цену в данный момент времени, от всего остального кроме этого инструмента абстрагируемся.

Можно делать как биржа при расчёте индексов — средневзешенная цена последних 10 сделок по инструменту, но такой расчёт немного «запаздывает» особенно на низколиквидных инструментах. А что ещё хуже — здесь нужны все сделки по инструменту, и далеко не всегда они у нас есть.

Можно было бы взять просто (bid+ask) / 2 — но тогда при достаточно широком среднем bid-ask спреде данное соотношене может неожиданнно «прыгать», если например вдруг заявку на покупку ставять впритык к заявке на продажу, а до этого был большой спред.

Можно было бы брать средневзешенную цену X объёма на покупку и X объёма на продажу, ну и он при определённых обстоятельствах будет «прыгать».

А хочется что-нибудь этакое чтобы и гладкое было с одной стороны, и «не запаздывало» с другой, кто что порекомендует?
★3
19 комментариев
Возьми «центр массы» стакана, да и все.

Зачем это вообще?
Центровка мало на что влияет, т. к. там плиты ставят/убирают только так.
avatar
хз, если честно…
… раньше можно было взять самые большие заявки bid и ask, и от них плясать — сейчас там айсберги сплошные)))
и если инструмент ликвидный, то сам говоришь — будет прыгать, а если неликвид — то и цена не факт что справедливая получится
avatar
да я вот и склоняюсь к этому варианту. но не центр массы всего стакана. а только выбрать сколько-то лучших бидов и оферов и взвесить их. какие такие плиты? :)
avatar
modelka, ну, появляется вдруг бидок объемом с полдневного оборота))) цена откатывается — бидок чудесным образом исчезает… и так туда-сюда)))
avatar
VladimiR, погоняло, кстати, у этой хрени «помело», т.к. сметает всех фронтраннеров к себе в карман )))
avatar
формула че-то типа
Pcw = Pbb + sum((Pi-Pbb)*Vi for Pi,Vi in L2) / sum(Vi for Vi in L2)
Pbb = цена «бест бид»
Pi, Vi — цена, объем на уровне
L2 — все цены, объемы стакана.

Можно от этой байны ЕМА взять, чтоб замедлить, а можно объем в квадрат брать, чтобы получить «энергетический» центр.
Ну по аналогии с кинематикой короче…
avatar
akaRem так не понятно, а своими словами что сделать то надо? :)
avatar
modelka, например, за «ноль» берем лучший бид.
Считаем сумму расстояний от цены до «нуля» помноженную на объем по этой цене. Полцченное делим на весь объем, наблюдаемый в стакане. Прибавляем обратно «ноль», чтобы от смещения перейти к конкретной цене.
Пример
103 — 5(а)
102 — 2(а)
101 — спред
100 — 3(б)
99 — 15(б)

Pcw = 100 +( (103-100)*5 + (102-100)*2 + (100-100)*3 +(99-100)*15 ) / (5+2+3+15) = 100 + 4/25 = 100,16 — центр масс стакана.

… хотя, да, это не совсем ответ на изначальный вопрос. =)
avatar
Хотя вот логичное решение.
Пусть в точке справедливой цены сделки проходят по «цене наименее обидной для всех», тогда
sum(abs(Ps — P)*Vi) === 0
Т.е. надо решить уравнение, разве что модуль немного мешает… но ведь это не такая уж и проблема. :)
avatar
akaRem, далеко ваш центр масс может уехать если где-нибудь глубоко в стакане стоит огромный лот на покупку-продажу. т.е. ставишь большой объём по нижней границе (который всё равно не сыграет) и двигаешь центр масс. неправльно весь стакан суммировать. надо лишь некоторое количество первых элементов.
avatar
modelka, ну на этом и основано «помело» роботов-спредеров )))
Лучше смотри 2й вариант.
avatar
akaRem, второй вариант то же самое и слишком сложно. мне в онлайн надо всё считать без задержек :) да буду просто цены первых пяти бид-асков брать и среднее от них. видимо лучше ничё нет :)
avatar
modelka, Не, мне вообще не принципиально, как там считаться будет ))))
Но среднее от них — это не справедливая цена, если чё…
И тем более не рассчитанное для пары-тройки бидов и асков ;)
avatar
modelka,… и вообще никто не говорил, что должно быть легко. =)
avatar
akaRem, нужно примерно справедливую цену. точно справедливую цену посчитать невозможно так как её не существует :)
avatar
modelka, ну да, ну да. :)
А на НАЙСе вот умеют ордера сводить.
avatar
Хотел бы знать. Мне очень интересно. Послушаю умных людей.
avatar
Я долго над этой проблемой думал, но, по своему опыту, всякие формулы, которые суммируют/усредняют котировки в стакане реально неэффективны совсем. Ничего лучше цены последней сделки или (бид+аск)/2 толком не найти. Несколько лет назад был смысл анализировать первые н уровней, но сейчас рынок изменился, котировки по 5000 лотов на ри уже никого не пугают. Котировки второго уровня только для бектеста смысл имеют по моему.
avatar
Lafert я тоже много чего перепробовал и остановился на (bid + ask / 2) от поддёргиваний спасаюсь достаточно крупным «шагом» например 140.00 140.01 140.02 я округляю до 140.00, а 140.03 и 140.04 до 140.05. Полностью это не спасёт, нужны ещё фильтры, но многие проблемы решает.
avatar

теги блога Oleg Vazhnev

....все тэги



UPDONW
Новый дизайн