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.0.tar.gz (7.2 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.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: level2_order_book-0.1.0.tar.gz
  • Upload date:
  • Size: 7.2 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.0.tar.gz
Algorithm Hash digest
SHA256 e4f5b2c4ccd20a6e9b1d4d0b16458b7e070c386fd6ac2c18e90fd53cb2b60b64
MD5 e14c0148059054469d3ee6b096cc2a6d
BLAKE2b-256 5b64c13bf8e8681e210fd834cb67a6e1ee1a3d44736ae84a87c35ebeec4180a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for level2_order_book-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db8c3b8e91e5c660e0fb83abaa74d33380077f323e8b9d316bd7c7f3671255a9
MD5 a2f7852ff3c168ba63cd1cb590e61a05
BLAKE2b-256 dc947158cbb4aeec985bd86fc1a2d0b2440e0bcf113603441a43590f51ddddf6

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