Skip to main content

A package for making order book from level 2 market data

Project description

level2-order-book

PyPI version License: MIT

简介

level2-order-book 是一个用于处理和分析 Level 2 行情数据的 Python 库,专注于订单簿的构建、更新和撮合功能。该库可以帮助金融分析师、量化交易员和研究人员更好地理解市场微观结构。

主要功能

  • 订单簿构建:根据逐笔委托数据构建完整的订单簿
  • 订单簿更新:支持通过逐笔委托和逐笔成交数据实时更新订单簿
  • 订单撮合模拟:模拟交易所撮合引擎的行为
  • 快照功能:提供订单簿的实时快照,包括买卖盘各档位的价格和数量

安装

pip install level2-order-book

快速开始

基本使用

from level2_order_book import OrderBook

# 创建订单簿
order_book = OrderBook(symbol="000001.SZ")

# 获取订单簿快照
previous_snapshot, current_snapshot = order_book.snapshot()
print(current_snapshot)

通过逐笔委托更新订单簿

# 准备委托数据
entrusts = [
    {
        "order_type": OrdActionType.ADD,
        "seq_no": 1,
        "order_id": "12345",
        "symbol": "000001.SZ",
        "price": 10.5,
        "volume": 100,
        "order_side": Direction.BUY
    },
    {
        "order_type": OrdActionType.ADD,
        "seq_no": 2,
        "order_id": "12346",
        "symbol": "000001.SZ",
        "price": 10.6,
        "volume": 200,
        "order_side": Direction.SELL
    }
]

# 更新订单簿
order_book.update_by_entrusts(entrusts)

# 获取更新后的快照
previous_snapshot, current_snapshot = order_book.snapshot()

通过逐笔成交更新订单簿

# 准备成交数据
trades = [
    {
        "trade_type": TrdType.BUY,
        "volume": 50,
        "buy_order_no": "12345",
        "sell_order_no": "12346",
        "trade_date": 20230101,
        "transact_time": 93000000
    }
]

# 更新订单簿
results = order_book.update_by_trades(trades)

核心类

OrderBook

订单簿类,维护买卖盘的价格和数量信息。

主要方法:

  • add_order(order): 添加订单到订单簿
  • cancel_order(order): 从订单簿中撤销订单
  • reduce_order(order_id, volume): 减少指定订单的数量
  • update_by_entrusts(entrusts): 通过逐笔委托列表更新订单簿
  • update_by_trades(trades): 通过逐笔成交列表更新订单簿
  • snapshot(depth=None): 获取订单簿快照

Order

订单类,表示单个委托订单。

属性:

  • seq_no: 订单序列号
  • order_id: 订单ID
  • symbol: 标的代码
  • price: 委托价格
  • volume: 委托数量
  • side: 订单方向(买/卖)

依赖

  • Python >= 3.7
  • l2data-reader >= 0.1.13

许可证

MIT

贡献

欢迎提交问题和拉取请求!

作者

JasonJiang0303 (chinese88+0303@2925.com)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

level2_order_book-0.1.1.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

level2_order_book-0.1.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file level2_order_book-0.1.1.tar.gz.

File metadata

  • Download URL: level2_order_book-0.1.1.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for level2_order_book-0.1.1.tar.gz
Algorithm Hash digest
SHA256 443f55bed21f1ca1b25243bd2d43ee62d9c15b02da13037516c62b99e5aaaf16
MD5 d1a373e33c8a4450db85c471674cb2ca
BLAKE2b-256 4e7737e3db8e0e5f7ff4fdeeba1b2b070cddc5b981a68518ec75d77914954838

See more details on using hashes here.

File details

Details for the file level2_order_book-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for level2_order_book-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dfaffdd5bdad5b5019c820210548624d1d0ba35a741df1c917fe3762471e85b3
MD5 bdd4ccacb665ec71299f4f8c515d0524
BLAKE2b-256 7168a6f2061229fecb53bfe814a12fe4b387bc74b2366be1faf5643bae54e45e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page