模块知识库/Vibe-Trading 量化交易智能体平台/多市场回测引擎(数据-信号-执行-优化)/多市场回测引擎集合/编码规范
- 每个市场引擎通过继承
BaseEngine 并覆写 can_execute、round_size、calc_commission、apply_slippage 四个方法表达市场规则,不修改共享执行循环。
- 价格涨跌停/限价带统一通过
BaseEngine.historical_base_price + limit_band + prospective_fill_price 计算,禁止使用当前 bar 的 close 做前视判断。
- 跨引擎共用的 per-bar 副作用(加密资金费率、强平、外汇 swap、符号→市场分类)抽离到
_market_hooks.py,由 CryptoEngine、ForexEngine 与 CompositeEngine 共同调用。
- 复合引擎将子引擎视为无状态规则提供者,所有资金、持仓、交易记录等状态集中在
CompositeEngine 自身维护,并通过 _rule_for(symbol) 按符号路由到对应子引擎。
- 期货相关引擎统一继承
FuturesBaseEngine 并通过 get_contract_multiplier 注入合约乘数,PnL/保证金/仓位换算均乘以该乘数。
- 配置项通过
config.get(key, default) 读取,引擎在 __init__ 中集中解析并校验参数(如杠杆、费率、margin_mode),对非法值抛出 ValueError。