股票组合每月调仓还是偏离才调仓:比较真实换手路径
定期和权重阈值调仓,期末可能都接近目标,中间路径却不同。要在同一账户模型下比较触发、实际执行、偏离持续期和费用。阈值触发却不能成交,是需要保留的事件,不能被写成组合已经自动恢复。
本文运行两只虚构股票的两种政策,属于外部研究扩展,不证明CoTrading定时或券商功能。保持同市场同币种,碎股、边界价即时执行和费率均为合成假设,没有实盘速度或成交保证,也不提供最佳调仓频率建议。
冻结共同账户和目标
双方初始各持A、B五股,价格均一百,现金零、权益一千,目标各半。这是已有起始快照,所以形成初仓的费用同时在两条路径之外,不能只给一种政策扣初始费用。待单和可用资金也应相同。
观察日程、数据、价格、资金、费用和末期估值保持共同。不能定期用收盘价,阈值用更好的开盘价,再把全部差额归于政策。每个事件附执行假设,真实关闭后触发的指令应在其实际后续价格成交,不能倒填。
Investor.gov再平衡指南介绍按日历和配置偏离两种思路。本文具体日期与阈值自设,不代表推荐频率,也不证明某种政策普遍优越,来源的资产配置讨论不能直接当作这组股票结果。
看结果前定义触发
定期策略每期检查,只在索引三和五触发,这是模拟预定日期,不是真实月度行情。阈值策略也每期检查,任一股票相对零点五的绝对偏离至少零点〇五就触发。两边检查机会一致,避免频率不同成为隐藏因素。
这是组合权重五个百分点,不是持仓相对增长百分之五,等号包含在触发中。检查频率也冻结,每日可能漏盘中越线,更少检查则是另一问题。不能看完价格后提高检查频率,再继续称同一政策。
双方共同面对会话一无法交易。定期当天未到计划日,所以没有触发;阈值可以触发但无法执行。市场可用性不能在看到哪边受益后修改,失败事件也不能从记录中删去,否则后续持仓为何不同无法解释。
分开检测、执行和动作后偏离
每个边界先估当前证券与现金,算交易前权重,判断政策并给唯一状态。可交易时预留费用、形成股数差并执行;不可交易时保持真实账户,保存原因。不能直接把屏幕目标改成各半,当成已经成交。
持续期采用每次检查动作后或失败动作后的权重,区别于交易前触发次数。成功调仓会立即消除偏离,失败则继续持有。两个字段并列,别人才能重算持续期,不必猜某个计数到底指触发、订单还是净值观察。
本例价格视为可得的可执行边界报价,简化即时操作。真实收盘权重决定下一期交易时,需要记录延迟和价格,不能用已经知道的收盘信息声称更早成交。相同报价执行是模型政策,不是真实盘口验证。
价格路径主例
A为[100,130,140,120,100,110],B始终一百。原股数不变时,首期A权重650/1150约零点五六五二一七,超过五个百分点,因此阈值触发,但一时无法交易。账户仍原股数,不能预支不存在卖出资金。
第二期A一百四十,阈值执行;定期等到第三期A一百二十。后来阈值在第四期执行,定期等到第五期。两个路径有相同初态和价格,区别来自触发与执行次序,非更换候选或股票。
| 会话 | 定期状态 | 阈值状态 |
|---|---|---|
| 1 | 无触发 | 市场阻断 |
| 2 | 无触发 | 已执行 |
| 3 | 已执行 | 无触发 |
| 4 | 无触发 | 已执行 |
| 5 | 已执行 | 无触发 |
双方实际都调两次,只数执行次数会隐藏阈值第三个触发及其失败,还看不出定期带偏离多久。每次调仓可能对应多笔买卖,不能再把两次动作误说成两笔成交。执行数量与触发账分别勾稽。
费用与资金共同执行
按双边绝对成交额收零点〇〇一。SEC费用公告区分交易与其他成本;这里十基点虚构,省略真实税费、最低收费和冲击,不是任何券商当前价目。
每次根据旧持仓与目标差求扣费后可投资额,再算股数与现金。脚本二分,断言现金在容差内非负,交易后权益等于交易前减费用。不是先花满资产再让现金变负,也不从已净收益再扣相同成本。
deviation = max(abs(actual_weight[s] - 0.5) for s in basket)
trigger = session in scheduled_sessions if policy == 'calendar' else deviation >= 0.05
if trigger and market_blocked:
status = 'blocked_market'
完整例还执行筹足资金的目标。真实整股或拒单需要相应状态链,不可只平移权重表。失败卖出不产生可用现金,未成交买入也不形成证券;实际偏离应由确认状态计算,而不是请求目标计算。
成本与偏离一起看
定期期末一千零五十四点〇二五〇〇四、费用零点一四五八二九,总成交额除初始权益为零点一四五八二九;阈值期末一千零七十九点六四〇〇三〇、费用零点三七一四〇〇,换手比率同为零点三七一四〇〇。数字碰巧相同,单位仍不同。
动作后最长偏离定期两次检查,阈值一次。当前虚构反转路径上,阈值结果更高但交易金额和费用更多,换路径可能反过来。不能从一例宣称阈值永远省交易,或固定日历一定更差,也不能把零点三七一四〇〇误读成费用百分比。
期末在范围内不能删除中途越线。完整权重和触发账保留,尤其首期阈值失败。最终配置快照无法证明持有期一直符合目标,检查结果应该包括持续期及未解决事件,而不是只展示两组看起来相同的终点圆饼。
不同机制反例与验收
脚本断言双方准确执行日期,要求阈值首事件为blocked_market。若记作成功,会改股数与后续费用;若记为无触发,则隐藏错过动作。它还按百万分之一核对期末和费用锚点,并检查两种偏离持续期,不只验证循环返回。
真实失败持续时,先规定每次检查都重试、等下个计划日,还是人工复核。重试细节会改变路径,不能事后挑对收益有利的办法。本例只模拟一次共同阻断,不覆盖所有委托拒绝、部分成交或订单过期。
导出政策对照账
目标版本、检查键、触发原因、前后权重、订单股数、执行状态、费用、现金和权益一起输出。触发与成交笔数区分,初始持仓待单保持一致,所有失败保留。篮子或目标若中途变化,是另一干预,不能只归于再平衡节奏。
交接者应先复核第一期A的权重和失败,再查两边首次成功成交,最后核对期末及持续期。这样能确认政策真正推进账户,不是按结果补写状态。若只留下成功日,原本被阻断的会话会从研究机会集中消失,比较就不完整。
另保存偏离方向,而不只是最大绝对值。A超配和B低配共同决定卖出与买入,资金来自当前已确认现金或实际卖出,不能因为目标要求买B就假定A已经卖掉。请求股数、成交股数和剩余目标不同,分列后才能解释为什么动作结束仍可能偏离。
检查频率还决定持续期含义。这里两期代表连续两次已完成检查,不等于连续四十八小时,也不能证明两次之间没有恢复。真实价格缺失时,状态应为不可判断或停止该段验收,不能填零偏离并中断超限持续链。本例数组完整,没有验证通用缺行情处理。
如果观察后决定更换阈值,保留原带宽、原触发与新版结果,说明这是政策探索。不要把新版回写到旧日志,让第一次阻断消失。减少费用、缩短偏离和提高回报可能互有取舍,应按预定研究目标解释,不用一个期末总额代替全部要求。
下载完整示例。使用Python 3.12或更新版本,运行python R629.py。标准库断言资金链、执行和失败日期、准确金额与动作后持续期。全部合成,不连接行情或实盘,不证明产品可自动定时执行。
检查频率、目标、日程、偏离带、费用或撮合规则改变后重新比较,保留原记录。只接受控制一致、每个事件有去向的有限结论,不能把本例变成最佳月度时机或实盘准备度证明。
常见问题
实际都调两次就等价吗?
不等价,日期、金额、失败和中间漂移可能不同。
阈值触发一定有成交吗?
不一定,保留被阻断及真实剩余仓位。