Alpha-Online
踩坑复盘

碎股与粉尘

固定资金分 10 份去买高价股的分配难题,以及权重不足 0.1% 的「粉尘持仓」如何悄悄推高交易成本。#28 事故档案。

层级 ADS · 交易执行  严重度 中  关联 #28 · commit 81f833b · alpaca_trader.py recorder.py

现象

两个相关问题:其一,$25,000 等分为 10 份买入 AVGO 等高价标的时,单份资金仅能购入少量整股,实际权重严重偏离目标权重;其二,调仓后账户中积累了一批权重不足 0.1% 的「粉尘持仓」,保留则持续产生交易成本,清理则增加额外换手。

定位

问题出在「目标权重 → 实际股数」的取整环节。高价股按整股买入时,离散化误差被放大;而每次调仓的残差累积成微小持仓,长期不清理就变成粉尘,每一笔的佣金 / 价差占比却高得离谱。

根因

真实交易是离散的(只能买整股),而组合权重是连续的。两者之间的取整与残差,如果没有专门的规则去吸收,就会在高价股和低权重处暴露出来。

修复

优化清仓 / 清理逻辑:低于阈值的粉尘持仓直接清掉,不让它持续吃成本;改进资金分配,缓解高价股的整股离散化误差。

教训:回测中的组合权重为连续值,实盘持仓为整股离散值。这一「连续 → 离散」的差异是回测与实盘之间最易被忽视、但长期累积影响显著的一类误差来源。

关联

On this page