UNPKG

@fuzefinance/orderbook-bignumber

Version:

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

32 lines (31 loc) 1.09 kB
import type BigNumber from "bignumber.js"; import type { StopQueue } from "./stopqueue"; import { type IStopOrder, Side, type StopOrder } from "./types"; export declare class StopBook { private readonly bids; private readonly asks; constructor(); add: (order: StopOrder) => void; remove: (side: Side, id: string, stopPrice: BigNumber) => StopOrder | undefined; removePriceLevel: (side: Side, priceLevel: BigNumber) => void; getConditionalOrders: (side: Side, priceBefore: BigNumber, marketPrice: BigNumber) => StopQueue[]; /** * Stop-Limit Order: * Buy: marketPrice < stopPrice <= price * Sell: marketPrice > stopPrice >= price * Stop-Market Order: * Buy: marketPrice < stopPrice * Sell: marketPrice > stopPrice */ validConditionalOrder: (marketPrice: BigNumber, order: StopOrder) => boolean; snapshot: () => { bids: { price: BigNumber; orders: IStopOrder[]; }[]; asks: { price: BigNumber; orders: IStopOrder[]; }[]; }; }