mcpField
T
technical-analysis

technical-analysis

github.com/staskh数据与数据库397587 次安装2 天前更新
代码仓库

关于 technical-analysis

通过命令行分析股票指标、财报、风险数据及多个代码之间的相关性,适用于金融研究和投资组合分散分析。

主要功能

  1. 01技术指标与交叉信号
  2. 02多股票代码分析
  3. 03风险指标与财报数据
  4. 04价格相关性矩阵

适用场景

  1. 01查看股票动量与波动性
  2. 02比较多个股票的指标
  3. 03通过相关性检查投资组合分散度

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/staskh/trading_skills --skill technical-analysis

安装后在 Claude Code 中输入/technical-analysis确认已加载。

附带文件scripts/correlation.pyscripts/technicals.py

详细介绍

技术分析

使用 pandas-ta 计算技术指标。支持多标的分析和财报数据。

说明

注意: 如果未安装 uv 或未找到 pyproject.toml,请在以下所有命令中将 uv run python 替换为 python。

uv run python scripts/technicals.py SYMBOL [--period PERIOD] [--indicators INDICATORS] [--earnings]

参数

  • SYMBOL - 股票代码或以逗号分隔的列表(例如,AAPL 或 AAPL,MSFT,GOOGL)
  • --period - 历史周期:1mo、3mo、6mo、1y(默认值:3mo)
  • --indicators - 以逗号分隔的指标列表:rsi,macd,bb,sma,ema,atr,adx(默认值:全部)
  • --earnings - 包含财报数据(即将到来的日期 + 历史数据)

输出

单个标的返回:

  • price - 当前价格和近期变动
  • indicators - 各项指标的计算值
  • risk_metrics - 波动率(年化 %)和夏普比率
  • signals - 根据指标水平生成的买入/卖出信号
  • earnings - 即将到来的日期和 EPS 历史数据(如果指定了 --earnings)

多个标的返回:

  • results - 单个标的结果数组
交叉
  • indicators.macd.crossover - 最近一次 MACD 线与信号线交叉;若无则为 null:
    • direction - "up"(MACD 上穿信号线 = 看涨)或 "down"(下穿 = 看跌)
    • days_ago - 自交叉以来经过的交易柱数(0 = 最近一个交易柱发生)
  • indicators.ema.crossover - 最近一次 EMA9/EMA21 交叉(结构相同;若无则为 null)。 indicators.ema 还会报告 ema9 和 ema21,以及 ema12/ema26。

解读

  • RSI > 70 = 超买,RSI < 30 = 超卖
  • MACD 交叉 = 动能转变;crossover.days_ago 为 0-5 = 新近信号
  • EMA9/21 交叉可确认短期动能;MACD 通常领先,EMA 则用于确认
  • 价格接近布林带 = 可能出现反转
  • 黄金交叉(SMA20 > SMA50)= 看涨
  • ADX > 25 = 趋势强劲
  • 夏普比率 > 1 = 风险调整后回报良好,> 2 = 极佳
  • 波动率(年化)= 按年化基准缩放后的收益标准差

示例

# Single symbol with all indicators
uv run python scripts/technicals.py AAPL

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

# With earnings data
uv run python scripts/technicals.py NVDA --earnings

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

相关性分析

计算多个标的之间的价格相关性矩阵,用于分散投资分析。

说明

uv run python scripts/correlation.py SYMBOLS [--period PERIOD]

参数

  • SYMBOLS - 以逗号分隔的股票代码(至少 2 个)
  • --period - 历史周期:1mo、3mo、6mo、1y(默认值:3mo)

输出

  • symbols - 已分析的标的列表
  • period - 使用的时间周期
  • correlation_matrix - 包含所有标的对之间相关性值的嵌套字典

解读

  • 相关性接近 1.0 = 高度相关(走势一致)
  • 相关性接近 -1.0 = 负相关(走势相反)
  • 相关性接近 0 = 不相关(走势独立)
  • 分散投资时,优先选择相关性较低或为负的标的

示例

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

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

# Check hedge effectiveness
uv run python scripts/correlation.py SPY,GLD,TLT

依赖项

  • numpy
  • pandas
  • pandas-ta
  • yfinance

时区

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

评论

支持 Markdown