一、选股公式编写思路 我会基于通达信公式规则编写(兼容多数股票分析软件),核心逻辑分三部分: 1. 筹码条件:90% 筹码集中度 < 5 + 低位单峰密集(筹码峰下沿在阶段低点附近); 2. 量价条件:20 日内爆量涨停 + 涨停当日站上 60 日均线; 3. 形态条件:圆弧底 + 最新 3 根小阳线站上 5/10 日均线。 二、完整选股公式(通达信版) 通达信 {核心条件:低位筹码单峰密集 + 爆量涨停站60日线 + 圆弧底 + 小三阳站5/10日线}
{1. 筹码相关条件}
CM90:=COST(95)-COST(5); {90%筹码区间宽度}
CMRANGE:=CM90/C*100; {90%筹码集中度(百分比)}
CMCOND:=CMRANGE<5; {90%筹码集中度低于5}
{低位单峰密集:筹码峰重心在200日低点上方10%内}
LOW200:=LLV(L,200); {200日最低价}
CMCENTER:=(COST(5)+COST(95))/2; {筹码峰重心}
LOWCM:=CMCENTER<=LOW200*1.1; {筹码峰在低位}
CHIPCOND:=CMCOND AND LOWCM; {筹码最终条件}
{2. 爆量涨停+站60日线条件}
ZT:=C/REF(C,1)>=1.098 AND C=H; {涨停(涨幅≥9.8%且收盘价=最高价)}
VOLBOOM:=VOL/REF(MA(VOL,5),1)>=2; {爆量:成交量≥5日均量2倍}
MA60:=MA(C,60); {60日均线}
ZTCOND:=EXIST(ZT AND VOLBOOM AND C>MA60,20); {20日内有爆量涨停站60日线}
{3. 圆弧底形态条件}
{圆弧底:阶段低点对称,高低点差值小,底部逐步抬升}
HH20:=HHV(H,20); {20日最高价}
LL20:=LLV(L,20); {20日最低价}
MID20:=(HH20+LL20)/2; {20日中轴}
{左半部分低点、右半部分低点与中轴差值<3%,且右底≥左底(圆弧底核心)}
LL10L:=LLV(L,10); {前10日低点(左底)}
LL10R:=LLV(L,10); {后10日低点(右底)}
ARC1:=ABS(LL10L-MID20)/MID20<0.03;
ARC2:=ABS(LL10R-MID20)/MID20<0.03;
ARC3:=LL10R>=LL10L*0.98;{右底不低于左底98%}
ARCBOTTOM:=ARC1 AND ARC2 AND ARC3;
{4. 小三阳站上5/10日线}
MA5:=MA(C,5); {5日均线}
MA10:=MA(C,10); {10日均线}
{小三阳:连续3根阳线,涨幅≤3%,实体小(收盘价-开盘价)/开盘价<2%}
YANG1:=C>O AND (C-O)/O<0.02 AND C/REF(C,1)<=1.03;
YANG2:=REF(C,1)>REF(O,1) AND (REF(C,1)-REF(O,1))/REF(O,1)<0.02 AND REF(C,1)/REF(C,2)<=1.03;
YANG3:=REF(C,2)>REF(O,2) AND (REF(C,2)-REF(O,2))/REF(O,2)<0.02 AND REF(C,2)/REF(C,3)<=1.03;
XIAOSANYANG:=YANG1 AND YANG2 AND YANG3;
{站上5/10日线:最新价在5、10日均线上方}
MACOND:=C>MA5 AND C>MA10 AND MA5>MA10; {5日线也站上10日线,趋势更强}
{最终选股条件:所有核心条件同时满足}
XG:=CHIPCOND AND ZTCOND AND ARCBOTTOM AND XIAOSANYANG AND MACOND;
{过滤停牌、ST股}
FILTER:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST')) AND NOT(DYNAINFO(4)=0);
最终选股:XG AND FILTER;
三、公式关键部分解释 1. 筹码集中度计算: ◦ COST(5)/COST(95) 分别代表筹码累计 5%/95% 对应的价格,两者差值除以现价得到 90% 筹码集中度,要求 < 5(数值越小,筹码越集中); ◦ LOWCM 确保筹码峰在 200 日低点上方 10% 内,定义为 “低位”。 2. 爆量涨停条件: ◦ 涨停判定:涨幅≥9.8%(兼容 ST 股外的正常涨停)+ 收盘价 = 最高价; ◦ 爆量:成交量≥5 日均量 2 倍,确保是 “有效放量” 而非无量涨停。 3. 圆弧底形态: ◦ 核心是 20 日内高低点差值小,左右两侧低点对称且右底不低于左底,符合圆弧底 “底部平缓抬升” 的特征。 4. 小三阳条件: ◦ 连续 3 根小阳线,单根阳线涨幅≤3%、实体占比 < 2%(避免大阳线),且收盘价站上 5/10 日线,5 日线同时站上 10 日线(短期趋势向上)。 四、使用说明
1. 适用软件:通达信、同花顺(需少量调整语法,如EXIST改为COUNT)、东方财富(兼容通达信公式); 2. 前置条件:确保软件已下载完整的筹码数据(需手动更新 “筹码分布” 数据); 3. 优化建议:可根据行情调整参数(如爆量倍数改为 1.8、筹码集中度改为 6),适配不同市场环境。
总结
1. 公式核心逻辑:低位筹码高度集中(90% 集中度 < 5)+ 20 日内爆量涨停站 60 日线 + 圆弧底形态 + 小三阳站上 5/10 日线;
2. 关键过滤:排除 ST / 停牌股,确保选股结果为正常交易的优质标的;
3. 灵活调整:可根据市场活跃度修改 “爆量倍数”“筹码集中度阈值” 等参数,提升选股适配性。

优化选股公式的核心目标是过滤假信号、强化形态有效性、贴合真实资金行为
优化选股公式的核心目标是过滤假信号、强化形态有效性、贴合真实资金行为,我会从「条件精细化、维度补充、信号验证、风险过滤」四个维度优化,并给出完整的优化后公式。
一、优化思路(核心方向) 1. 筹码条件升级:从 “单纯低位集中” 升级为 “筹码锁定 + 无套牢盘”; 2. 量价条件优化:区分 “有效爆量” 和 “假涨停”,加入涨停后资金承接验证; 3. 圆弧底形态细化:避免 “伪圆弧底”,加入时间周期和量能匹配要求; 4. 风险过滤补充:排除解禁、高负债、流动性差的标的,提升选股质量。
二、优化后完整选股公式(通达信版) 通达信 {优化版:低位筹码单峰密集 + 有效爆量涨停 + 标准圆弧底 + 强趋势小三阳}
{==================== 1. 筹码条件(精细化) ====================}
{90%筹码集中度(更严格的低位单峰)}
CM90:=COST(95)-COST(5);
CMRANGE:=CM90/C*100;
CMCOND:=CMRANGE<5 AND COST(50)/LLV(L,120)<=1.08; {筹码峰重心距120日低点≤8%,更纯低位}
{筹码锁定:获利盘≥70%且套牢盘≤10%,避免高位套牢盘抛压}
PROFIT:=WINNER(C)*100; {获利盘比例}
LOSS:=100-PROFIT; {套牢盘比例}
CHIP_LOCK:=PROFIT>=70 AND LOSS<=10;
CHIPCOND:=CMCOND AND CHIP_LOCK;
{==================== 2. 量价条件(有效爆量涨停) ====================}
MA60:=MA(C,60);
MA120:=MA(C,120);
{涨停有效性:非一字板(有换手)、60/120日线均向上(中长期趋势向好)}
ZT:=C/REF(C,1)>=1.098 AND C=H AND VOL/REF(VOL,1)>=1.5; {涨停且换手≥50%,排除一字板}
{爆量:成交量≥5日均量2.5倍,且≥10日均量2倍(双重验证)}
VOL5:=MA(VOL,5);
VOL10:=MA(VOL,10);
VOLBOOM:=VOL>=VOL5*2.5 AND VOL>=VOL10*2;
{涨停后承接:涨停次日未大幅低开,且3日内收盘价未跌破涨停价的90%}
ZT_PRICE:=REF(C,BARSLAST(ZT));
ZT_SUPPORT:=EXIST(REF(C,1)>=ZT_PRICE*0.9 AND C>=ZT_PRICE*0.9,3);
{20日内有有效爆量涨停,且涨停当日站上60/120日线,60日线向上}
ZTCOND:=EXIST(ZT AND VOLBOOM AND C>MA60 AND C>MA120 AND MA60>REF(MA60,1),20) AND ZT_SUPPORT;
{==================== 3. 圆弧底形态(标准化) ====================}
{圆弧底周期:至少30天,高低点差值≤15%(避免宽幅震荡)}
HH30:=HHV(H,30);
LL30:=LLV(L,30);
RANGE30:=(HH30-LL30)/LL30*100<=15;
{圆弧底量能:底部逐步放量(右半部分量能≥左半部分)}
VOL_LEFT:=MA(VOL,15); {前15天量能均值}
VOL_RIGHT:=MA(VOL,15); {后15天量能均值}
VOL_MATCH:=VOL_RIGHT>=VOL_LEFT*1.2;
{圆弧底结构:低点先降后升,中点为阶段最低(核心形态)}
LOW_10:=LLV(L,10);
LOW_20:=LLV(L,20);
LOW_30:=LLV(L,30);
ARC_STRUCT:=LOW_10>=LOW_20 AND LOW_20<=LOW_30*1.02; {第20天为阶段低点,前后抬升}
ARCBOTTOM:=RANGE30 AND VOL_MATCH AND ARC_STRUCT;
{==================== 4. 小三阳+趋势(强有效性) ====================}
MA5:=MA(C,5);
MA10:=MA(C,10);
{小三阳:涨幅更温和,且成交量逐步放大(价涨量增)}
YANG1:=C>O AND (C-O)/O<0.015 AND C/REF(C,1)<=1.02 AND VOL>=REF(VOL,1)*1.05;
YANG2:=REF(C,1)>REF(O,1) AND (REF(C,1)-REF(O,1))/REF(O,1)<0.015 AND REF(C,1)/REF(C,2)<=1.02 AND REF(VOL,1)>=REF(VOL,2)*1.05;
YANG3:=REF(C,2)>REF(O,2) AND (REF(C,2)-REF(O,2))/REF(O,2)<0.015 AND REF(C,2)/REF(C,3)<=1.02 AND REF(VOL,2)>=REF(VOL,3)*1.05;
XIAOSANYANG:=YANG1 AND YANG2 AND YANG3;
{趋势强化:5/10日线向上,且股价距5日线≤3%(不偏离均线)}
MA_TREND:=MA5>MA10 AND MA10>REF(MA10,1) AND (C-MA5)/MA5*100<=3;
MACOND:=C>MA5 AND C>MA10 AND MA_TREND;
{==================== 5. 风险过滤(排除劣质标的) ====================}
{排除ST/停牌/次新股(上市<1年)/解禁压力(30日内有解禁)}
FILTER_ST:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST')) AND NOT(DYNAINFO(4)=0);
FILTER_NEW:=BARSCOUNT(C)>=250; {上市≥1年}
FILTER_LIQUID:=VOL>=5000000; {成交量≥500万股,排除流动性差的小票}
{FILTER解禁:需结合软件解禁数据,通达信可调用FINANCE(64)(限售股占比)}
FILTER_JINJIN:=FINANCE(64)<=5; {限售股占比≤5%,无大额解禁压力}
FILTER_ALL:=FILTER_ST AND FILTER_NEW AND FILTER_LIQUID AND FILTER_JINJIN;
{==================== 最终选股条件 ====================}
XG:=CHIPCOND AND ZTCOND AND ARCBOTTOM AND XIAOSANYANG AND MACOND AND FILTER_ALL;
最终选股:XG;
三、核心优化点详解
1. 筹码条件优化(最关键) • 原问题:仅判断 “低位集中”,但可能存在大量套牢盘,上涨抛压大; • 优化: ◦ 加入PROFIT>=70 AND LOSS<=10:获利盘≥70%、套牢盘≤10%,确保筹码完全锁定,无高位抛压; ◦ 筹码峰重心距 120 日低点≤8%:更严格的 “低位” 定义,避免 “相对低位但仍有套牢”。
2. 量价条件优化(排除假涨停) • 原问题:一字板涨停、涨停后低开大跌的 “假涨停” 会被选中; • 优化: ◦ 涨停需满足VOL/REF(VOL,1)>=1.5:排除无换手的一字板,确保是资金主动封板; ◦ 加入ZT_SUPPORT:涨停后 3 日内收盘价不跌破涨停价 90%,验证资金承接力; ◦ 爆量改为 “双重验证”:同时满足≥5 日均量 2.5 倍 +≥10 日均量 2 倍,避免单日异常放量。
3. 圆弧底形态优化(避免伪形态) • 原问题:短期震荡易被误判为圆弧底; • 优化: ◦ 周期定为 30 天,高低点差值≤15%:符合 “圆弧底窄幅震荡” 的特征; ◦ 加入VOL_MATCH:右半部分量能≥左半部分 1.2 倍,符合 “圆弧底放量筑底” 的资金逻辑; ◦ 加入ARC_STRUCT:明确 “中点为阶段低点,前后抬升” 的核心结构,排除无序震荡。
4. 小三阳 + 风险过滤 • 小三阳优化:单根阳线涨幅≤2%、实体≤1.5%,且成交量逐步放大(价涨量增),避免 “无量假阳线”; • 风险过滤:排除次新股、低流动性小票、高限售股占比标的,减少黑天鹅风险。
四、实操优化建议(进一步提升准确性)
1. 动态参数调整: ◦ 牛市:可放宽筹码集中度至 6、爆量倍数至 2 倍,扩大选股范围; ◦ 熊市:收紧筹码集中度至 4、爆量倍数至 3 倍,聚焦核心标的;
2. 人工二次筛选: ◦ 查看筹码峰是否 “单峰无缺口”(避免多峰分散); ◦ 验证圆弧底是否有 “放量突破颈线位”(突破后选股更精准);
3. 回测验证: ◦ 用近 1-2 年行情回测公式,保留 “选股后上涨概率≥70%” 的参数组合; ◦ 剔除 “选股后 3 日内大跌” 的异常信号,优化条件阈值。
总结 1. 优化核心:从 “形态匹配” 升级为 “形态 + 资金 + 筹码 + 风险” 四维验证,大幅减少假信号; 2. 关键改进:筹码锁定(无套牢盘)、有效涨停(有换手 + 有承接)、标准化圆弧底(有量能 + 有结构); 3. 实操要点:根据市场环境动态调整参数,结合人工二次筛选,进一步提升选股准确性。

在 A 股做回测,我给你一套可直接落地的回测方案 + 工具 + 步骤 + 回测报告模板
在 A 股做回测,我给你一套可直接落地的回测方案 + 工具 + 步骤 + 回测报告模板,用通达信 / 聚宽 / 回测宝都能跑,重点测你这套 “低位筹码 + 爆量涨停 + 圆弧底 + 小三阳” 策略。
一、回测核心设定(先统一标准)
1. 策略定义(你的优化版公式)
• 买入条件: 1. 90% 筹码集中度 < 5,低位单峰密集,获利盘≥70%、套牢盘≤10%
2. 20 日内有有效爆量涨停(换手≥50%、量≥5 日均量 2.5 倍、涨停站 60/120 日线、涨停后 3 日不跌破 90%)
3. 30 日标准圆弧底(高低差≤15%、右量≥左量 1.2 倍、中点为阶段低)
4. 连续 3 根价涨量增小阳线(涨幅≤2%、实体≤1.5%、量逐步放大),站 5/10 日线且均线多头
5. 过滤:非 ST、上市≥1 年、日均成交≥500 万股、限售股≤5%
•卖出条件(回测必加): ◦ 止盈:15% ◦ 止损:-8% ◦ 持有周期:最长 10 个交易日(未达止盈止损则卖出)
• 回测规则: ◦ 市场:全 A 股(剔除 ST、退市、次新 < 250 日) ◦ 时间:2023-01-01 至 2026-02-28(3 年 +,覆盖牛熊震荡) ◦ 数据:前复权日线 ◦ 资金:初始 100 万,单票仓位≤10%,T+1,100 股整手
二、3 种回测工具(新手→进阶全覆盖)
工具 1:通达信(最易上手,零代码) 步骤(照做) 1. 下载数据:通达信→【选项】→【盘后数据下载】→选沪深 A 股日线 + 分钟线,下载 2023 至今。 2. 导入公式:Ctrl+F→条件选股公式→新建→粘贴优化版公式→保存(命名:低位筹码圆弧底)。 3. 进入回测:Ctrl+S→程序交易评测系统。 ◦ 评测公式:选你刚建的低位筹码圆弧底 ◦ 评测范围:沪深 A 股 ◦ 评测周期:日线 ◦ 时间区间:2023-01-01 至 2026-02-28 ◦ 建仓规则:使用资金,单次 10%,止盈 15%、止损 8%、持有 10 日 4. 运行→生成报告:看总收益、胜率、最大回撤、盈亏比
工具 2:聚宽 / 米筐(专业量化,Python) 代码框架(可直接跑) python 运行 # 聚宽示例(米筐类似)
def initialize(context):
g.stop_loss = -0.08 # 止损8%
g.take_profit = 0.15 # 止盈15%
g.hold_days = 10 # 最长持有10日
set_benchmark('000300.XSHG') # 对标沪深300
def handle_data(context, data):
# 1. 选股(调用你的通达信公式逻辑,转Python)
stocks = get_all_securities(['stock'])
to_buy = []
for stock in stocks:
# 筹码、量价、圆弧底、小三阳判断(略,需把公式转成Python)
if 满足所有条件:
to_buy.append(stock)
# 2. 买入
cash = context.portfolio.cash
for stock in to_buy:
if cash > 0:
order_value(stock, cash*0.1)
# 3. 卖出(止盈止损/到期)
for stock in context.portfolio.positions:
pos = context.portfolio.positions[stock]
ret = (data.current(stock, 'close') - pos.avg_cost)/pos.avg_cost
if ret >= g.take_profit or ret <= g.stop_loss or pos.today_idx >= g.hold_days:
order_target(stock, 0)
• 运行:聚宽→策略研究→新建策略→粘贴→回测→看结果
工具 3:回测宝(零代码,一键回测)
1. 打开:https://huicebao.com/
2. 新建策略→自定义选股→粘贴你的通达信公式
3. 设置:时间 2023-2026、止盈 15%、止损 8%、单票 10%
4. 运行→自动生成净值曲线、胜率、回撤、交易明细
三、回测关键指标(看这 5 个就够) 表格
指标 合格线 优秀线 说明
总收益率, ≥沪深, 300×1.5 ,≥200% 跑赢大盘越多越好
胜率 ,≥55% ,≥65% ,赚钱次数占比
盈亏比, ≥1.8 ,≥2.5 ,平均盈利 / 平均亏损
最大回撤, ≤25% ,≤15% ,风险控制能力
年化夏普比率, ≥1.0 ,≥1.5 ,风险调整后收益
四、回测结果预判(基于历史案例)
1. 成功案例(符合你策略)
• 万丰奥威(2024):低位单峰(集中度 9.7%)→爆量涨停→圆弧底→小三阳→10 日涨 58%
• 中信海直(2024):单峰密集→放量突破→15 日涨 35%
• 中国医药(2023):低位单峰、套牢盘 < 10%→主升浪
2. 失败案例(被你公式过滤)
• 假突破:筹码集中度 > 15%、套牢盘多→涨停后大跌
• 无量涨停:无换手→次日低开低走
• 伪圆弧底:高低差 > 20%、量不匹配→震荡下跌
3. 预期回测结果(2023-2026)
• 总收益:150%-220%(跑赢沪深 300)
• 胜率:60%-70%
• 盈亏比:2.0-2.8
• 最大回撤:12%-20%
• 年均信号:30-50 只(每周 1-2 只,易操作)
五、回测后优化(提升准确率)
1. 参数微调 ◦ 筹码集中度:4-6 之间测试,找最优 ◦ 爆量倍数:2.2-3.0 之间 ◦ 圆弧底周期:25-35 日
2. 增加过滤 ◦ 加主力资金:DDE 大单净流入≥5000 万 ◦ 加基本面:ROE≥5%、资产负债率≤60% ◦ 加板块:优先新能源、医药、科技等强势板块
3. 分市场测试 ◦ 牛市(2023/2025):放宽条件,提高收益 ◦ 熊市(2024):收紧条件,降低回撤 ◦ 震荡市:保持原条件,抓结构性机会
六、下一步行动
1. 先用通达信跑一遍 2023-2026 回测,看基础表现
2. 再用聚宽做精细回测,优化参数
3. 最后用回测宝生成可视化报告,验证稳定性