SuperAPI AI 工具集

technical-analysis

数据与分析

查看项目

更新于 10-15 18:09

技能介绍

Technical Analysis 是一个用于股票技术分析的工具技能,基于 pandas-ta 计算技术指标,支持多标的分析与收益数据。

用途 该技能用于对股票进行技术分析,计算常见技术指标,并给出信号与风险指标,帮助用户了解价格走势与动量变化。

主要能力

  • 技术指标计算:支持 RSI、MACD、布林带(Bollinger Bands)、SMA、EMA、ATR、ADX,默认计算全部指标。
  • 多标的分析:SYMBOL 参数可传入单个代码或以逗号分隔的多个代码(如 AAPL 或 AAPL,MSFT,GOOGL)。
  • 收益数据:通过 --earnings 参数可包含即将到来的收益日期与历史 EPS。
  • 交叉信号:提供 MACD 线/信号线最近一次交叉(direction 为 up 表示 MACD 上穿信号线,偏多;down 表示下穿,偏空;days_ago 为距交叉的交易日数,0 表示最近一根 K 线发生),以及 EMA9/EMA21 最近一次交叉(结构相同,无交叉时为 null)。EMA 同时报告 ema9、ema21 与 ema12、ema26。
  • 风险指标:输出年化波动率(%)与夏普比率。
  • 相关性分析:通过 correlation.py 计算多只股票之间的价格相关性矩阵,用于分散化分析。

使用方式 命令行运行脚本。若未安装 uv 或未找到 pyproject.toml,可将命令中的 uv run python 替换为 python。

技术指标脚本: uv run python scripts/technicals.py SYMBOL [--period PERIOD] [--indicators INDICATORS] [--earnings] 参数:

  • SYMBOL:股票代码或逗号分隔列表。
  • --period:历史周期,可选 1mo、3mo、6mo、1y,默认 3mo。
  • --indicators:逗号分隔的指标列表,可选 rsi,macd,bb,sma,ema,atr,adx,默认全部。
  • --earnings:包含收益数据(即将到来的日期与历史)。

输出: 单标的返回 price(当前价格与近期变化)、indicators(各指标计算值)、risk_metrics(年化波动率与夏普比率)、signals(基于指标水平的买卖信号)、earnings(若启用 --earnings,返回即将到来的日期与 EPS 历史)。 多标的返回 results(各标的单独结果的数组)。

相关性脚本: uv run python scripts/correlation.py SYMBOLS [--period PERIOD] 参数:

  • SYMBOLS:逗号分隔的股票代码,至少 2 个。
  • --period:历史周期,可选 1mo、3mo、6mo、1y,默认 3mo。 输出:symbols(分析的代码列表)、period(所用周期)、correlation_matrix(所有两两之间相关值的嵌套字典)。

示例:

单标的全部指标

uv run python scripts/technicals.py AAPL

多标的

uv run python scripts/technicals.py AAPL,MSFT,GOOGL

含收益数据

uv run python scripts/technicals.py NVDA --earnings

指定指标

uv run python scripts/technicals.py TSLA --indicators rsi,macd

组合相关性

uv run python scripts/correlation.py AAPL,MSFT,GOOGL,AMZN

行业比较

uv run python scripts/correlation.py XLF,XLK,XLE,XLV --period 6mo

对冲有效性

uv run python scripts/correlation.py SPY,GLD,TLT

指标解读

  • RSI > 70 为超买,RSI < 30 为超卖。
  • MACD 交叉代表动量转变;crossover.days_ago 为 0-5 表示信号较新。
  • EMA9/21 交叉确认短期动量;MACD 通常领先,EMA 用于确认。
  • 价格接近布林带可能反转。
  • 金叉(SMA20 > SMA50)偏多。
  • ADX > 25 表示趋势强劲。
  • 夏普比率 > 1 为较好的风险调整回报,> 2 为优秀。
  • 年化波动率为收益率标准差按年化缩放。

相关性解读

  • 相关性接近 1.0 表示高度相关(同向变动)。
  • 接近 -1.0 表示负相关(反向变动)。
  • 接近 0 表示不相关(独立变动)。
  • 分散化时偏好低相关或负相关。

依赖 numpy、pandas、pandas-ta、yfinance。

时区 所有时间戳与基于时间的计算必须使用 America/New_York 时区。所有 JSON 输出必须包含 generated_at(纽约时间字符串)与 data_delay 字段。

适用场景 适用于需要快速计算股票技术指标、查看动量与趋势信号、评估风险指标,或分析多只股票相关性的场景。

限制 具体数据来源、更新频率、收费情况、平台支持等暂未提供。