OrderBook

Путь в Local Pack include/order_book.h

Класс OrderBook — это агрегатор всех заявок по конкретному инструменту. Внимание: нумерация индексов (порядковых номеров) идёт с 0, начиная с лучшей цены отдельно по каждому направлению, т.е. в порядке убывания цены для BID (покупки) и в порядке возрастания цены для ASK (продажи).

При этом учитываются только непустые котировки! Т.е. котировка с порядковым номером 3 не обязательно отстоит ровно на 3 минимальных шага цены от котировки с лучшей ценой.

Методы

Имя Описание
quote_by_index() Котировка с данным порядковым номером и направлением.
price_by_index() Цена котировки с данным порядковым номером и направлением.
volume_by_index() Суммарный объём лотов в заявках в котировке с данным порядковым номером и направлением.
quote_by_price() Котировка с данным направлением и ценой.
index_by_price() Порядковый номер котировки с данным направлением и ценой.
volume_by_price() Суммарный объём лотов во всех заявках с данным направлением и ценой.
best_price() Лучшая цена в стакане по данному направлению.
best_volume() Суммарный объём лотов во всех заявках в котировке с лучшей ценой по заданному направлению.
all_quotes() Все котировки с данным направлением в виде объекта QuotesHolder.
quotes_count() Количество непустых котировок по направлению dir.
depth() Количество ценовых уровней, отображаемых в стакане.
server_time() Биржевое время последнего изменения стакана.
orders() Ваши текущие заявки в виде объекта SecurityOrdersSnapshot.
middle_price() Полусумма лучших цен.
min_step() Минимальный шаг цены.
spread_in_min_steps() Расстояние между лучшими ценами в минимальных шагах цены.
fee_per_lot() Комиссия за один проторгованный лот.
book_updates_count() Количество обновлений стакана с начала торговой сессии.
added_volume_at_price() Суммарный объём новых добавленных заявок по данному направлению и цене с момента прошлого обновления стакана.
deleted_volume_at_price() Суммарный объём удалённых заявок по данному направлению и цене с момента прошлого обновления стакана.

Описание методов

quote_by_index()

Принимает направление dir и порядковый номер index.

Возвращает котировку по направлению dir с порядковым номером index.

C++
Python
const Quote& quote_by_index(Dir dir, size_t index) const;
def quote_by_index(self, dir, index)

price_by_index()

Принимает направление dir и порядковый номер index.

Возвращает цену котировки по направлению dir с порядковым номером index. Внимание: если котировка отсутствует, то возвращается соответствующее значение default_quote_price.

C++
Python
Price price_by_index(Dir dir, size_t index) const;
def price_by_index(self, dir, index)

volume_by_index()

Принимает направление dir и порядковый номер index.

Возвращает суммарный объём лотов в заявках в котировке с порядковым номером index по направлению dir.

C++
Python
Amount volume_by_index(Dir dir, size_t index) const;
def volume_by_index(self, dir, index)

quote_by_price()

Принимает направление dir и цену price.

Возвращает котировку по направлению dir с ценой price.

C++
Python
const Quote& quote_by_price(Dir dir, Price price) const;
def quote_by_price(self, dir, price)

index_by_price()

Принимает направление dir и цену price.

Возвращает порядковый номер котировки по направлению dir с ценой price. Если котировки с данной ценой не существует, то возвращается максимально допустимое значение в диапозоне типа size_t, т.е. std::numeric_limits<size_t>::max().

C++
Python
size_t index_by_price(Dir dir, Price price) const;
def index_by_price(self, dir, price)

volume_by_price()

Принимает направление dir и цену price.

Возвращает суммарный объём лотов во всех заявках по направлению dir с ценой price.

C++
Python
Amount volume_by_price(Dir dir, Price price) const;
def volume_by_price(self, dir, price)

best_price()

Принимает направление dir.

Возвращает лучшую цену в стакане по направлению dir. Внимание: если котировка отсутствует, то возвращается соответствующее значение default_quote_price.

C++
Python
Price best_price(Dir dir) const;
def best_price(self, dir)

best_volume()

Принимает направление dir.

Возвращает суммарный объём лотов во всех заявках в котировке с лучшей ценой по направлению dir.

C++
Python
Amount best_volume(Dir dir) const;
def best_volume(self, dir)

all_quotes()

Принимает направление dir.

Возвращает все котировки по направлению dir в виде объекта QuotesHolder. QuotesHolder — контейнер, по которому можно итерироваться. Подробнее о QuotesHolder читайте здесь: https://docs.hftbattle.com/ru/api/QuotesHolder.html.

C++
Python
QuotesHolder all_quotes(Dir dir) const;
def all_quotes(self, dir)

Приведём пример использования данного метода. Мы пробежимся по всем котировкам с заявками на покупку и выведем текущее количество заявок с данной ценой.

C++
Python
for (const auto& quote : book.all_quotes(BID)) {
  SCREEN() << "price: " << quote.price() << " volume: " << quote.volume();
}
for quote in order_book.all_quotes(BID):
    print 'price: %s amount: %s' % (quote.price(), quote.volume())

quotes_count()

Принимает направление dir.

Возвращает количество непустых котировок по направлению dir.

C++
Python
size_t quotes_count(Dir dir) const;
def quotes_count(self, dir)

depth()

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

C++
Python
size_t depth() const;
def depth(self)

server_time()

Возвращает биржевое время последнего изменения стакана в микросекундах.

C++
Python
Microseconds server_time() const;
def server_time(self)

orders()

Возвращает ссылку на объект SecurityOrdersSnapshot, содержащий ваши текущие заявки. Подробнее о SecurityOrdersSnapshot читайте здесь: https://docs.hftbattle.com/ru/api/SecurityOrdersSnapshot.html.

C++
Python
const SecurityOrdersSnapshot& orders() const;
def orders(self)

middle_price()

Возвращает полусумму лучших цен по обоим направлениям.

C++
Python
Price middle_price() const;
def middle_price(self)

min_step()

Возвращает минимальный шаг цены в стакане (минимальную возможную разницу между ценами).

C++
Python
Price min_step() const;
def min_step(self)

spread_in_min_steps()

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

C++
Python
size_t spread_in_min_steps() const;
def spread_in_min_steps(self)

fee_per_lot()

Возвращает комиссию за один проторгованный лот в сделке.

C++
Python
Decimal fee_per_lot() const;
def fee_per_lot(self)

book_updates_count()

Возвращает количество обновлений стакана с начала торговой сессии. Примечание: исследование изменения этой величины может быть использовано для получения информации об активности рынка.

C++
Python
size_t book_updates_count() const;
def book_updates_count(self)

added_volume_at_price()

Принимает направление dir и цену price.

Возвращает суммарный объём добавленных заявок по направлению dir и цене price по сравнению с предыдущим обновлением стакана.

C++

deleted_volume_at_price()

Принимает направление dir и цену price.

Возвращает суммарный объём удалённых заявок по направлению dir и цене price по сравнению с предыдущим обновлением стакана.

C++

results matching ""

    No results matching ""