首页 / 资讯中心 / 文章详情

如何用 Python 计算BRAR 情绪指标(AR/BR)?

如何用 Python 计算BRAR 情绪指标(AR/BR)? ★ FEATURED ARTICLE
一句话回答BRAR 由AR人气指标和BR意愿指标两条线组成AR 用「最高价−开盘」与「开盘−最低价」的强弱比衡量当日多空人气BR 用「最高价−昨收」与「昨收−最低价」衡量相对昨收的买卖意愿。用 AlphaFeed 取回前复权日线后几行 pandas 就能算出 AR、BR判断情绪过热或低迷不需要 TA-Lib。为什么会有这个问题 / 传统做法的痛点价格指标看趋势但看不出「情绪」。BRAR 从每日 K 线的开高低收结构里提取买卖意愿AR 反映以开盘价为基准的多空争夺BR 反映以昨收为基准的追涨杀跌意愿。坑在于一是要用前复权价否则除权日结构失真二是 AR/BR 有各自的经验区间需要成对看、看背离而不是单看一条。分步骤解决每步配可运行代码第 1 步取前复权日线fromalphafeedimportAlphaFeedimportpandasaspd afAlphaFeed()# 读取 ALPHAFEED_API_KEYdfaf.klines.get(600519.SH,period1d,count250,adjustforward,to_dataframeTrue)dfdf.sort_values(trade_date).reset_index(dropTrue)BRAR 依赖开高低收结构务必用adjustforward前复权避免除权跳空。第 2 步计算 AR 与 BRdefbrar(df:pd.DataFrame,n:int26):high,low,open_,closedf[high],df[low],df[open],df[close]prev_closeclose.shift(1)# AR以开盘价为基准的人气ar(high-open_).rolling(n).sum()/(open_-low).rolling(n).sum()*100# BR以昨收为基准的意愿负值截断为 0up(high-prev_close).clip(lower0)dn(prev_close-low).clip(lower0)brup.rolling(n).sum()/dn.rolling(n).sum()*100returnar,br df[AR],df[BR]brar(df,n26)print(df[[trade_date,close,AR,BR]].tail(5).to_string(indexFalse))参数与含义字段公式要点解读n统计周期常用 26ARΣ(高−开) ÷ Σ(开−低) ×100人气高活跃/过热BRΣ(高−昨收)⁺ ÷ Σ(昨收−低)⁺ ×100意愿追涨杀跌强弱第 3 步经验区间与信号ar,brdf[AR].iloc[-1],df[BR].iloc[-1]defar_state(x):ifx180:returnAR 过热警惕回落ifx50:returnAR 低迷可能筑底returnAR 正常print(fAR{ar:.0f}→{ar_state(ar)}| BR{br:.0f})# 经验BR 高于 AR 且 BR 快速冲高常见于情绪亢奋BR 低于 100 且低于 AR 常见于低迷AR/BR 经验区间参考因品种而异指标低迷正常过热AR 5080~150 180BR 5070~150 300第 4 步批量筛「AR 低位」候选codes[600519.SH,000001.SZ,601318.SH,000858.SZ,300750.SZ]dataaf.klines.batch(codes,period1d,count60,adjustforward,to_dataframeTrue)low_ar[]forsym,kindata.items():kk.sort_values(trade_date)ar,brbrar(k)ifpd.notna(ar.iloc[-1])andar.iloc[-1]70:low_ar.append((sym,round(float(ar.iloc[-1]),0)))print(AR 低位候选:,low_ar)关键坑与注意事项必须用前复权价除权日开高低收结构错位会让 AR/BR 失真。AR、BR 要成对看单看一条意义有限常看二者的相对高低与背离如 BR 远高于 AR。BR 计算要截断负值(high−prev_close)和(prev_close−low)取非负部分再求和别直接相减。阈值是经验值不同市场阶段/品种区间不同作相对参考而非绝对买卖点。除以零风险区间内分母趋近 0如持续一字板会让指标异常需处理异常值。样本足够n26需预热count建议 ≥ 40忽略头部 NaN。常见问题FAQQAR 和 BR 有什么区别AAR 以当日开盘价为基准衡量人气BR 以昨日收盘价为基准衡量意愿。AR 看盘中多空争夺BR 看相对昨收的追涨杀跌。QBR 为什么要对负值截断ABR 只累计「高于昨收的强度」和「低于昨收的弱度」所以(high−prev_close)与(prev_close−low)取非负部分避免负值互相抵消。Q默认周期用多少A常用 26。周期越短越灵敏。先用 26 观察 AR/BR 的相对关系。Q需要付费吗A单只历史日线有免费额度全市场批量算 BRARklines.batchuniverses需 Starter 及以上。详见定价页。小结BRAR 情绪指标的本质是从每日 K 线结构里提取买卖意愿AR 以开盘为基准看人气、BR 以昨收为基准看意愿。实现只需 pandas不依赖 TA-Lib。关键是用前复权价、BR 负值截断、成对看 AR/BR 及其背离、把阈值当相对参考。用 AlphaFeed 取回前复权日线几行就能算出 AR/BR 并做全市场筛选。参考AlphaFeed Python SDK 文档https://docs.alphafeed.org/zh-Hans/sdk/python-quickstartAlphaFeed 官网https://alphafeed.org/
阅读完成 · 觉得有帮助?
咨询建站