Install
openclaw skills install technical-indicators计算A股常用技术指标和量价形态,支持多指标共振分析并提供信号强度评分和策略回测功能。
openclaw skills install technical-indicators提供常用技术指标的计算功能,支持 A 股股票。包含多指标共振分析模块,可自动识别多指标共振信号。
量比 = 今日成交量 / 近 5 日平均成交量
- >3: 异常放量
- >2: 放量
- 0.5-2: 正常
- <0.5: 缩量
- <0.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
technical-indicators/
├── SKILL.md # 技能文档
├── technical_indicators.py # 主模块 (基础指标计算)
├── resonance_analysis.py # 共振分析模块 (新增)
├── volume_price_analysis.py # 量价关系分析模块 (8 种形态)
└── skill.json # 技能配置
| 函数 | 参数 | 返回值 |
|---|---|---|
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 | 信号列表 |