红利低波 · 今天该怎么做 …
只在市场跌到情绪冰点(周线 J 极值超卖等 4 个恐慌信号至少 2 个共振)时,短暂借钱加仓到 125% / 150%,最多 60 天内卖掉回到满仓;
极端贪婪(3 个过热信号同时满足)时清仓落袋,等回调后再满仓买回。
为什么今天这么说(信号明细)
10 年回测证据(怎么得出这套规则)
术语表(黑话翻译)
历史买卖点明细全期 — 笔
策略说明与数据口径(给懂行的人)
- 超卖买点=2-of-4 × 双重门槛(v7.12):4 个恐慌信号(周线 J<1 / 跌破布林下轨 / 近 63 日跌幅≥14% / 周线 RSI<35)任意 2 个,且 价格 <250 日线(年线下方才抄底,年线上方超卖=高位回调不执行)且 估值剪刀差(股息率代理−10Y国债)3 年历史分位 ≥50%(<50% 不执行;50-80% 半力=禁加仓至150%);抄底胜率按含滑点成交价 FIFO 配对。
- A 态清仓=超买三维极值:J>95 且 触及/突破上轨 且 up63≥20% → 离场 0%;离场后出现超卖信号可提前回补,最迟 90 自然日强制回补。
- 临时仓卖出=动能消失确认(任一):J 从>90跌破80 / RSI 从>70跌破65 / 10日顶背离(收盘创新高且日线 RSI 未新高);每档 25% 独立 60 自然日到期强制卖出。
- 执行口径(v7.12):信号用价格指数 H30269 计算、收益用全收益 H20269;T+1 收盘成交(无开盘价近似)+ 单边滑点 5bp;杠杆年化 7% 按交易日计息;费用单边 max(万1, 5元);年化 252 交易日、夏普无风险利率 0。
- 情绪温度计算法:0.4×J(截断0-100) + 0.4×周线RSI + 0.2×动量分(100+dn63×3 截断0-100),仅作直观参考,不参与任何买卖信号。
- 过拟合体检:8 参数敏感性(除 X_UP 外均参数平原)+ walk-forward 三区间夏普 0.45/0.56/0.75,见仓库 backtest/sensitivity.json;PBO/Deflated Sharpe 未实现。
行业轮动策略 · 今日信号 —
历史调仓明细全期 — 笔(页面展示最近 150 笔)
过拟合体检(P0-4)参数敏感性 · Walk-Forward · 随机选股对照
ETF 映射 · 数据口径 · 方案实现说明(给懂行的人)
沪深300 · 今天该怎么做 …
—
| 综合技术得分 | 信号含义 | 操作倾向 |
|---|---|---|
| > +0.33 | 看多 | 市场偏强,考虑积极或持有 |
| −0.33 ~ +0.33 | 看平 | 多空均衡,视为震荡,观望或高抛低吸 |
| < −0.33 | 看空 | 市场偏弱,考虑减仓或防御 |
指标明细
| 维度 | 指标 | 原始值 | 得分 | 方向 |
|---|
跌破年线并确认后,底仓先降到 40%,只在情绪冰点(熊市须 4 个恐慌信号至少 3 个共振 + 估值门)时回补/加仓;
估值 50-80% 只允许回补到 100%(不借钱);≥80% 才按 25% 步进加杠杆,最多 150%;
极端贪婪时清仓;满 90 天后须已站稳年线 20 日才强制回补,否则继续等超卖;临时加仓最长 120 天。
v9.2 相对 v9.1:堵住「估值才中等就借钱加到 125%」——半力真正变成只回补、不杠杆。
为什么今天这么说(信号明细)
回测证据(怎么得出这套规则)
术语表(黑话翻译)
历史买卖点明细全期 — 笔
策略说明与数据口径(给懂行的人)
- 超卖买点=共振 × 双重门槛(v9.2):4 个恐慌信号(周线 J<1 / 跌破布林下轨 / 近 63 日跌幅≥14% / 周线 RSI<35);牛市/年线上方不适用抄底;熊市须至少 3-of-4,且 价格 <250 日线(年线门)且 估值剪刀差(股息率代理−10Y国债)3 年历史分位 ≥50%(<50% 不执行;50-80% 半力=只回补到 100%、禁借钱;≥80% 才允许 125%/150%);抄底胜率按含滑点成交价 FIFO 配对。
- 年线底仓(v9.1):价格连续 10 个交易日在 MA250 下方 → 底仓 BEAR_CORE=40%;连续 10 日站上 → 恢复 100%。无临时仓时自动对齐底仓。熊市首次超卖先回到 100%;仅当估值分位≥80% 再按 25% 步进加杠杆(VAL_HALF_CAP=1.0);加仓态遇到超买三维极值也清仓(OB_FROM_CD)。
- A 态清仓=超买三维极值:J>95 且 触及/突破上轨 且 up63≥15% → 离场 0%;离场后出现超卖信号可提前回补;满 90 自然日且已连续站上 MA250 达 20 日才强制回补至当前 regime 底仓(FORCE_MIN_ABOVE_MA)。
- 临时仓卖出=动能消失确认(任一):J 从>90跌破80 / RSI 从>70跌破65 / 10日顶背离;每档 25% 独立 120 自然日到期强制卖出,回到当前底仓。
- 执行口径:信号用价格指数 000300 计算、收益用全收益 H00300;T+1 收盘成交(无开盘价近似)+ 单边滑点 5bp;杠杆年化 7% 按交易日计息;费用单边 max(万1, 5元);年化 252 交易日、夏普无风险利率 0。
- 与红利低波的关系:共享同一引擎;红利低波 BEAR_CORE=1.0、FORCE_MIN_ABOVE_MA=0、OS_MIN_COUNT_BEAR=2、VAL_HALF_CAP=1.25(不缩放/半力仍可到 125%)。沪深300 另设 X_UP=15、HOLD_DAYS=120、BEAR_CORE=0.4、CORE_CONFIRM=10、FORCE_MIN_ABOVE_MA=20、OS_MIN_COUNT_BEAR=3、VAL_HALF_CAP=1.0。
- 情绪温度计算法:0.4×J(截断0-100) + 0.4×周线RSI + 0.2×动量分(100+dn63×3 截断0-100),仅作直观参考,不参与任何买卖信号。
中证500低波 · 今天该怎么做 …
只在情绪冰点(熊市须 4 个恐慌信号至少 3 个共振 + 更深跌幅门槛)时回补/加仓,最长 120 天了结临时仓;
极端贪婪时清仓落袋;强制回补须满 180 天且站稳年线,避免假突破接飞刀。
为什么今天这么说(信号明细)
10 年回测证据(怎么得出这套规则)
术语表(黑话翻译)
历史买卖点明细全期 — 笔
策略说明与数据口径(给懂行的人)
- 超卖买点=共振 × 双重门槛(v9.0):4 个恐慌信号(周线 J<1 / 跌破布林下轨 / 近 63 日跌幅≥18% / 周线 RSI<35);熊市须至少 3-of-4,牛市仍 2-of-4;且 价格 <250 日线(年线门)且 估值剪刀差 3 年分位 ≥50%(<50% 不执行;50-80% 半力=只回补到 100%、禁借钱;≥80% 才允许 125%/150%)。
- 年线底仓:价格连续 10 个交易日在 MA250 下方 → 底仓 BEAR_CORE=75%;连续 10 日站上 → 恢复 100%。无临时仓时自动对齐底仓。加仓态遇到超买三维极值也清仓(OB_FROM_CD)。
- A 态清仓=超买三维极值:J>95 且 触及/突破上轨 且 up63≥25% → 离场 0%;离场后出现超卖可提前回补;满 180 自然日且已连续站上 MA250 达 20 日才强制回补(FORCE_MIN_ABOVE_MA)。
- 临时仓卖出=动能消失确认(任一):J 从>90跌破80 / RSI 从>70跌破65 / 10日顶背离;每档 25% 独立 120 自然日到期强制卖出,回到当前底仓。
- 执行口径:信号用价格指数 930782、收益用全收益 H20782;T+1 收盘成交 + 单边滑点 5bp;杠杆年化 7%;费用单边 max(万1, 5元);夏普无风险利率 0。
- 与红利低波的关系:共享同一引擎;红利低波沿用默认(BEAR_CORE=1.0 / HOLD=60 / OS 2-of-4)。中证500低波 v9.0 独立校准,见 engine/data/zz500snlv-sensitivity.json(WF 夏普约 0.67/0.48/1.00)。
- 过拟合体检:单参数敏感性 + walk-forward 三区间,见仓库 engine/data/zz500snlv-sensitivity.json;PBO/Deflated Sharpe 未实现。
上午实时快照 盘中参考
动量策略
核心指标对比 (所选区间 · 沪深300为同期买入持有)
净值曲线
卖出原因分布 (所选区间)
买入原因分布 (所选区间 · 按当日候选评分排名)
下一交易日计划
当前持仓
交易明细
策略说明
一、这个策略在做什么(一句话)
每个交易日收盘后,从全市场五千多只股票里,筛出「最近涨得最猛、趋势最健康」的少数几只,按综合评分买最好的 3 只,第二天开盘价买入;每只最多拿 10 个交易日,赚的是强势股「惯性还在」这段钱——就像接力赛,只在趋势还在加速的路段接棒,不对抗趋势、不抄底、不追妖股。
二、买什么?(四个门槛 + 一场排队)
一只股票必须同时过下面四道门槛,才有资格进入买入候选:
- ① 涨得最猛:最近 20 天的涨幅排进全市场前 5%——只做最强的一批;
- ② 趋势健康:股价站在 20 日线和 60 日线之上,且两条均线都朝上——涨得有序,不是乱拉;
- ③ 不追妖股:最近 20 天涨幅不超过 60%,且过去 120 天整体是涨的——排除连续暴炒的鱼尾行情;
- ④ 买得进卖得掉:日均成交额至少 3000 万元,且绝不买 ST / 退市风险股。
同一天通过的股票往往不止 3 只,谁先买?按一张「综合体检表」打分排队,六项指标加权:
- 涨势强不强(30%)+ 涨得稳不稳(25%)+ 过去 60 天上涨天数占比(20%)+ 多头排列持续多久(15%)+ 波动小不小(5%)+ 短线回调是否到位(5%)。
分数高的先买,买满当天 3 个名额为止。这只影响排队顺序,不影响选股条件;权重来自一轮轮对比实测(不同权重各跑一遍三年回测,选四项指标都占优的那组),当前这组在收益、回撤、夏普、胜率上全面领先。
三、买多少?(大盘好才重仓,默认开启)
页面的默认口径是跟着大盘控制总仓位,右上角按钮可切换:
- 开(默认):盯上证指数给大盘「量体温」——均线空头或单日急跌 → 清仓避险;多头排列 → 满仓;中间状态轻仓 30% / 半仓 50% 过渡。大盘危险时第一优先级是先跑,而不是扛;
- 关:不管大盘,始终满仓,最多同时持有 10 只、每只预算约总资金的 1/10。
为什么默认开:三年回测对比,开仓位控制在收益、回撤、夏普、胜率四个指标上全部占优——收益约为关的 2.2 倍,最大回撤只有关的约 1/3。机制也很直白:清仓空出来的名额,能让位给评分更高的新股票,「换仓周转」本身就在赚钱。下方数据块即为最新对比:
| 口径 | 收益 | 最大回撤 | 夏普 | 交易 | 胜率 |
|---|---|---|---|---|---|
| 开 (默认) | +113.6% | -13.1% | 1.43 | 460 | 42.2% |
| 关 | +50.9% | -37.9% | 0.59 | 851 | 41.5% |
数据区间 2023-09-01 ~ 2026-09-10 · 由 refresh_docs.py 自动生成 · 评分模式 quality_kdj5 · 夏普口径 √244
四、什么时候卖?(四条规则,优先级从高到低)
- ① 大盘亮红灯:大盘触发清仓条件 → 全部持仓无条件卖掉,最高优先级;
- ② 止损:单只浮亏到 -8% → 第二天开盘卖出,认错要快;
- ③ 到期:拿满 10 个交易日 → 强制换仓,把名额让给更强的信号;
- ④ 主力出货嫌疑:持有至少 2 天后,成交量突然放大到前一日的 2 倍以上、当天却收阴线 → 像是有人在高位出货,卖出。
曾经还有一条「跌破 20 日线就卖」,对比实测发现它专门把正在赚钱的强势股提前砍掉(74 笔合计亏 17.7 万,胜率仅 16%),已删除——这正说明了每条规则都要用数据验证,而不是凭感觉加。
五、怎么买怎么算成本?(执行细节)
- 时序:今天收盘后做决定,明天开盘价成交,先卖后买——决策用的全是当天已收盘的数据,不存在「偷看未来」;
- A 股规则内建:今天买的明天才能卖(T+1);开盘就涨停的放弃追入,开盘跌停卖不掉的顺延到下一个能卖的开盘;停牌顺延;
- 整手买入:股数按 100 股整数倍,单只预算约总资金 1/10;
- 成本从宽计提:佣金万分之一(单笔最低 5 元)+ 卖出印花税 0.05% + 滑点 0.1%——回测里的收益是扣完这些之后的。
六、看这份报告要注意什么
- 数据底子:回测从 2023 年 9 月起,股票池包含后来退市的股票(不用「只活下来」的股票自欺欺人),价格已消除分红送股的影响、任意日期重跑结果一致;
- 诚实的局限:按开盘价全额成交(实盘大资金未必)、滑点按固定 0.1%(极端行情可能更高)、开盘涨停的机会直接放弃(实盘可能忍不住追高)、历史表现不代表未来。
仅供研究学习,不构成投资建议。
量化黑盒
核心指标对比 (所选区间 · 沪深300为同期买入持有)
净值曲线
卖出原因分布 (所选区间)
买入原因分布 (所选区间 · 按当日候选评分排名)
下一交易日计划
当前持仓
交易明细
策略说明
一、这个策略在做什么(一句话)
每个交易日收盘后,从全市场五千多只股票里,筛出「最近涨得最猛、趋势最健康」的少数几只,按综合评分买最好的 3 只,第二天开盘价买入;每只最多拿 10 个交易日,赚的是强势股「惯性还在」这段钱——就像接力赛,只在趋势还在加速的路段接棒,不对抗趋势、不抄底、不追妖股。
二、买什么?(四个门槛 + 一场排队)
一只股票必须同时过下面四道门槛,才有资格进入买入候选:
- ① 涨得最猛:最近 20 天的涨幅排进全市场前 5%——只做最强的一批;
- ② 趋势健康:股价站在 20 日线和 60 日线之上,且两条均线都朝上——涨得有序,不是乱拉;
- ③ 不追妖股:最近 20 天涨幅不超过 60%,且过去 120 天整体是涨的——排除连续暴炒的鱼尾行情;
- ④ 买得进卖得掉:日均成交额至少 3000 万元,且绝不买 ST / 退市风险股。
同一天通过的股票往往不止 3 只,谁先买?由一个机器学习排序模型(LightGBM)给每只候选打分排队。模型不预测「涨多少」,而是直接学习「同一批候选里,谁在未来 5 天更容易相对走强」——因为选股只关心谁排在前面,不关心具体涨跌数值。
- 看什么:约 35 个量价特征——各周期涨幅、波动率、量能变化、日内/隔夜结构、均线/KDJ 形态,以及关键因子在当日全市场的横截面排名;
- 怎么学:滚动训练——每次只用预测日之前、且未来 5 天涨跌已走完的历史数据训练,给接下来的日子打分,全程不偷看未来;
- 怎么验:NDCG@3(前 3 名排对了没有)与 Rank IC(打分排序与实际收益排序的相关性)持续跟踪,方案细节见腾讯文档《基于 LightGBM 排序模型的 A 股短期选股方案》。
分数高的先买,买满当天 3 个名额为止。这只影响排队顺序,不影响选股条件;模型质量以 NDCG@3 与 Rank IC 持续跟踪,样本外排序能力明显衰减时会下线回退到加权指标排队。
三、买多少?(大盘好才重仓,默认开启)
页面的默认口径是跟着大盘控制总仓位,右上角按钮可切换:
- 开(默认):盯上证指数给大盘「量体温」——均线空头或单日急跌 → 清仓避险;多头排列 → 满仓;中间状态轻仓 30% / 半仓 50% 过渡。大盘危险时第一优先级是先跑,而不是扛;
- 关:不管大盘,始终满仓,最多同时持有 10 只、每只预算约总资金的 1/10。
为什么默认开:三年回测对比,开仓位控制在收益、回撤、夏普、胜率四个指标上全部占优——黑盒口径同样默认开启仓位控制(与动量策略同理由)。下方数据块即为最新对比:
| 口径 | 收益 | 最大回撤 | 夏普 | 交易 | 胜率 |
|---|---|---|---|---|---|
| 开 (默认) | +26.0% | -18.0% | 0.55 | 475 | 39.4% |
| 关 | -45.1% | -52.3% | -0.63 | 777 | 39.1% |
数据区间 2023-09-01 ~ 2026-09-10 · 评分模型 LightGBM lambdarank (walk-forward 滚动训练) · 夏普口径 √244
四、什么时候卖?(四条规则,优先级从高到低)
- ① 大盘亮红灯:大盘触发清仓条件 → 全部持仓无条件卖掉,最高优先级;
- ② 止损:单只浮亏到 -8% → 第二天开盘卖出,认错要快;
- ③ 到期:拿满 10 个交易日 → 强制换仓,把名额让给更强的信号;
- ④ 主力出货嫌疑:持有至少 2 天后,成交量突然放大到前一日的 2 倍以上、当天却收阴线 → 像是有人在高位出货,卖出。
曾经还有一条「跌破 20 日线就卖」,对比实测发现它专门把正在赚钱的强势股提前砍掉(74 笔合计亏 17.7 万,胜率仅 16%),已删除——这正说明了每条规则都要用数据验证,而不是凭感觉加。
五、怎么买怎么算成本?(执行细节)
- 时序:今天收盘后做决定,明天开盘价成交,先卖后买——决策用的全是当天已收盘的数据,不存在「偷看未来」;
- A 股规则内建:今天买的明天才能卖(T+1);开盘就涨停的放弃追入,开盘跌停卖不掉的顺延到下一个能卖的开盘;停牌顺延;
- 整手买入:股数按 100 股整数倍,单只预算约总资金 1/10;
- 成本从宽计提:佣金万分之一(单笔最低 5 元)+ 卖出印花税 0.05% + 滑点 0.1%——回测里的收益是扣完这些之后的。
六、看这份报告要注意什么
- 数据底子:回测从 2023 年 9 月起,股票池包含后来退市的股票(不用「只活下来」的股票自欺欺人),价格已消除分红送股的影响、任意日期重跑结果一致;
- 诚实的局限:按开盘价全额成交(实盘大资金未必)、滑点按固定 0.1%(极端行情可能更高)、开盘涨停的机会直接放弃(实盘可能忍不住追高)、历史表现不代表未来。
仅供研究学习,不构成投资建议。
选股主页 智能选股引擎
自选股画像 · 相似增强推荐
输入自选股 → 生成 7 维因子画像 → 从全市场匹配相似增强股我的自选股
0 只基因画像
实时联动相似增强推荐
推荐解释
点击上方推荐股查看详细因子对比共同基因(Top 3)
增强点(比你更强)
回测概览 · 2021-09 至今
推荐组合 vs 自选股组合 vs 沪深300个性化选股 因子库
36 因子库
7 大维度 · 首期开放 18 因子 · 后续逐步开放| 维度 | 因子名称 | 代码 | 解释 | 方向 | 更新频率 | IC | ICIR | 状态 |
|---|
回测验证 · 2021-09 至 2026-08
月频调仓 · 双边成本 12bp · 初始资金 100 万净值曲线
分年收益
| 年份 | 推荐组合 | 自选股组合 | 沪深300 | 超额(vs HS300) |
|---|
方案概述
个性化因子选股是一款基于多因子模型的 AI 选股工具。核心思路:从用户自选股中提取 7 维因子画像(估值、质量、成长、动量、波动、资金、机构),再从全市场 5180 只 A 股中匹配因子暴露相似且具有增强潜力的标的。
算法流程:自选股因子暴露均值 → 用户画像向量 U → 全市场余弦相似度排序 → 增强分(候选强于用户的维度)→ 综合评分 = 相似度^0.7 × (1 + 0.3×增强分) → Top 5 推荐。
数据说明:本页面所有因子暴露与行情数据为演示数据,由股票代码确定性生成,不代表真实值。回测序列锚定方案指标(推荐年化 17.6% / 夏普 1.23)。本产品仅供策略验证与原型演示,不构成投资建议。
技术参数
算法参数
| 相似度权重 α | 0.7 |
| 增强分权重 λ | 0.3 |
| 综合评分公式 | sim^0.7 × (1+0.3×enh) |
| 推荐数量 | Top 5(从 Top30 扰动选取) |
| 自选股上限 | 10 只 |
数据覆盖
| 股票池 | 全 A 股 5180 只 |
| 因子维度 | 7 大维度 / 36 因子 |
| 回测区间 | 2021-09 ~ 2026-08(60月) |
| 调仓频率 | 月频 |
| 交易成本 | 双边 12bp |
大盘天气 · 今天怎么看 T-1 快照
| 指数 | 最新 | 涨跌幅 | 来源 |
|---|---|---|---|
| 加载中… | |||
这套天气是怎么算出来的(想深究再展开)
数据与免责说明
- K 线与策略信号来自 data/kline/index/*.parquet(T-1 完整收盘),由 scripts/build_weather.py 预计算后注入本页。
- 覆盖:上证指数(000001)/ 深证成指(399001)/ 沪深300(000300)/ 创业板指(399006)/ 中证2000(932000)。
- 实时行情的 JSONP 直连腾讯行情接口;被浏览器安全策略拦截或超时时自动隐藏,不影响策略部分。
- 本页为策略研究与演示,不构成投资建议。
AI仓位 · 大盘择时双策略对比回测
均线策略 · 量价策略 · 融合策略区间默认取最近 1 年(按打开页面的当天滚动计算),也可用下方「快捷区间」一键切换。
策略对比总览
| 指标 | 均线策略 | 量价策略 | 融合策略 | 买入持有 |
|---|
净值曲线对比
回撤对比(水下图)
仓位曲线对比
择时锚定指数 · 均线与买卖信号
交易标的 · K线与成交信号
择时信号明细(锚定指数,含全部策略)
| 日期 | 策略 | 动作 | 仓位变化 | 指数点位 | 含义 |
|---|
股票成交明细(含全部策略)
| 日期 | 策略 | 方向 | 驱动信号 | 成交价 | 仓位变化 | 本次盈亏 | 说明 |
|---|
策略逻辑与口径说明
一句话看懂:把「大盘择时」拆成两条独立的策略,各自给出一个仓位建议,最后按固定规则把两个建议合成最终仓位。
均线转多、指数站上均线 → 加仓;均线转空 → 清仓。
给出 4 档:0 / 30 / 50 / 100%
放量上涨才敢满仓;缩量上涨只给半仓;出现风险形态直接清仓。
给出 4 档:0 / 30 / 50 / 100%
均线 × 50% + 量价 × 50%,
任一条喊空仓时直接清仓。
5 日线与 10 日线挤到一起、且成交量萎缩时,
在融合仓位之上再清一次仓。
策略一 · 均线策略
| 动作 | 什么时候发生 | 仓位变化 |
|---|---|---|
| 加仓到 30% | 均线已走坏、处于空仓状态后,5 日和 10 日线同时开始拐头向上 | 0% → 30% |
| 加仓到 50% | 股价有效站上 20 日线(高出 20 点以上),风险解除 | 30% → 50% |
| 加仓到 100% | 股价 > 5 日线 > 10 日线 > 20 日线,完全多头排列 | 30% / 50% → 100% |
| 减到 50% | 重仓状态下跌破 10 日线 | 100% → 50% |
| 减到 30% | 跌破 20 日线 | 100% / 50% → 30% |
| 清仓到 0% | 跌破当初抄底那天的最低价;或均线整体转空 | 任何档位 → 0% |
策略二 · 量价策略
策略三 · 融合策略
策略四 · 均线粘合清仓(叠加在融合策略之上)
它在流程里的位置:融合策略先算出仓位 → 策略四再检查是否「粘合 + 缩量」 → 是则把这一天的仓位改成 0%,否则不动。
技术口径与已知限制
展开查看实现细节
- 数据来源:腾讯行情接口(浏览器直连,支持跨域);不可达时按「东财 → 新浪 → 中证指数官网」顺序回退。指数用不复权价,股票用后复权价。
- 中证2000 为什么走单独的源:代码
932000是中证指数公司自编代码(93 开头),不在沪深交易所挂牌, 所以腾讯、新浪都没有这条指数;东财虽有但接口常被 WAF 拦。本页因此把它接到中证指数官网 (csindex.com.cn,含 2013-12-31 基日以来的完整日线与成交量,共 3,090 个交易日,历史比其他指数都长)。 官网接口不允许跨域,所以发布版由一个小代理转发(/api/csindex)。 量价策略对成交量全部用相对值(成交量 / 均量的倍数),因此官网与腾讯的成交量单位不同不影响信号。 - 为什么股票改用后复权(不是前复权):腾讯的前复权是加性复权(历史价 = 原价 − 累计分红)。 窗口一长就会失真:实测贵州茅台 2016-09-19 ~ 2026-09-14 这段,前复权序列从 8.55 开始(更早的位置甚至为负), 用它算出的「买入持有」是 +14853.9%,而正确口径(后复权)是 +385.9%,不复权是 +325.8% —— 前复权把结果放大了约 38 倍。 后复权以最早价为基准、含分红再投资,价格恒为正,是回测收益的标准口径。 取数时若目标口径不可用会自动降级,并在结果上方给出提示。
- 档位取值:均线策略与量价策略都是 0 / 30 / 50 / 100% 四档;融合策略是两者的加权平均,因此会出现 15%、25%、40%、65%、75% 等中间值;策略四不是独立仓位策略,只输出「清仓 / 不清仓」两种状态,作用于融合结果之上。
- 「高位」「放量」「缩量」的量化定义:高位 = 收盘价 > 60 日均线 × 1.10;放量 = 当日成交量 > 20 日均量 × 1.3;缩量 = 当日成交量 < 20 日均量 × 0.8;滞涨 = 当日涨跌幅绝对值 < 0.5% 或上影线 > 0.3%。规则全部未命中时,按当日价格方向给粗略仓位(涨 > 0.3% → 50%;跌 < −0.3% → 30%;其余沿用前一日)。
- 数据预热:协议需要至少 60 个交易日的历史数据(60 日均线、60 日均成交额、60 日高低点)。工具会自动向前多取约 620 个自然日的数据用于预热。
- 执行口径:信号按当日收盘计算、次日生效,避免未来函数;净值按「持仓比例 × 标的日收益」复利计算,不含手续费、印花税与滑点——真实交易成本会进一步拉低所有择时策略的收益。
- 均线粘合的判定参数:回看 7 个交易日;当日差距百分比须小于「回看期内最小值」的 60%;点数差距须小于 10 点;缩量线为 20 日均量的 0.8 倍(
FIXED.sqVRTHIN可改)。 - 放宽口径实测(2026-09-15,三指数 2500 根,新浪数据):把触发面做大是否能改善效果?结论是不能稳定改善。
为什么「缩量线 1.0」也不算通过:放宽方式 触发天 策动天 样本内 Calmar 样本外 Calmar 判定 当前:缩量线 0.8 38 10 1.10 0.51 基线 去掉缩量条件 347 273 0.83 0.53 明显变差 点数上限 10 → 20 44 16 1.10 0.54 基本无差 去掉点数条件 56 28 1.09 0.54 基本无差 比值 60% → 100% 47 16 1.11 0.47 基本无差 缩量线 → 1.0 233 127 1.23 0.58 全期略好,但见下 缩量线 → 1.2 324 236 0.92 1.08 半年份赢半年份输 - 它的样本内增益(1.12 → 1.23)几乎全部来自 2024 一年(该年 +0.79,其余年份多在 ±0.06 内)。
- 滚动 12 个月窗口:中位 Calmar 反而从 0.25 降到 0.21,含策略四更好的窗口只占 50%(等同随机)。
- 置换检验(打乱清仓日 300 次):真实值落在第 78% 分位,未达 90% 的可信线。
- 分指数不一致:上证样本内 +0.22 但样本外 −0.21;中证500 样本内 −0.14。
- 「位置过滤」(须跌破 MA20)实测(2026-09-15,三指数 5271 根,2005-01 ~ 2026-09,约 21.7 年):
加这一层过滤对信号质量有明显改善,但并不能「躲过大跌」——因为在真正的大跌里,它一次都没能策动仓位。
为什么「躲不掉大跌」——逐区间实测「实际策动天数」(信号出现了,但仓位能改动的天数):口径 信号笔数 信号后 10 日
(随机 2000 次分位)每笔净效果 顶部前 10 日
预警率融合 Calmar
(全历史 / 近年)粘合 ∧ 缩量(基线) 276 +0.35%(第 31% 分位,不显著) +0.031pp 46% 8.66 / 1.10 + 跌破 MA20(当前采用) 190 −0.41%(第 1% 分位,显著) +0.184pp 0% 8.94 / 1.12 + 跌破 MA10 191 +0.22%(第 23% 分位) — 46% 8.75 / 1.10 + 跌破 MA30 166 −0.14%(第 7% 分位) — 0% 8.97 / 1.12 【对照】不含策略四 — — — — 8.94 / 1.12
信号在熊市里确实出现过(2008 年上证 7 次、2015-16 上证 16 次),但那些日子融合仓位早已被均线或量价的空仓信号压到 0%, 所以它一次都没能改变实际持仓 —— 它想躲的跌,别的信号已经躲了。它唯一真正策动仓位的地方是牛市,而且是负作用(误杀), 基线的全历史 Calmar 因此从 8.94 掉到 8.66,而加上 MA20 过滤后完全恢复 8.94。区间 上证 沪深300 中证500 2008 熊市 0 0 0 2015-06 ~ 2016 0 0 0 2018 熊市 0 0 0 2022 熊市 0 0 0 2005 ~ 2007 牛市 1 2 5
附带把「高位」的两种含义说清:本轮测的「高位」是价格已跌破 20 日均线(即从高位回落); 而另一种常说的「高位」(收盘 > MA60 × 1.10)与「粘合 ∧ 缩量」在 21.7 年里只有 12 天同时成立、 且那 12 天是反效的(之后 20 日平均 +5.0%)——A 股「高位缩量粘合」更常是上涨中继,不是见顶。 - 案例复盘 · 2024 年初急跌(2024-01-05 ~ 2024-02-05 主跌,随后 V 型反弹)
这段是「否决有效、但回补太慢」的典型样本,也是策略四「0 策动」的原因所在。
主跌段躲得很干净:中证500 自 2024-01-04 起仓位就是 0%,整段一分钱没亏;上证也是 01-05 起清空。 策略四在这段 0 策动,不是因为它没起作用,而是在它能响之前仓位已经被清空了。指数 主跌段:指数跌幅 融合策略收益 躲过 V 反弹段:指数涨幅 融合策略收益 错过 上证 −7.75% −0.79% +6.96pp +8.09% +1.08% −7.01pp 沪深300 −3.87% −1.61% +2.26pp +6.17% +0.88% −5.30pp 中证500 −15.56% 0.00% +15.56pp +11.25% +2.37% −8.88pp
代价在反弹段:底部(2024-02-05)之后,融合仓位首次回到 50% 分别在 02-22 / 02-21 / 02-20(当时指数已涨 10.6% / 8.0% / 15.3%);首次回到 100% 更晚 (04-30 / 05-06 / 2025-02)。
压制来源逐日可查:2024-02-06 上证 +3.23%、中证500 +7.75% 那两天, 量价策略给出 50%,但均线策略仍是 0%,「任一条空仓即清仓」把仓位清成 0% —— 大反弹第一天完全没吃到。
但解除这条否决并不是解药(反事实实测,反弹段按量价仓位执行):上证 +0.96pp、沪深300 持平、 中证500 −1.06pp——量价自己在 02-19 后又给出 0%,没有任何单一口径能跟住 V 型反弹。
2024 全年净效果仍是好的:上证 +10.28%/回撤 −2.70%、沪深300 +11.16%/−2.98%、 中证500 +7.75%/−5.29%,对应买入持有 +13.15%/−14.73%、+16.20%/−14.41%、+5.85%/−19.90%。 - 固定参数:
R₀ = 1.0/量价 4 档/融合权重 均线 0.50 + 量价 0.50/否决规则「任一空仓即清仓」/squeezeVeto = true(是否叠加策略四,改为false即关闭)/sqFilterMA = 20(须跌破 MA20 才清仓,改 0 关闭)/sqVRTHIN = 0.8(缩量线)。如需更换,改脚本顶部的FIXED对象即可。 - 已知限制(重要):这两条策略都只用了价格与成交量,属于纯技术择时。用 2018-09 ~ 2026-09 的三个宽基指数检验,融合策略虽然回撤明显小于买入持有(98% 的滚动窗口成立),但滚动 12 个月窗口里有约 4 成是负收益,且把仓位序列随机打乱后的对比显示它尚未表现出统计上可靠的择时技能。请把它当作「控制回撤的仓位管理工具」,而不是收益引擎。
- 提示:本工具为策略回测演示,不构成投资建议。均线相关的阈值以指数点位表示,若锚定指数水平差异较大需相应调整。
附 · 策略在主要宽基指数上的长期表现
一句话:指数越小、波动越大,这套择时越占优;在大盘蓝筹上它跑输长期持有。
| 指数 | 策略 | 区间收益 | 年化 | 最大回撤 | Calmar | Δ收益 vs 长期持有 | 换手(次/年) |
|---|---|---|---|---|---|---|---|
| 沪深300 | 均线策略 | -7.5% | -0.7% | -34.5% | -0.22 | -32.8 pp | 60 |
| 量价策略 | 9.8% | 0.8% | -17.5% | 0.56 | -15.5 pp | 96 | |
| 融合策略 | 16.3% | 1.4% | -22.7% | 0.72 | -9.0 pp | 82 | |
| 长期持有 | 25.3% | 2.0% | -46.7% | 0.54 | — | — | |
| 中证500 | 均线策略 | 50.8% | 3.7% | -41.2% | 1.23 | +19.7 pp | 59 |
| 量价策略 | 7.9% | 0.7% | -29.6% | 0.27 | -23.2 pp | 96 | |
| 融合策略 | 23.5% | 1.9% | -34.9% | 0.67 | -7.7 pp | 82 | |
| 长期持有 | 31.1% | 2.4% | -65.2% | 0.48 | — | — | |
| 中证1000 | 均线策略 | 84.0% | 5.6% | -33.2% | 2.53 | +72.4 pp | 58 |
| 量价策略 | 20.9% | 1.7% | -20.4% | 1.02 | +9.3 pp | 91 | |
| 融合策略 | 38.6% | 3.0% | -25.3% | 1.52 | +27.0 pp | 79 | |
| 长期持有 | 11.6% | 1.0% | -72.3% | 0.16 | — | — | |
| 国证2000 | 均线策略 | 136.6% | 8.0% | -32.2% | 4.24 | +73.9 pp | 58 |
| 量价策略 | 57.2% | 4.1% | -14.2% | 4.03 | -5.6 pp | 92 | |
| 融合策略 | 94.1% | 6.1% | -18.0% | 5.24 | +31.4 pp | 82 | |
| 长期持有 | 62.7% | 4.4% | -66.8% | 0.94 | — | — |
① 换手成本。共同区间内三套策略的调仓频率约 58~96 次/年(融合策略约 79~82 次/年)。 按「单边 0.05%」估算,年均成本约 1.0%~1.7%;若按更保守的单边 0.1%(含冲击成本),则约 2.0%~3.4%。 也就是说:在沪深300 上(融合策略年化仅 1.4%),成本可能把超额收益全部吃掉; 在中证1000 / 国证2000 上(年化 3.0%~6.1%)才留有空间。本页所有回测均未扣成本。
② 区间代表性。本表区间自 2015 年起,只覆盖一轮完整牛熊 + 一轮结构市;同一体系在更长的历史上表现明显不同 (见下方补充)——不要把这里的数字外推到其他年代。
补充:更长历史的校验(沪深300 自 2002、中证500 自 2005)
| 指数 | 策略 | 区间收益 | 年化 | 最大回撤 | Calmar |
|---|---|---|---|---|---|
| 沪深300 | 均线策略 | 379.3% | 6.9% | -34.5% | 10.99 |
| 沪深300 | 量价策略 | 62.7% | 2.1% | -20.0% | 3.14 |
| 沪深300 | 融合策略 | 177.7% | 4.4% | -22.7% | 7.82 |
| 沪深300 | 长期持有 | 233.8% | 5.3% | -72.3% | 3.23 |
| 中证500 | 均线策略 | 905.7% | 11.9% | -41.2% | 21.99 |
| 中证500 | 量价策略 | 113.0% | 3.7% | -29.6% | 3.82 |
| 中证500 | 融合策略 | 269.2% | 6.5% | -34.9% | 7.72 |
| 中证500 | 长期持有 | 825.1% | 11.4% | -72.4% | 11.39 |
- 沪深300(2002-05 起,约 24 年):均线策略 +379% 反超长期持有(+234%),融合策略 +178% 落后; 回撤方面三条策略都显著优于长期持有(−20%~−34% vs −72%)。
- 中证500(2005-05 起,约 21 年):均线策略 +906% 略胜长期持有(+825%),但融合策略只有 +269% —— 量价那一层在这一段长历史里拖累很大。
- 怎么读这两张表:「融合策略」在小盘、波动大的近十年更好;在包含超级牛市的长历史里,纯均线策略最占优。 取舍取决于你更在意哪类行情 —— 两个结论都不是"普适最优"。
黄金趋势强度 · 本周该持多少 …
B = clip(0.75 × S, 0, 1) (趋势仓位,均线之下为 0)
V = min(1, 2.5% / ATR%) (波动系数,只减仓不加仓)
P = B × V (目标黄金仓位,其余持货币基金)
最近 12 周信号新 → 旧
分年收益(首尾年份为不完整年)
规则原文与参数
- 信号频率:每周五收盘用当周收盘价计算,下一周一开盘调仓;无阈值缓冲、无最短持有期,每周如实调仓。
- 趋势强度 S = (MA16 − MA40) / ATR10,其中 MA 是周线收盘均线、ATR10 是最近 10 周真实波幅均值。S ≤ 0 表示短均线在长均线之下,趋势仓位直接归零。
- 趋势仓位 B = clip(0.75 × S, 0, 1):S = 0 → 0%(空仓),S = 0.67 → 50%,S ≥ 1.33 → 100%(满仓)。
- 波动系数 V = min(1, 2.5% / ATR%):平时为 1,只有当波动率高于 2.5% 时才按比例减仓(只减不加,起风控作用)。
- 目标仓位 P = B × V,余下 1 − P 全部放货币基金(511880)。
- 参数:快线 16 周 / 慢线 40 周 / ATR 10 周 / 斜率 0.75 / 波动目标 2.5% / 无基础仓位(base=0)/ 无阈值(thresh=0)。
- 数据源:伦敦金 XAU 周线收盘(新浪 GlobalFuturesService);闲置资金收益用 511880 实际净值序列。
与常见版本的三点差异(调参说明)
- 无基础仓位(base = 0):常见版本给 0.5 的基础仓位,等于长期半仓黄金。本策略取消基础仓位,均线之下完全空仓、把钱放货币基金。
- 无阈值缓冲(thresh = 0):常见版本设 ±阈值带以减少调仓,但会把部分信号挡在门外;本策略每周如实调仓,用连续仓位本身平滑换手。
- ATR 周期 10 周(常见版本 20 周):缩短波动率窗口,让风控对近期波动更敏感。
- 效果:年化 9.40% / 年化波动 8.4% / 夏普 0.88 / 最大回撤 −12.51% / 平均仓位 38.8% / 累计 5.66 倍(1004 周)。