收盘成交诊断回放
语言:简体中文 · English
portfolio_backtester.target_close_replay.replay_close_targets 用于在明确的
交易日历上比较目标持仓。它使用可分割的调整后份额,不是券商成交或现金分红账本。
输入与成交口径
目标表包含 formation_date、symbol、weight。价格表以交易日为索引,
证券代码为列。目标必须非负,同期权重之和不超过 1。重复证券和缺失目标键会报错。
目标在形成日之后的第一个可用收盘执行。超出价格区间的目标不执行。
成本参数 cost_bps 默认每个交易方向 25 个基点,按实际买卖金额计费。
回放先求解扣费后的目标资产值,使现金、持仓和费用保持自融资一致。
持仓在调仓之间自然漂移,不会每天重置为目标权重。
调用方可传入与价格表严格对齐的布尔矩阵:
suspended:确认停牌时,对已有持仓沿用最后观察价格。buy_blocked:阻止相应证券的买入方向。sell_blocked:阻止相应证券的卖出方向。
任一所需交易受限时,整篮子调仓延期。新目标覆盖未执行旧目标。 方向限制不改变观察到的估值价格。未知持仓价格缺口会报错,不会自动填充。 这些约束不模拟交易所排队、部分成交、整手交易或真实拍卖成交价。
exposure 是按决策日索引的仓位比例,范围为 (0, 1],同样延迟执行。
两次选股之间的仓位变化按当时漂移后的持仓同比缩放。完全退出需使用显式
零权重股票目标。现金利息和单独的公司行动支付不在本接口计算范围内。
审计辅助函数
holdings_pnl.holding_pnl:按前一收盘份额计算逐证券价格损益,包括退出日。 第一行是期初快照,损益为零。费用和现金收益需单独对账。drawdown_episodes.drawdown_episodes:保存回撤峰值、谷值、恢复日期和水下 交易日数。样本末仍未恢复的记录标记为右删失,不当作已恢复。volatility_exposure.volatility_exposure:使用过去 60 个收益观察的样本标准差, 默认目标年化波动率 15%、最低仓位 25%,不使用杠杆。返回的是决策,不是成交。matched_volatility.match_realized_volatility:事后将共同区间净收益缩放到最小 实现波动率,仅用于诊断。它使用全样本未来信息,不重新计算费用,不可作为实盘规则。
上述函数只能验证输入条件下的计算结果。历史数据可得性、分红复权口径、 退市处置和实际交易可行性仍需调用方独立核验。