VeighNa · 第 3 章 数据建模体系


文档摘要

VeighNa · 第 3 章 数据建模体系 章节摘要:本章精读 VeighNa 的数据建模层—— (数据结构)与 (枚举常量)。这是框架所有数据的"语法":每个 Tick/订单/成交/持仓/账户/合约都是一个 dataclass,它们的字段定义决定了全框架能表达什么。最精妙的是 自动生成 复合主键:你只需提供本地 symbol 和 orderid,框架自动拼出全局唯一的 (symbol.exchange)和 (gateway.orderid),避免上层手工拼接出错。constant.py 的枚举体系则处处体现"国产适配"——15 个国内交易所、平今平昨开平标志、FAK/FOK 订单类型。本章共 3 节,前置依赖为第 12 章。 学习目标 阅读完本章,你应当能够: 列举 object.

VeighNa · 第 3 章 数据建模体系

章节摘要:本章精读 VeighNa 的数据建模层——object.py(数据结构)与 constant.py(枚举常量)。这是框架所有数据的"语法":每个 Tick/订单/成交/持仓/账户/合约都是一个 dataclass,它们的字段定义决定了全框架能表达什么。最精妙的是 __post_init__ 自动生成 vt_ 复合主键:你只需提供本地 symbol 和 orderid,框架自动拼出全局唯一的 vt_symbol(symbol.exchange)和 vt_orderid(gateway.orderid),避免上层手工拼接出错。constant.py 的枚举体系则处处体现"国产适配"——15 个国内交易所、平今平昨开平标志、FAK/FOK 订单类型。本章共 3 节,前置依赖为第 1~2 章。

学习目标

阅读完本章,你应当能够:

  1. 列举 object.py 的所有 dataclass 及职责。
  2. 理解 vt_ 复合主键的拼接规则与 __post_init__ 自动生成机制。
  3. 说清 TickData 五档买卖盘、OrderData 的 is_active、AccountData 的 available 派生字段。
  4. 认识 constant.py 的 Direction/Offset/Status/Product/OrderType/Exchange 枚举。
  5. 理解 i18n 机制:业务枚举走 _() 可翻译,技术枚举用稳定英文串。

核心概念速览

dataclass + post_init 自动维护复合主键:使用者只给本地字段,框架拼全局键。

子章节导航

01 object.py 的基类与行情数据类

BaseData 基类(gateway_name + extra);TickData(30+ 字段含五档买卖盘);BarData(K 线);vt_symbol 的拼接。

02 object.py 的交易与账户数据类

OrderData(vt_orderid + is_active + create_cancel_request);TradeData(三 vt_ 键);PositionData(今昨仓);AccountData(available 派生);ContractData(期权专属字段)。

03 constant.py 枚举体系与 i18n

Direction/Offset(平今平昨)/Status/Product/OrderType(FAK/FOK)/OptionType;Exchange(15 国内+全球);Interval;gettext 国际化机制。

子章节之间的逻辑关系

本章第 01 节(基类+行情) ──► 第 02 节(交易+账户) ──► 第 03 节(枚举+i18n) │ ▼ 下一章(第 4 章 MainEngine)

前置知识与后续延伸

前置知识:

  • 第 1~2 章(理解 Event.data 载荷需要数据结构)
  • Python dataclass 基础

后续延伸:

  • 第 4 章 OmsEngine 用这些 dataclass 做缓存 key
  • 第 5 章 gateway 的 on_xxx 回调 put 这些 dataclass
  • 第 7 章 PositionHolding 操作 PositionData

发布者: 作者: 灏天文库 转发
评论区 (0)
U