☰
不用pandas如何计算MACD、RSI、KDJ和布林带?global-stock-data纯Python技术指标层完整解析
2026/10/11 10:43:47 网站建设 项目流程

【免费下载链接】global-stock-data

US stock market data for AI coding assistants — zero-auth, official sources. CBOE options with full Greeks + 0DTE flow, FINRA market-wide short volume, SEC EDGAR filing stream, and a free market-wide screener. 13 layers, 30+ endpoints, 11 sources. Every source labeled with its compliance tier.

项目地址:https://gitcode.com/gh_mirrors/gl/global-stock-data
点击查看免费下载

global-stock-data是给 AI 编程助手用的美股数据工具包,它的「技术指标层」让你不用 pandas、不装任何额外依赖,仅凭 Python 标准库就能算出 MACD、RSI、KDJ、布林带和均线——先拉 K 线,再喂给 5 个纯 Python 函数,几秒钟拿到完整指标序列。本文面向新手,带你一次看懂这套「纯 Python 技术指标层」的完整逻辑。


为什么不用 pandas 也能算技术指标?

很多教程一上来就是import pandas,但你其实可以完全不碰它。原因有三:

  • 指标本质是滑动窗口计算:MA、RSI、布林带都是「对最近 N 根 K 线做平均/统计」,用几行for循环 +sum()就能实现。
  • 零额外依赖:项目只用requests拉数据,指标计算部分不引入 numpy / pandas / talib,环境干净、迁移成本低。
  • 数据即算:K 线函数返回的就是一个 Python 列表([{date, open, high, low, close, volume}, ...]),指标函数直接吃这个列表,无需转 DataFrame。

一句话:数据是列表,指标是循环,pandas 只是「更好写的循环」,不是必需品。


核心数据流:K 线 → 指标(两步走)

整个技术指标层只有一条清晰的数据流,理解它后面就全通了:

第 1 步:调 K 线函数 us_stock_kline_sina("AAPL", 120) ↓ 返回 K线列表 第 2 步:喂给指标函数 calc_macd(klines) / calc_rsi(klines) ↓ 返回 指标列表 [{date, dif, dea, macd_hist}, ...]

K 线来自Layer 2(美股用新浪,可回溯到 1984 年;港股用 Yahoo),指标计算在Layer 3。这一层的源码集中在 SKILL.md 的「Layer 3: 技术指标层」,全部基于 K 线的 OHLCV(开高低收量)本地计算。

最小调用示意(复制即用):

klines = us_stock_kline_sina("AAPL", 120) # 拉近120根日K macd = calc_macd(klines) # 算 MACD rsi = calc_rsi(klines) # 算 RSI

五大指标逐个拆解:公式、默认参数、怎么读

下面 5 个函数构成整套指标层,全部在 SKILL.md 内。每个我按「是什么 → 默认参数 → 怎么解读」讲清楚。

1) MACD —— 趋势与动能的「金叉死叉」信号

  • 源码:calc_macd
  • 默认参数:快线12/ 慢线26/ 信号线9
  • 怎么算:DIF = EMA(12) − EMA(26),DEA = DIF 的 EMA(9),柱状图MACD_hist = (DIF − DEA) × 2
  • 怎么读:
    • 金叉:DIF 上穿 DEA,看多信号
    • 死叉:DIF 下穿 DEA,看空信号
    • 柱状图红涨绿跌,长度代表动能强弱

2) RSI —— 超买超卖的「温度计」

  • 源码:calc_rsi
  • 默认参数:周期[6, 12, 24](同时给三条 RSI)
  • 怎么算:统计最近 N 天的平均涨/跌幅,RSI = 100 − 100/(1+RS)
  • 怎么读:
    • RSI > 70超买区(可能回调)
    • RSI < 30超卖区(可能反弹)
    • 数值贴到 100 或 0 是极端行情提示

3) KDJ —— 随机指标的「灵敏开关」

  • 源码:calc_kdj
  • 默认参数:RSV 周期n=9,平滑m1=3 / m2=3
  • 怎么算:先求RSV(收盘价在 N 日高低区间的位置),再对 K、D 做平滑,J = 3K − 2D
  • 怎么读:
    • K/D > 80超买,K/D < 20超卖
    • J > 100 或 J < 0是极端信号(比 K/D 更灵敏)
    • 金叉:K 上穿 D;死叉:K 下穿 D

4) 布林带(Bollinger)—— 波动率的「通道」

  • 源码:calc_boll
  • 默认参数:中轨period=20,标准差倍数num_std=2
  • 怎么算:中轨 = MA(20),上轨/下轨 = 中轨 ± 2×标准差,另给bandwidth(带宽)
  • 怎么读:
    • 价格触及上轨→ 可能超买;触及下轨→ 可能超卖
    • 带宽收窄→ 波动收敛,往往是「即将变盘」的前兆

5) 均线 MA / EMA —— 一切的「地基」

  • 源码:calc_ma(含内部辅助_ema)
  • 默认参数:[5, 10, 20, 60]四条均线 +ema12 / ema26
  • 怎么读:MA 是多周期平均线(趋势支撑/压力),EMA 给了12/26正是 MACD 的原材料——MACD 就是建立在 EMA 之上的,所以均线函数同时服务于 MA 和 MACD。

参数速查表:5 个指标一眼看全

指标函数默认参数关键读法源码位置
MACDcalc_macd12 / 26 / 9DIF 上穿 DEA = 金叉L822
RSIcalc_rsi6 / 12 / 24>70 超买,<30 超卖L856
KDJcalc_kdj9 / 3 / 3K/D>80 超买,J 极端L897
布林带calc_boll20 / 2σ触轨超买超卖,带宽收窄变盘L941
均线 MA/EMAcalc_ma5/10/20/60 + EMA12/26趋势支撑/压力,MACD 的地基L781

💡 所有函数返回值都是「与 K 线等长」的列表,每行带date和指标值,前 N 根不足窗口时该指标为None,画图时自动跳过即可。


快速上手:3 步跑出你的第一个指标

  1. 安装依赖:pip install requests(指标计算本身零额外依赖)。
  2. 取 K 线:美股用us_stock_kline_sina("AAPL", 120),港股用stock_kline_yahoo("0700.HK")(见 K 线层)。
  3. 算指标:把 K 线列表直接传给calc_macd / calc_rsi / calc_kdj / calc_boll / calc_ma,任意组合。

跟你的 AI 编程助手说一句「AAPL 的 MACD 和 RSI 有没有金叉」,这套指标层就会自动被激活并给出答案——这正是它作为 Skill 的设计初衷。


这套「纯 Python 指标层」适合谁?

  • 不想装 pandas / talib的轻量玩家:环境越干净越好迁移。
  • 给 AI 助手喂数据的开发者:SKILL.md 自包含、可被 Claude Code / Codex / OpenClaw 直接读取执行。
  • 想「边拉边算」的脚本:K 线函数 + 指标函数天然解耦,K 线来源可随意替换(新浪 / Yahoo 都行)。

⚠️ 本项目只分发代码,不分发市场数据;数据由使用者按各源条款自行获取。技术指标仅用于研究,不构成投资建议。

想继续深入,可阅读 完整端点路由表 与 README_zh.md 的 13 层架构说明,了解指标层之外的期权、做空、SEC 申报等能力。

【免费下载链接】global-stock-data

US stock market data for AI coding assistants — zero-auth, official sources. CBOE options with full Greeks + 0DTE flow, FINRA market-wide short volume, SEC EDGAR filing stream, and a free market-wide screener. 13 layers, 30+ endpoints, 11 sources. Every source labeled with its compliance tier.

项目地址:https://gitcode.com/gh_mirrors/gl/global-stock-data
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询