逐行复现 /cef-backtest 的生成脚本,再逐项修正前视偏差、净值时点、复权和成本,最后看收益来源、容量和当前机会。页面已按本报告改为只展示直接做多的修正版本。
| 环节 | 网站原规则(scripts/gen_cef_backtest.py) | 问题 |
|---|---|---|
| 基金池 | fund_basic 快照中股票/混合型,名称含 定开/定期开放/封闭/战略配售/配售/三年持有/两年持有,剔除 分级/ETF/FOF/债/货币;2022 年前上市,另加 6 只战略配售。实际 50 只,平均每月 31 只 | 含已退市基金,幸存者偏差小;按当前名称筛选,改名基金会漏 |
| 信号 | 每月首个交易日,折价 = 收盘价 ÷ 7 天内最新净值 − 1,买最深 1/3,等权 | 净值实际是当天的,收盘时尚未公布 |
| 入选条件 | 还要求基金在下一个调仓日有成交 | 未来信息 |
| 收益与成本 | 收盘价到收盘价,不复权;0.3% × 换手名单比例 | 分红算成亏损;成本偏低 |
| 趋势对冲 | 深折价月收益 − h × 指数月收益;指数在 MA60 上方 h=0.3,下方 h=0.7 | MA60 判断用月末 d1 的指数(原脚本 527~549 行循环的是 d1 日期) |
| 流动性过滤 | 打印"流动性(>100万)",阈值 amt_min=100 | fund_daily.amount 单位是千元,实际是 10 万元 |
复现:用 claw 缓存的只读拷贝跑原脚本,深折价 18.2% / 0.87 / −35.6%(终值 4.44)、全部等权 8.0% / 0.48 / −38.0%、趋势对冲(沪深300) 27.8% / 1.65 / −13.9%、趋势对冲(创业板) 29.4% / 2.18 / −5.4%,逐项一致。新版生成脚本里的"旧口径"对照行也复现出 18.2% / 0.87 / −35.6%。
独立引擎(自拉 Tushare 54 只,含净值公告日和复权因子),年化 / Sharpe / 最大回撤,月频 2017-10 ~ 2026-09。
| 步骤 | 全期 | 2024 年以来 |
|---|---|---|
| A 网站规则复现 | 18.2 / 0.86 / −36.2 | 33.8 / 1.12 |
| B 去掉"下个调仓日必须有成交" | 19.3 / 0.90 / −35.8 | 35.6 / 1.16 |
| C 严格 T−1:昨天价格和净值排序,今天收盘成交 | 12.9 / 0.64 / −42.6 | 25.1 / 0.85 |
| C2 可交易的当天信号:NAV(T−1) × 当天指数涨跌估算今天净值 | 15.5 / 0.78 / −37.6 | 32.8 / 1.10 |
| + 复权(分红) | 16.4 / 0.82 / −37.0 | 33.6 / 1.12 |
| D2 + 成本 0.5%/边(修正基准,页面现口径) | 14.7 / 0.75 / −39.5 | 31.6 / 1.07 |
| 成本 1%/边 | 10.6 / 0.58 / −46.8 | 27.0 / 0.94 |
| D2 + 20 日均成交 ≥ 100 万元 | 7.9 / 0.48 / −35.6 | 21.7 / 0.90 |
| 同口径全池等权 | 9.1 / 0.55 / −34.6 | 22.5 / 0.88 |
| 沪深300 | 2.1 / 0.20 / −40.6 | 10.7 / 0.49 |

左:逐步修正后的年化(灰=旧规则,蓝=修正,紫=流动性过滤)。右:全池折价中位数、最深 1/3 平均折价(当日净值口径,仅描述机会集)和折价 ≤ −5% 的只数。

红实线是旧页面和多策略组合使用的对冲线;红虚线只把对冲比例改成月初(d0)决定,其余不变。
| 对冲方式 | 全期 | 2024 年以来 |
|---|---|---|
| 旧页面:创业板趋势对冲(月末定比例) | 29.4 / 2.18 / −5.4 | 39.4 / 2.49 |
| 同一曲线,月初定比例 | 11.0 / 0.88 / −16.4 | 12.1 / 0.87 |
| 旧页面:沪深300 趋势对冲,月初定比例 | 15.9 / 1.11 / −18.8 | — |
| 修正基准 + IF 期货(滚动 24 月 beta,真实合约含基差,2018-10 起) | 12.6 / 0.99 / −21.6 | 18.0 / 1.27 |
| 修正基准 + IC 期货(滚动 beta) | 7.9 / 0.68 / −28.6 | 11.7 / 1.04 |
| 修正基准 + 创业板ETF 融券 0.5 倍(借券 8%/年) | 5.1 / 0.48 / −22.6 | 11.9 / 0.97 |
与指数月相关:中证800 0.82、沪深300 0.79、创业板指 0.83、国债指数 −0.23;对中证800 beta 约 0.83(2024 年以来 1.09)。开放日按"成立日 + 封闭期"推算,属近似。
| 指标 | 全期 | 2024 年以来 |
|---|---|---|
| 持仓日 20 日均成交 < 10 万元 | 18%~21% | — |
| 持仓日 20 日均成交 < 100 万元 | 61% | — |
| 建仓时 20 日均成交(持仓中位数) | 约 50 万元 | 约 25 万元 |
| 持仓日无成交 | 1.9% | 3.4% |
| 容量:等权,单日 ≤ 成交额 5%,5 天建仓 | 约 16~18 万元 | 约 8 万元 |
| 容量:1 天建仓 / 10 天建仓 | 约 3.5 万 / 35 万元 | — |
容量 = 持仓只数 × 持仓中最小 20 日均成交额 × 5% × 建仓天数,取各期中位数。按成交额加权可以放大容量,但权重会集中到流动性好的基金,而那部分收益明显更差(≥100 万元过滤后年化只剩约 8%)。回测全部场内卖出,未假设按净值赎回。
| 基金 | 折价 | 下一开放日 | 年化收敛 | 20 日均成交 |
|---|---|---|---|---|
| 501093 华夏翔阳两年定开 | −5.0% | 2028-03-27 | 3.4%/年 | 8 万元 |
| 501088 嘉实瑞虹三年定开 | −4.0% | 2028-10-25 | 1.9%/年 | 5 万元 |
| 506003 富国科创板两年定开 | −3.1% | 2028-09-05 | 1.6%/年 | 54 万元 |
| 166027 中欧创业板两年定开 | −2.8% | 2028-07-17 | 1.5%/年 | 2 万元 |
| 506000 南方科创板3年定开 | −2.6% | 2029-09-24 | 0.9%/年 | 426 万元 |
| 506005 博时科创板三年定开 | −2.6% | 2029-08-15 | 0.9%/年 | 166 万元 |
估算净值用收盘指数,实盘需在 14:55 用盘中指数计算,存在小误差。2017~2018 年平均只持有约 2 只,早期结果高度集中。开放日按名称推算,约 11%~18% 的持仓月推算不出。基金池按当前名称筛选,改名基金和 2022 年后上市的基金不在池内。旧报告 封基折价优化回测(趋势对冲)与 Top-N/轮动间隔 基于旧口径,数字偏高,仅作历史参考。