用AI评估4家AI选股公式优劣性

23次阅读
没有评论

上期文章中,用4组AI工具就均线理论、财务状况、海龟趋势、财务门槛等维度给出了宽松、严格、及适度的分层选股策略,本期在4组AI选股基础上,予以重新评估和整合。

4个不同AI:给出的A股科学中长线趋势选股公式(附源码 + 实操指南) – 执迷者X

第一步:评价每组公式的侧重点

公式 核心逻辑 侧重点 独特之处
公式1 20MA金叉60MA + 唐奇安通道突破(20日高点) + 量能 + ATR 双重确认突破 要求均线金叉与价格突破同时发生,信号最严苛,属于“强中选强”
公式2 长期趋势(收盘>60MA >120MA) + 动量(20日涨幅>5%) + 价值(ROE>10%,PE<30,股息率>3%) 价值趋势投资 强调长期均线多头排列、高股息、低PE,属于基本面+趋势的复合策略
公式3 20MA金叉60MA + 乖离控制(股价紧贴20日线) + 全面财务排雷 稳健均线金叉 注重合理买点(不追高),排雷最细致,不含海龟突破
公式4(新) 纯海龟突破:突破30日最高点 + 中期趋势过滤(MA50>MA300) + ATR波动率 趋势启动捕捉 无均线金叉要求,完全遵循海龟交易法则,适应强势趋势市

总结

  • 公式1 = 均线金叉 ∩ 海龟突破(严苛)
  • 公式3 = 均线金叉(温和,带乖离控制)
  • 公式4 = 海龟突破(纯趋势,无金叉)
  • 公式2 = 长期趋势∩价值∩动量(基本面导向)

第二步:统一中期、长期的定义

为保持一致性和A股习惯,折中统一为:

  • 短期均线:20日(MA20)
  • 中期均线:60日(MA60)
  • 长期均线:120日(MA120)

涉及调整

  • 公式2中的N1=60(中期)、N2=120(长期)已符合,无需改动。
  • 公式4中的中期趋势过滤原为MA50>MA300(50日与300日),偏长期且周期独特。为统一口径,将其改为 MA60 > MA120(中期均线在长期均线之上)。
  • 公式1和公式3本身使用20/60,符合定义。

修改后的公式4中期趋势条件
原 MA50>MA300 → 改为 MA60 > MA120


第三步:去重与集合包含关系分析

3.1 重复与包含关系

  • 公式1 vs 公式3:公式1要求均线金叉  海龟突破(双重条件);公式3只要求均线金叉(不含海龟)。公式1是公式3的子集(更严格)。保留公式1(更强的信号),公式3可视为公式1的宽松版本,可删除公式3以避免重复。
  • 公式1 vs 公式4:公式1同时包含均线金叉和海龟突破;公式4只包含海龟突破(且周期为30日而非20日)。两者不互相包含,但可以互补。
  • 公式2:独立逻辑,无直接重复。

3.2 去重决策

  • 删除公式3(被公式1的部分条件覆盖,且公式1更严格)。
  • 保留公式1(均线金叉+海龟突破双重策略)。
  • 保留公式4(纯海龟突破,无金叉要求)。
  • 保留公式2(价值趋势策略)。

3.3 整合策略

最终输出一套整合公式,将三个不同侧重点的策略通过“或”关系并联,同时共享统一的基础排雷模块。这样用户可以在一键选股中得到三个策略的交集候选,再根据市场环境人工选择适用哪一个。

整合逻辑

  • 基础排雷、财务质地、流动性等公共条件同时应用于三个子策略。
  • 子策略A(公式1风格):均线金叉∩海龟突破∩量能∩ATR(严苛)
  • 子策略B(公式4风格):纯海龟突破(30日高点)∩中期趋势过滤(MA60>MA120)∩ATR
  • 子策略C(公式2风格):长期趋势(收盘>MA60>MA120)∩动量(20日涨幅>3%~25%)∩价值(ROE>10%,PE<30)

最终选股条件为:(公共条件) AND (策略A OR 策略B OR 策略C)


第四步:最终同花顺电脑版公式

text

{整合版_中长线选股_三策略并联}
{公共基础排雷与财务质地(源自公式3及优化)}
{统一周期:MA20短期,MA60中期,MA120长期}

{================= 公共部分(所有策略共享) =================}
非ST:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST'));
非退市:=NOT(NAMELIKE('退'));
非停牌:=DYNAINFO(4)>0;
非涨停:=DYNAINFO(7)<1.098;                     {剔除接近涨停股}
流动性:=AMOUNT/100000000>0.2;                  {日均成交额大于0.2亿}
估值过滤:=IF(FINANCE(38)>0, FINANCE(38)<=80, 1); {PE在(0,80]或亏损排除}
ROE质控:=FINANCE(39)/FINANCE(34)>=0.08;        {ROE加权≥8%}
负债安全:=FINANCE(42)<=70;                     {资产负债率≤70%}
营收增长:=FINANCE(44)>=1.05;                   {营收同比增速≥5%}

公共条件:= 非ST AND 非退市 AND 非停牌 AND 非涨停 AND 
           流动性 AND 估值过滤 AND ROE质控 AND 负债安全 AND 营收增长;

{================= 策略A:均线金叉+海龟突破(源自公式1,周期20/60) =================}
MA20:=MA(CLOSE,20);
MA60:=MA(CLOSE,60);
金叉信号:=CROSS(MA20,MA60);
均线多头A:=MA20>MA60 AND MA60>REF(MA60,1);
{海龟唐奇安突破(20日高点)}
N_A:=20;
唐奇安上轨:=HHV(HIGH,N_A);
海龟突破A:=CLOSE>REF(唐奇安上轨,1);
{ATR波动过滤}
M_A:=10;
ATR_A:=ATR(M_A);
波动达标A:=ATR_A>MA(ATR_A,5);
{量能确认}
量能确认A:=VOL>MA(VOL,60)*1.2;
策略A:= 金叉信号 AND 均线多头A AND 海龟突破A AND 波动达标A AND 量能确认A;

{================= 策略B:纯海龟突破(源自公式4,周期30日高点+中期趋势) =================}
{参数:N1=30突破周期,中期趋势MA60>MA120(统一后)}
N_B:=30;
HHV30:=HHV(HIGH,N_B);
海龟突破B:=CROSS(CLOSE,REF(HHV30,1));
{中期趋势过滤(统一为MA60>MA120)}
MA120:=MA(CLOSE,120);
中期趋势B:=MA60>MA120;
{ATR波动率(20日平均)}
TR_B:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR_B:=MA(TR_B,20);
波动达标B:=ATR_B>MA(ATR_B,5);  {合并ATR过滤,与策略A逻辑一致}
策略B:= 海龟突破B AND 中期趋势B AND 波动达标B;

{================= 策略C:价值趋势(源自公式2,长期趋势+动量+价值) =================}
长期多头C:=CLOSE>MA60 AND MA60>MA120;          {收盘站上60线,60>120}
动量C:= (CLOSE/REF(CLOSE,20)-1) > 0.03 AND (CLOSE/REF(CLOSE,20)-1) < 0.25; {20日涨幅3%~25%}
价值C:= FINANCE(38) < 30 AND FINANCE(38) > 0;  {PE在0~30之间}
{可选:股息率条件(同花顺需要专业数据,暂时注释,用PE替代)}
策略C:= 长期多头C AND 动量C AND 价值C;

{================= 最终选股:公共条件 + 任一策略满足 =================}
选股: 公共条件 AND (策略A OR 策略B OR 策略C);

公式说明与使用建议

  1. 信号含义
    • 满足策略A的股票:均线刚形成金叉且价格突破20日最高点,同时放量、波动达标。这类股票通常处于中期启动初期,爆发力最强,但信号非常稀少(牛市每日0-3只)。
    • 满足策略B的股票:纯海龟突破(30日高点),且中期趋势向上(MA60>MA120),无均线金叉要求。适用于强势趋势延续阶段,信号比策略A多。
    • 满足策略C的股票:长期均线多头排列、近期温和上涨(20日涨幅3~25%)、低PE(<30)、高ROE(≥8%)。属于稳健的价值趋势股,信号较多,适合震荡偏强市。
  2. 调仓与买卖规则(建议沿用原方案):
    • 选出后每支买入3000-5000元固定金额。
    • 止盈:5%固定止盈(条件单);或对于策略B的海龟突破,可采用跟踪止盈(跌破10日低点离场)。
    • 止损:统一为收盘跌破20日线或入场价下方-5%。

适度宽松版

非ST:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST'));
非退市:=NOT(NAMELIKE('退'));
非停牌:=VOL>0;
流动性:=AMOUNT/100000000>1;
容量控制:=CAPITAL*CLOSE/100000000>30;
换手率:=VOL/CAPITAL*100;
活跃度:=换手率>1 AND 换手率<20;
公共条件:=非ST AND 非退市 AND 非停牌 AND 流动性 AND 容量控制 AND 活跃度;
MA20:=MA(CLOSE,20);
MA60:=MA(CLOSE,60);
金叉信号:=CROSS(MA20,MA60);
均线多头A:=MA20>MA60 AND MA60>REF(MA60,1);
策略A:=金叉信号 AND 均线多头A;
N_B:=30;
HHV30:=HHV(HIGH,N_B);
海龟突破B:=CROSS(CLOSE,REF(HHV30,1));
MA120:=MA(CLOSE,120);
中期趋势B:=MA60>MA120;
策略B:=海龟突破B AND 中期趋势B;
长期多头C:=CLOSE>MA60 AND MA60>MA120;
动量C:=(CLOSE/REF(CLOSE,20)-1)>0.02 AND (CLOSE/REF(CLOSE,20)-1)<0.35;
策略C:=长期多头C AND 动量C;
选股:公共条件 AND (策略A OR 策略B OR 策略C);

全方位宽松

非ST:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST'));
非退市:=NOT(NAMELIKE('退'));
非停牌:=VOL>0;
流动性:=AMOUNT/100000000>0.5;
公共条件:=非ST AND 非退市 AND 非停牌 AND 流动性;
MA20:=MA(CLOSE,20);
MA60:=MA(CLOSE,60);
金叉信号:=CROSS(MA20,MA60);
策略A:=金叉信号;
N_B:=30;
HHV30:=HHV(HIGH,N_B);
海龟突破B:=CROSS(CLOSE,REF(HHV30,1));
MA120:=MA(CLOSE,120);
中期趋势B:=MA60>MA120;
策略B:=海龟突破B AND 中期趋势B;
长期多头C:=CLOSE>MA60 AND MA60>MA120;
动量C:=(CLOSE/REF(CLOSE,20)-1)>0.01 AND (CLOSE/REF(CLOSE,20)-1)<0.40;
策略C:=长期多头C AND 动量C;
选股:公共条件 AND (策略A OR 策略B OR 策略C);
  1. 先试方案一。复制代码到同花顺条件选股,执行选股。如果结果在5~30只之间,直接使用。
  2. 如果方案一结果仍为0,改用方案二。方案二在一般震荡市中通常能选出10~50只。
  3. 可以自行调节参数
    • 若结果过多(>100只),逐步收紧:ROE质控改回0.08,PE改回80,或加回营收增长
    • 若结果过少,可进一步删除中期趋势B均线多头A中的MA60>REF(MA60,1)等。
正文完
 0
评论(没有评论)