本文档整合了5个经典技术分析策略,基于量化因子框架实现,为技术交易者提供系统性的量化交易解决方案。
| 序号 | 策略名称 | 核心指标 | 主要作用 | 可实现性 |
|---|---|---|---|---|
| 1 | MACD交易策略 | MACD指标 | 趋势识别与买卖信号 | ✅ 完全可实现 |
| 2 | SAR交易策略 | 抛物线转向指标 | 趋势跟踪与反转识别 | ✅ 完全可实现 |
| 3 | 加速震荡策略 | Accelerator Oscillator (AC) | 趋势加速确认 | ✅ 完全可实现 |
| 4 | PSY交易策略 | 心理线指标 | 市场情绪判断 | ✅ 完全可实现 |
| 5 | SMA移动均线策略 | 简单移动平均线 | 趋势方向判断 | ✅ 完全可实现 |
利用MACD指标的金叉死叉信号进行趋势交易,结合柱状图变化判断趋势强度。
EMA12: 12日指数移动平均
EMA26: 26日指数移动平均
MACD = EMA12 - EMA26
Signal = 9日EMA(MACD)
Histogram = MACD - Signal
- 买入: MACD上穿Signal线且Histogram由负转正
- 卖出: MACD下穿Signal线且Histogram由正转负
- 趋势确认: Histogram持续放大表示趋势加强
- ✅ 数据需求:收盘价(TechnicalFactorData已支持)
- ✅ 计算基础:需新增EMA计算器
- ✅ 调仓频率:日频
抛物线转向指标,用于跟踪趋势并识别反转点。
AF = 加速因子 (0.02→0.2)
EP = 极值点 (最高价/最低价)
SAR = 昨日SAR + AF × (EP - 昨日SAR)
- 买入: SAR从上方下穿价格
- 卖出: SAR从下方上穿价格
- 趋势跟踪: SAR在价格下方=上升趋势,上方=下降趋势
- ✅ 数据需求:OHLC数据(TechnicalFactorData已支持)
- ✅ 计算特点:需要极值点跟踪算法
- ✅ 调仓频率:日频
Bill Williams提出,通过AC指标判断趋势加速情况,比AO更敏感。
MP = (High + Low) / 2
AO = SMA(MP, 5) - SMA(MP, 20)
AC = AO - SMA(AO, 5)
- 买入: AC值自下而上穿越零轴
- 卖出: AC值自上而下下穿零轴
- 趋势强度: AC值远离零轴表示趋势强劲
- ✅ 数据需求:OHLC数据(TechnicalFactorData已支持)
- ✅ 计算基础:复用现有SMA计算逻辑
- ✅ 调仓频率:日频
心理线指标,统计N日内上涨天数比例判断市场情绪。
PSY = N日内上涨天数 / N × 100%
标准参数:N=12日
- 买入: PSY < 25%(超卖区域)
- 卖出: PSY > 75%(超买区域)
- 中性: 25% ≤ PSY ≤ 75%
- ✅ 数据需求:收盘价序列(TechnicalFactorData已支持)
- ✅ 计算基础:简单计数逻辑
- ✅ 调仓频率:日频
简单移动平均线交叉策略,识别趋势转换。
SMA(n) = ΣP_i / n (i=1到n)
常用组合:SMA(5)/SMA(20)交叉
- 买入: 短期SMA上穿长期SMA(金叉)
- 卖出: 短期SMA下穿长期SMA(死叉)
- 趋势确认: 价格在SMA上方=多头趋势,下方=空头趋势
- ✅ 数据需求:收盘价(TechnicalFactorData已支持)
- ✅ 计算基础:MovingAverageCrossoverCalculator已实现
- ✅ 调仓频率:日频
public interface TechnicalStrategy {
TradeSignal generateSignal(List<TechnicalFactorData> dataList);
String getStrategyName();
int getMinDataLength();
}@Component
public class TechnicalStrategyFactory {
@Autowired
private List<TechnicalStrategy> strategies;
public TechnicalStrategy getStrategy(String name) {
return strategies.stream()
.filter(s -> s.getStrategyName().equalsIgnoreCase(name))
.findFirst()
.orElse(null);
}
}- 个股止损: 亏损7-8%时卖出
- 大盘保护: 连续下跌触发清仓
- 仓位管理: 单只股票不超过5%
- 行业分散: 同行业不超过20%
SMA移动均线: 30%
PSY心理线: 25%
MACD: 25%
SAR: 20%
加速震荡(AC): 25%
MACD: 25%
SMA: 20%
PSY: 15%
SAR: 15%
加速震荡(AC): 35%
SAR: 25%
MACD: 20%
PSY: 10%
SMA: 10%
| 策略 | 当前状态 | 所需工作 | 时间预估 |
|---|---|---|---|
| SMA移动均线 | ✅ 已实现 | 直接使用 | 0天 |
| PSY心理线 | ✅ 可实现 | 新增计算器类 | 1天 |
| MACD | 新增EMA计算器 | 2天 | |
| SAR | 新增SAR计算器 | 2天 | |
| 加速震荡(AC) | ✅ 可实现 | 复用SMA逻辑 | 1天 |
总计: 6天内可完成全部5个技术指标策略的完整实现
文档版本:v1.0 最后更新:2026-03-01 适用范围:A股市场技术分析策略