用途
Generating Trading Signals 是一个多指标信号生成系统,通过 7 种技术指标分析价格走势,生成带置信度评分的复合 BUY/SELL 信号,并提供风险管理水平(止损、止盈、风险回报比)。
主要能力
使用的指标包括:
- RSI(相对强弱指数)——超买/超卖
- MACD(移动平均收敛发散)——趋势与动量
- 布林带——均值回归与波动率
- 趋势(SMA 20/50/200 交叉)——趋势方向
- 成交量——走势确认
- 随机振荡指标——短期动量
- ADX(平均趋向指数)——趋势强度
信号类型与评分:
| 信号 | 评分 | 含义 |
|---|---|---|
| STRONG_BUY | +2 | 多个强买入信号一致 |
| BUY | +1 | 中等买入信号 |
| NEUTRAL | 0 | 无明确方向 |
| SELL | -1 | 中等卖出信号 |
| STRONG_SELL | -2 | 多个强卖出信号一致 |
置信度解读:
| 置信度 | 解读 |
|---|---|
| 70-100% | 高确信度,强信号 |
| 50-70% | 中等确信度 |
| 30-50% | 弱信号,指标混杂 |
| 0-30% | 无明确方向,避免交易 |
使用方式
前置依赖安装:
pip install yfinance pandas numpy
可选可视化:
pip install matplotlib
步骤 1:快速信号扫描
扫描多个资产寻找交易机会:
python {baseDir}/scripts/scanner.py --watchlist crypto_top10 --period 6m
输出显示每个资产的信号类型(STRONG_BUY/BUY/NEUTRAL/SELL/STRONG_SELL)和置信度。
步骤 2:详细信号分析
获取特定符号的完整指标分解:
python {baseDir}/scripts/scanner.py --symbols BTC-USD --detail
显示每个指标的贡献:单个信号(BUY/SELL/NEUTRAL)、指标值、推理(例如“RSI oversold at 28.5”)。
步骤 3:过滤和排序信号
寻找最佳机会:
# 仅显示置信度 70%+ 的买入信号
python {baseDir}/scripts/scanner.py --filter buy --min-confidence 70 --rank confidence
# 按最看涨排序
python {baseDir}/scripts/scanner.py --rank bullish
# 保存结果到 JSON
python {baseDir}/scripts/scanner.py --output signals.json
步骤 4:使用自定义自选列表
可用的预定义自选列表:
python {baseDir}/scripts/scanner.py --list-watchlists
python {baseDir}/scripts/scanner.py --watchlist crypto_defi
自选列表:crypto_top10、crypto_defi、crypto_layer2、stocks_tech、etfs_major
输出示例
信号汇总表:
================================================================================
SIGNAL SCANNER RESULTS
================================================================================
Symbol Signal Confidence Price Stop Loss
--------------------------------------------------------------------------------
BTC-USD STRONG_BUY 78.5% $67,234.00 $64,890.00
ETH-USD BUY 62.3% $3,456.00 $3,312.00
SOL-USD NEUTRAL 45.0% $142.50 N/A
--------------------------------------------------------------------------------
Summary: 2 Buy | 1 Neutral | 0 Sell
Scanned: 3 assets | [timestamp]
================================================================================
详细信号输出:
======================================================================
BTC-USD - STRONG_BUY
Confidence: 78.5% | Price: $67,234.00
======================================================================
Risk Management:
Stop Loss: $64,890.00
Take Profit: $71,922.00
Risk/Reward: 1:2.0
Signal Components:
----------------------------------------------------------------------
RSI | STRONG_BUY | Oversold at 28.5 (< 30)
MACD | BUY | MACD above signal, positive momentum
Bollinger Bands | BUY | Price near lower band (%B = 0.15)
Trend | BUY | Uptrend: price above key MAs
Volume | STRONG_BUY | High volume (2.3x) on up move
Stochastic | STRONG_BUY | Oversold (%K=18.2, %D=21.5)
ADX | BUY | Strong uptrend (ADX=32.1)
----------------------------------------------------------------------
配置
编辑 {baseDir}/config/settings.yaml:
indicators:
rsi:
period: 14
overbought: 70
oversold: 30
signals:
weights:
rsi: 1.0
macd: 1.0
bollinger: 1.0
trend: 1.0
volume: 0.5
错误处理
参见 {baseDir}/references/errors.md 了解常见问题:API 速率限制、数据不足处理、网络错误。
示例
参见 {baseDir}/references/examples.md 了解详细示例:多时间框架分析、自定义指标参数、与回测器结合、自动扫描计划。
与回测器集成
历史测试信号:
# 生成信号
python {baseDir}/scripts/scanner.py --symbols BTC-USD --detail
# 回测生成该信号的策略
python {baseDir}/../trading-strategy-backtester/skills/backtesting-trading-strategies/scripts/backtest.py \
--strategy rsi_reversal --symbol BTC-USD --period 1y
文件
| 文件 | 用途 |
|---|---|
| scripts/scanner.py | 主信号扫描器 |
| scripts/signals.py | 信号生成逻辑 |
| scripts/indicators.py | 技术指标计算 |
| config/settings.yaml | 配置 |
资源
- yfinance 用于价格数据
- pandas/numpy 用于计算
- 兼容 trading-strategy-backtester 插件
适用场景
适用于需要基于技术指标快速扫描多个资产、生成带置信度的交易信号并进行风险管理分析的场景,尤其适合加密货币和股票的技术分析。
限制
该技能依赖 yfinance 获取价格数据,可能受 API 速率限制影响;信号生成基于历史价格数据,不构成投资建议;具体收费、价格、平台支持等信息暂未提供。