UNPKG

@fuzefinance/orderbook-bignumber

Version:

Node.js Lmit Order Book for high-frequency trading (HFT).

31 lines (30 loc) 1.21 kB
import BigNumber from "bignumber.js"; import createRBTree from "functional-red-black-tree"; import { type LimitOrder } from "./order"; import { OrderQueue } from "./orderqueue"; import { type OrderUpdatePrice, type OrderUpdateSize, Side } from "./types"; export declare class OrderSide { private _priceTree; private _prices; private _volume; private _total; private _numOrders; private _depthSide; private readonly _side; constructor(side: Side); len: () => BigNumber; depth: () => BigNumber; volume: () => BigNumber; total: () => BigNumber; priceTree: () => createRBTree.Tree<BigNumber, OrderQueue>; append: (order: LimitOrder) => LimitOrder; remove: (order: LimitOrder) => LimitOrder; updateOrderPrice: (oldOrder: LimitOrder, orderUpdate: OrderUpdatePrice) => LimitOrder; updateOrderSize: (oldOrder: LimitOrder, orderUpdate: OrderUpdateSize) => LimitOrder; maxPriceQueue: () => OrderQueue | undefined; minPriceQueue: () => OrderQueue | undefined; lowerThan: (price: BigNumber) => OrderQueue | undefined; greaterThan: (price: BigNumber) => OrderQueue | undefined; orders: () => LimitOrder[]; toString: () => string; }