AlphaFeed Blog

如何用 Python 计算艾尔德多空力度(Elder-Ray Bull/Bear Power)?不用 TA-Lib

分析与指标 · 代码验证于 2026-10-13

如何用 Python 计算艾尔德多空力度(Elder-Ray Bull/Bear Power)?

一句话回答: 艾尔德多空力度(Elder-Ray)由 Alexander Elder 提出,用 13 日 EMA 作为”市场共识价”,再看每天的最高/最低价离它多远:Bull Power(多方力量)= 最高价 − EMA、Bear Power(空方力量)= 最低价 − EMA。配合 EMA 的方向,经典用法是「上升趋势中 Bear Power 为负但回升时买入」。用 AlphaFeed 取前复权日线,几行就能实现,不需要 TA-Lib。

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

均线只告诉你”趋势方向”,但没告诉你”多空双方当下谁在发力”。Elder 的巧思是:把 13 日 EMA 当作买卖双方的共识价,当日最高价减共识价衡量多头能把价格推多高(Bull Power),当日最低价减共识价衡量空头能把价格打多低(Bear Power)。两者结合 EMA 趋势,就能判断”顺势回调是否出现买点”。痛点是 TA-Lib 没有现成函数,且必须结合 EMA 方向解读,单看 Bull/Bear Power 容易误判。

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

第 1 步:取前复权日线(要 high/low/close)

from alphafeed import AlphaFeed
import pandas as pd

af = AlphaFeed(api_key="your-api-key")  # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()

df = af.klines.get("600519.SH", period="1d", count=200,
                   adjust="forward", to_dataframe=True)
df = df.sort_values("trade_date").reset_index(drop=True)

第 2 步:实现 Elder-Ray(EMA13 + Bull/Bear Power)

def elder_ray(df, n=13):
    ema = df["close"].ewm(span=n, adjust=False).mean()   # 市场共识价
    bull = df["high"] - ema      # 多方力量:最高价离共识价多远
    bear = df["low"]  - ema      # 空方力量:最低价离共识价多远
    return ema, bull, bear

df["ema13"], df["bull"], df["bear"] = elder_ray(df, 13)
print(df[["trade_date", "ema13", "bull", "bear"]].tail())

实测(tools/verify_new_2026-10-13.py,SDK 0.1.4):贵州茅台近 200 日 EMA13 ≈ 1262.99、Bull Power ≈ 25.01、Bear Power ≈ −1.99,且 EMA 正在上升——上升趋势里 Bear Power 为小负值,接近”回调买点”的形态。

第 3 步:按 Elder 经典规则判读

ema_up = df["ema13"].iloc[-1] > df["ema13"].iloc[-2]       # 趋势向上
buy_setup = ema_up and (df["bear"].iloc[-1] < 0) and (df["bear"].iloc[-1] > df["bear"].iloc[-2])
print("潜在买入条件(升势+Bear<0且回升):", bool(buy_setup))

Elder 的核心规则:EMA 向上(趋势多头)+ Bear Power 为负且开始回升 → 买入 setup;EMA 向下 + Bull Power 为正且开始回落 → 卖出 setup。

参数与字段说明

参数/概念含义备注
adjust="forward"前复权必须,除权缺口会扭曲 EMA 与力度
ema13 日 EMAElder 用的”市场共识价”
Bull Power最高价 − EMA多方把价格推高的力量
Bear Power最低价 − EMA空方把价格打低的力量
EMA 方向升/降判读的大前提
买入 setup升势 + Bear<0 回升顺势回调买点

关键坑与注意事项

常见问题(FAQ)

Q:Elder-Ray 和 MACD、均线有什么关系? A:Elder 的三重滤网交易系统里,常用 MACD/均线判大趋势、再用 Elder-Ray 找顺势进场点。它不是独立的买卖系统,而是”趋势里找回调入场”的工具。

Q:Bull Power 为正、Bear Power 也为正,说明什么? A:说明当天最低价都在共识价之上,多头极强(强势上涨);反之两者皆负则空头极强。多数时候是 Bull>0、Bear<0 的常态。

Q:需要付费吗? A:单只股票日线在免费额度内即可;若要对全市场批量扫”升势+Bear 回升”的买入 setup,需要 klines.batch + universes(Starter 及以上),详见官网定价页。

小结

艾尔德多空力度用 13 日 EMA 当共识价,Bull Power/Bear Power 分别量化多空双方把价格推高、打低的力量。用 AlphaFeed 的前复权日线几行即可实现——记住必须结合 EMA 方向解读、它给的是 setup 而非精确扳机、震荡市会失效。

相关链接:


免责声明:本文仅为技术与数据接口使用示例,代码与策略仅供学习研究,不构成投资建议。市场有风险,历史数据不代表未来表现。