🧪 Skills

Technical Indicators

计算A股常用技术指标和量价形态,支持多指标共振分析并提供信号强度评分和策略回测功能。

v1.1.0
❤️ 0
⬇️ 6
👁 1
Share

Description

Technical Indicators - 技术指标计算

功能说明

提供常用技术指标的计算功能,支持 A 股股票。包含多指标共振分析模块,可自动识别多指标共振信号。

支持的指标

趋势指标

  • MA (移动平均线): 5/10/20/60/120/250 日
  • EMA (指数移动平均线)
  • MACD (平滑异同移动平均线)
  • ADX (平均趋向指数)

动量指标

  • KDJ (随机指标)
  • RSI (相对强弱指标)
  • CCI (顺势指标)

波动率指标

  • BOLL (布林带)
  • ATR (平均真实波幅)

成交量指标

  • OBV (能量潮)
  • 量比 (今日/5 日平均)
  • 换手率
  • 量价关系分析 (8 种形态)

🌟 量价关系深度分析 (新增)

基础量价形态 (4 种)

1. 放量上涨 ✅

  • 特征: 价↑量↑
  • 信号: 看涨
  • 置信度: 高 (量比>2 时)
  • 操作: 可跟进

2. 缩量上涨 ⚠️

  • 特征: 价↑量↓
  • 信号: 警惕
  • 置信度: 低
  • 操作: 谨慎观望

3. 放量下跌 ❌

  • 特征: 价↓量↑
  • 信号: 看跌
  • 置信度: 高
  • 操作: 回避/减仓

4. 缩量下跌 ⚠️

  • 特征: 价↓量↓
  • 信号: 观望
  • 置信度: 低
  • 操作: 等待企稳

高级量价形态 (4 种)

5. 量价背离

  • 特征: 价创新高但量未新高
  • 信号: 反转预警
  • 操作: 警惕顶部

6. 天量天价

  • 特征: 历史天量 + 高价区
  • 信号: 顶部信号
  • 操作: 减仓/离场

7. 地量地价

  • 特征: 历史地量 + 低价区
  • 信号: 底部信号
  • 操作: 关注买入机会

8. 堆量上涨

  • 特征: 连续 3 日 + 放量上涨
  • 信号: 强势信号
  • 操作: 持有/跟进

量比计算

量比 = 今日成交量 / 近 5 日平均成交量

- >3: 异常放量
- >2: 放量
- 0.5-2: 正常
- <0.5: 缩量
- <0.3: 异常缩量

🌟 多指标共振分析

共振类型 (5 种)

1. 趋势共振 ⭐⭐⭐⭐⭐

  • 指标: MA + MACD + ADX
  • 强买入: MA 金叉 + MACD 金叉 + ADX>25
  • 强卖出: MA 死叉 + MACD 死叉 + ADX>25

2. 动量共振 ⭐⭐⭐⭐

  • 指标: KDJ + RSI + CCI
  • 强买入: KDJ 金叉 + RSI<30 + CCI<-100
  • 强卖出: KDJ 死叉 + RSI>70 + CCI>100

3. 量价共振 ⭐⭐⭐⭐⭐

  • 指标: 成交量 + OBV + 价格
  • 强买入: 放量 + OBV 上升 + 价格上涨
  • 强卖出: 缩量 + OBV 下降 + 价格下跌

4. 波动率共振 ⭐⭐⭐

  • 指标: BOLL + ATR
  • 突破信号: 价格突破 BOLL 上轨 + ATR 放大
  • 收缩信号: BOLL 带宽收缩 + ATR 下降

5. 全指标共振 ⭐⭐⭐⭐⭐

  • 指标: 5+ 指标同时信号
  • 规则: 3 个以上类别同时发出同向信号

信号强度评分

信号强度 = (符合指标数 / 总指标数) * 100

- 80-100: 强烈信号
- 60-80: 强信号
- 40-60: 中等信号
- <40: 弱信号

使用示例

基础指标计算

from technical_indicators import (
    calculate_ma, calculate_macd, calculate_rsi,
    calculate_kdj, calculate_boll, calculate_atr,
    calculate_obv, calculate_cci, calculate_adx,
    calculate_volume_price, backtest_volume_strategy
)

# 计算 MA
ma_data = calculate_ma(code="300308", periods=[5, 10, 20, 60])

# 计算 MACD
macd_data = calculate_macd(code="300308")

# 计算 RSI
rsi_data = calculate_rsi(code="300308", period=14)

# 计算 KDJ
kdj_data = calculate_kdj(code="300308")

# 计算布林带
boll_data = calculate_boll(code="300308")

# 计算 ADX
adx_data = calculate_adx(code="300308")

# 计算 OBV
obv_data = calculate_obv(code="300308")

# 计算 CCI
cci_data = calculate_cci(code="300308")

# 量价关系分析 (8 种形态)
vp_data = calculate_volume_price(code="300308")
print(f"基础形态:{vp_data['basic_pattern']['pattern']}")
print(f"量比:{vp_data['volume_ratio']}")
print(f"综合评分:{vp_data['comprehensive_score']}")
print(f"操作建议:{vp_data['recommendation']}")

多指标共振分析

from technical_indicators import (
    get_resonance_signals,
    backtest_resonance,
    scan_resonance_market
)

# 获取单只股票的共振信号
resonance = get_resonance_signals(code="300308")
print(f"信号总数:{resonance['summary']['total_signals']}")
print(f"建议操作:{resonance['summary']['recommendation']}")

# 回测共振策略
backtest = backtest_resonance(code="300308", start_date="20240101", end_date="20250313")
print(f"胜率:{backtest['win_rate']}%")
print(f"总收益:{backtest['total_return']}%")

# 扫描市场中的共振信号 (批量)
code_list = ["300308", "000001", "600519", "000858"]
signals = scan_resonance_market(code_list, min_strength=60)
for sig in signals:
    print(f"{sig['code']}: {sig['signal_type']} (强度:{sig['strength']})")

量价策略回测

# 回测放量上涨策略
backtest = backtest_volume_strategy(
    code="300308",
    start_date="20240101",
    end_date="20250313",
    strategy="放量上涨",
    hold_days=5
)
print(f"胜率:{backtest['win_rate']}%")
print(f"总收益:{backtest['total_return']}%")

高级用法:自定义配置

from resonance_analysis import ResonanceAnalyzer

# 自定义配置
config = {
    "trend": {"adx_threshold": 30, "weight": 1.2},
    "momentum": {"rsi_oversold": 25, "rsi_overbought": 75},
    "volume_price": {"volume_ratio_threshold": 2.0},
    "all_indicators": {"min_categories": 4}
}

analyzer = ResonanceAnalyzer(config=config)
signals = analyzer.analyze_resonance("300308")

安装依赖

pip install akshare pandas numpy

数据源

  • AkShare (主数据源)
  • 东方财富 API

文件结构

technical-indicators/
├── SKILL.md                      # 技能文档
├── technical_indicators.py       # 主模块 (基础指标计算)
├── resonance_analysis.py         # 共振分析模块 (新增)
├── volume_price_analysis.py      # 量价关系分析模块 (8 种形态)
└── skill.json                    # 技能配置

API 参考

基础指标函数

函数 参数 返回值
calculate_ma code, periods MA 值字典
calculate_macd code, fast, slow, signal MACD 字典
calculate_kdj code, n, m1, m2 KDJ 字典
calculate_rsi code, period RSI 字典
calculate_boll code, period, std_dev 布林带字典
calculate_atr code, period ATR 字典
calculate_obv code OBV 字典
calculate_cci code, period CCI 字典
calculate_adx code, period ADX 字典
calculate_volume_price code, lookback 量价分析报告
backtest_volume_strategy code, start_date, end_date, strategy, hold_days 回测结果

共振分析函数

函数 参数 返回值
get_resonance_signals code, date 共振信号字典
backtest_resonance code, start_date, end_date 回测结果字典
scan_resonance_market code_list, min_strength 信号列表

注意事项

  • 实时行情有 15 分钟延迟
  • 建议添加缓存机制
  • 回测结果仅供参考,不构成投资建议
  • 共振信号需结合基本面和市场环境综合判断

验收标准

技术指标

  • 5+ 指标组合 (MA, MACD, ADX, KDJ, RSI, CCI, OBV, BOLL, ATR)
  • 自动共振识别 (5 种共振类型)
  • 信号强度评分 (0-100)
  • 回测胜率>55% (需根据实际市场验证)

量价关系分析 (新增)

  • 基础量价 4 形态 (放量上涨、缩量上涨、放量下跌、缩量下跌)
  • 高级量价 4 形态 (量价背离、天量天价、地量地价、堆量上涨)
  • 量比计算 (今日/5 日平均)
  • 综合评分与操作建议
  • 策略回测功能

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs