|
|
63c56f0001
|
feat(execution): 回测调仓事件记录功能增强
新增调仓事件记录功能,详细记录每次调仓的信息:
核心改进:
1. BacktestExecutor新增_apply_trade_cost_with_events方法
- 记录每次调仓的基本信息(持仓变化、调入调出标的)
- 记录换手率、调仓成本、持仓天数、当日收益
2. 新增_enrich_rebalance_events方法
- 补充净值信息(调仓前净值、调仓后净值、净值变化%)
3. strategy.py保存调仓记录到CSV
- 新增rebalances.csv文件
- 返回结果包含rebalance_events
调仓记录字段:
- 调仓前持仓、调仓后持仓
- 调入标的、调出标的
- 换手率、调仓成本
- 持仓天数、当日收益
- 调仓前净值、调仓后净值、净值变化%
应用场景:
- 分析每次调仓对收益的影响
- 评估调仓决策质量
- 统计调仓频率与效果
|
2026-05-16 21:15:31 +08:00 |
|
|
|
2c1689089d
|
revert(execution): 恢复动态权重仓位分配逻辑
- 恢复原逻辑: 按实际持仓数量等权分配
- 选出2只时每只权重50%,选出1只时权重100%
- 收益计算恢复为 np.mean(returns)
- 交易成本恢复为 swapped/len(old)
- 固定仓位逻辑记录在 docs/experiments/仓位分配逻辑修改分析.md
|
2026-05-16 00:34:12 +08:00 |
|
|
|
444dc0e751
|
refactor(execution): 改为固定仓位分配逻辑
- 原逻辑: 按实际持仓数量等权(选出2只时权重50%)
- 新逻辑: 按select_num固定等权(选出2只时权重33.3%+现金33.3%)
- 缺失仓位用现金替代,收益为0
- 交易成本按固定仓位比例计算
- 目的: 保持稳定风险敞口,避免仓位不足时波动放大
|
2026-05-16 00:18:19 +08:00 |
|
|
|
ba266ca3fe
|
feat(execution): 实现完整BacktestExecutor回测执行器
- 日收益率计算(支持单/多标的策略)
- 交易成本扣除(支持换手率比例扣除)
- 净值计算(起点归一化)
- 基准对比
- 支持中英文列名(signal/信号)
- 相关系数达到1.0000,与现有实现完全一致
|
2026-05-11 23:24:25 +08:00 |
|
|
|
30ea2970bd
|
refactor(framework): 框架只保留抽象接口,具体实现移至strategies/shared
- FactorBase/FactorRegistry/FactorCombiner: 因子抽象接口
- SignalGenerator: 信号生成抽象接口
- RiskControl/Position/CallbackHook: 风控抽象接口
- StrategyBase: 策略抽象基类
- Executor/Portfolio: 执行器抽象接口
- ConfigLoader: 配置加载器
- 删除framework/factors/momentum.py(具体实现)
|
2026-05-11 23:09:01 +08:00 |
|
|
|
babf224203
|
feat(execution): 实现执行层(回测 + Dry-run)
核心组件:
- Executor: 执行器抽象基类
- BacktestExecutor: 回测执行器
- 处理信号、计算净值、记录交易
- 支持交易成本设置
- DryRunExecutor: 模拟盘执行器
- 模拟下单、模拟成交、模拟持仓更新
- 不影响真实资金
- Portfolio: 持仓组合数据类
特点:
- 统一接口(execute方法)
- 支持两种模式切换(回测/Dry-run)
- 实盘执行器预留扩展点
测试覆盖:7个测试全部通过
|
2026-05-11 22:19:07 +08:00 |
|