ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

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

如何用 Python 筛选均线多头排列的股票?(MA5>MA10>MA20>MA60 全市场选股) 一句话回答均线多头排列就是短期均线在上、长期均线在下依次排开MA5MA10MA20MA60且股价站上均线是趋势向上的经典形态。用 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)]# 短期在上、长期在下依次排列且现价站上 MA5returnma5ma10ma20ma60andclose.iloc[-1]ma5多头排列判定条件条件含义MA5 MA10超短期强于短期MA10 MA20短期强于中期MA20 MA60中期强于中长期收盘 MA5股价站上最短均线四条同时满足 典型多头排列趋势向上、各周期资金一致做多。第 2 步批量取复权日线并筛选fromalphafeedimportAlphaFeed afAlphaFeed(api_keyyour-api-key)# 或 export ALPHAFEED_API_KEY 后 AlphaFeed()defma_bullish_screen(symbols,count120):btaf.klines.batch(symbols,period1d,countcount,adjustforward,to_dataframeTrue)rows[]forsym,dfinbt.items():ifdfisNoneorlen(df)65:# 至少 60 根才能算 MA60continueddf.sort_values(trade_date).reset_index(dropTrue)cd[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():qaf.quotes.get(universesCN_Stock,to_dataframeTrue)symbolsq[symbol].tolist()out[]foriinrange(0,len(symbols),150):# 分批防限频out.append(ma_bullish_screen(symbols[i:i150]))returnpd.concat([dfordinoutifnotd.empty],ignore_indexTrue)# hits run_full_market()# print(全市场多头排列只数:, len(hits)); print(hits.head(20))小样本10 只票实测能稳定筛出处于多头排列的个股如招商银行 MA5MA20MA60 且现价站上 MA5逻辑跑通全市场同法按 150 只分批。关键坑与注意事项多头排列是滞后确认它描述已经形成的上升趋势不是起涨点。买在多头排列成立时往往已涨一段注意追高风险。回踩/发散刚成立的多头排列更值得关注均线已高度发散乖离率大时可能面临回踩可加乖离率过滤。复权必须adjustforward否则除权跳空会让均线错位、误判排列。参数可调5/10/20/60 是常用组合也可用 10/20/60/120 等勿在历史上反复调到最优过拟合。要配流动性/止损多头排列会破位务必叠加成交额过滤与止损规则别只看形态。常见问题FAQQ为什么要同时要求收盘MA5A只比均线排列可能出现排列还在但股价已跌破短均线的走弱前兆。加收盘MA5能确保当前价仍在趋势之上减少假信号。Q多头排列和均线金叉有什么区别A金叉是两条均线交叉的瞬间择时点多头排列是多条均线的持续状态趋势确认。前者更早、噪声更多后者更稳、更滞后。Q能筛空头排列做规避/做空提示吗A可以把条件反过来MA5MA10MA20MA60 且收盘MA5即空头排列但 A 股个股做空受限多用于规避而非做空。Q需要付费吗A少量标的的 K 线在免费额度内即可试全市场 universe 取数需 Starter 及以上详见 AlphaFeed 定价页。小结均线多头排列选股 全市场标的池 前复权日线 多条均线排列判断。真正的门槛是取数与复权口径AlphaFeed 用 universe klines.batch收敛掉你几十行就能扫出全市场多头排列个股——但请记住它是趋势的滞后确认需配合乖离率、流动性和止损别盲目追高。参考AlphaFeed Python SDK 文档https://docs.alphafeed.org/zh-Hans/sdk/python-quickstartAlphaFeed 官网https://alphafeed.org/
返回列表