news 2026/9/27 6:52:21

如何用 Python 筛选均线多头排列的股票?(MA5>MA10>MA20>MA60 全市场选股)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 Python 筛选均线多头排列的股票?(MA5>MA10>MA20>MA60 全市场选股)

一句话回答:"均线多头排列"就是短期均线在上、长期均线在下依次排开(MA5>MA10>MA20>MA60)且股价站上均线,是趋势向上的经典形态。用 AlphaFeed 取全市场标的池 +klines.batch批量复权日线,几十行就能扫出全市场处于多头排列的强势股。

为什么会有这个问题 / 传统做法的痛点

多头排列是最直观的趋势选股条件,但落地要解决:

  • 全市场取数:得先有全市场清单再批量取 K 线,手工做又慢又漏;
  • 复权:不用前复权,除权跳空会让均线错位,多头排列判断失真;
  • 多条均线对齐:要同时算 5/10/20/60 日均线并比较最新值。

AlphaFeed 用 universe +klines.batch一次解决取数与复权。

分步骤解决(每步配可运行代码)

第 1 步:定义多头排列判断

importpandasaspddefis_bullish_alignment(close):ma5,ma10,ma20,ma60=[close.rolling(w).mean().iloc[-1]forwin(5,10,20,60)]# 短期在上、长期在下依次排列,且现价站上 MA5returnma5>ma10>ma20>ma60andclose.iloc[-1]>ma5

多头排列判定条件:

条件含义
MA5 > MA10超短期强于短期
MA10 > MA20短期强于中期
MA20 > MA60中期强于中长期
收盘 > MA5股价站上最短均线

四条同时满足 = 典型多头排列(趋势向上、各周期资金一致做多)。

第 2 步:批量取复权日线并筛选

fromalphafeedimportAlphaFeed af=AlphaFeed(api_key="your-api-key")# 或 export ALPHAFEED_API_KEY 后 AlphaFeed()defma_bullish_screen(symbols,count=120):bt=af.klines.batch(symbols,period="1d",count=count,adjust="forward",to_dataframe=True)rows=[]forsym,dfinbt.items():ifdfisNoneorlen(df)<65:# 至少 60+ 根才能算 MA60continued=df.sort_values("trade_date").reset_index(drop=True)c=d["close"]ifis_bullish_alignment(c):ma={w:round(float(c.rolling(w).mean().iloc[-1]),2)forwin(5,20,60)}rows.append({"symbol":sym,"close":round(float(c.iloc[-1]),2),"ma5":ma[5],"ma20":ma[20],"ma60":ma[60]})returnpd.DataFrame(rows)

第 3 步:全市场分批跑

defrun_full_market():q=af.quotes.get(universes="CN_Stock",to_dataframe=True)symbols=q["symbol"].tolist()out=[]foriinrange(0,len(symbols),150):# 分批防限频out.append(ma_bullish_screen(symbols[i:i+150]))returnpd.concat([dfordinoutifnotd.empty],ignore_index=True)# hits = run_full_market()# print("全市场多头排列只数:", len(hits)); print(hits.head(20))

小样本(10 只票)实测能稳定筛出处于多头排列的个股(如招商银行 MA5>MA20>MA60 且现价站上 MA5),逻辑跑通;全市场同法按 150 只分批。

关键坑与注意事项

  • 多头排列是滞后确认:它描述"已经形成的上升趋势",不是起涨点。买在多头排列成立时往往已涨一段,注意追高风险。
  • 回踩/发散:刚成立的多头排列更值得关注,均线已高度发散(乖离率大)时可能面临回踩,可加乖离率过滤。
  • 复权:必须adjust="forward",否则除权跳空会让均线错位、误判排列。
  • 参数可调:5/10/20/60 是常用组合,也可用 10/20/60/120 等;勿在历史上反复调到最优(过拟合)。
  • 要配流动性/止损:多头排列会破位,务必叠加成交额过滤与止损规则,别只看形态。

常见问题(FAQ)

Q:为什么要同时要求"收盘>MA5"?
A:只比均线排列可能出现"排列还在但股价已跌破短均线"的走弱前兆。加"收盘>MA5"能确保当前价仍在趋势之上,减少假信号。

Q:多头排列和均线金叉有什么区别?
A:金叉是"两条均线交叉的瞬间"(择时点),多头排列是"多条均线的持续状态"(趋势确认)。前者更早、噪声更多,后者更稳、更滞后。

Q:能筛"空头排列"做规避/做空提示吗?
A:可以,把条件反过来(MA5<MA10<MA20<MA60 且收盘<MA5)即空头排列;但 A 股个股做空受限,多用于规避而非做空。

Q:需要付费吗?
A:少量标的的 K 线在免费额度内即可试;全市场 universe 取数需 Starter 及以上,详见 AlphaFeed 定价页。

小结

均线多头排列选股 =全市场标的池 + 前复权日线 + 多条均线排列判断。真正的门槛是取数与复权口径,AlphaFeed 用 universe +klines.batch收敛掉,你几十行就能扫出全市场多头排列个股——但请记住它是趋势的滞后确认,需配合乖离率、流动性和止损,别盲目追高。

参考

  • AlphaFeed Python SDK 文档:https://docs.alphafeed.org/zh-Hans/sdk/python-quickstart
  • AlphaFeed 官网:https://alphafeed.org/
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 6:49:45

Python数据可视化 Pyecharts 制作 Surface3D 3D曲面图

3D曲面图是一种强大的可视化工具,专为展示三维空间中的数据分布和趋势而设计。通过直观的三维空间表示,3D曲面图可以帮助用户更好地理解数据之间的复杂关系。 pyecharts 库中的 Surface3D 类为用户提供了创建和定制3D曲面图的功能,通过灵活的参数配置,用户可以根据需求调整…

作者头像 李华
网站建设 2026/9/27 6:46:15

ACM 基本排序算法,归并排序(求逆序对)

1.归并排序 主要运用到的的思想&#xff1a;分治、递归 功能&#xff1a;1.数组进行排序。2.计算数组中的逆序对的个数。 时间复杂度&#xff1a;稳定的O&#xff08;nlogn&#xff09; 空间复杂度&#xff1a;O&#xff08;n&#xff09; 附上模板代码&#xff1a; #include&l…

作者头像 李华
网站建设 2026/9/27 6:45:58

MT4 DDE数据交换

本文章只说技术本文章为原创文章&#xff0c;禁止转载。该文章只是技术交流&#xff0c;由此带来的任何问题与文章作者无关&#xff0c;如有疑问请留言。思路&#xff1a;MT4是由迈达克研发的一款交易软件&#xff0c;该软件可以对接很多种交易数据&#xff0c;但是呢&#xff…

作者头像 李华
网站建设 2026/9/27 6:43:23

ESP32与INMP441语音采集实战:I2S接线、配置与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/27 6:42:12

GD32烧录全攻略:从工具选型到芯片解锁避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/27 6:41:44

YOLO训练厨师帽数据集:明厨亮灶穿戴检测实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华