技术指标详细计算公式1
2026-01-10 12:50 l_v_y_forever 阅读(41) 评论(0) 收藏 举报技术指标计算公式完全指南
概述
本文档整理了量化交易中常用的12个技术指标的详细计算公式、核心逻辑和应用方法。这些指标涵盖了趋势跟踪、动量振荡、成交量分析和波动率测量等多个维度,是构建交易系统的基础工具。
1. 平均真实波幅
基本概念
ATR衡量价格的波动剧烈程度,是风险管理的重要工具。
计算公式
1.1 真实波幅
对于周期t:
[ TR_t = \max(High_t - Low_t, |High_t - Close_{t-1}|, |Low_t - Close_{t-1}|) ]
1.2 平均真实波幅
使用递推平滑法(默认周期N=14):
-
初始值:前N个周期的TR简单平均值
[ ATR_N = \frac{1}{N} \sum_{i=1}^{N} TR_i ] -
后续值:
[ ATR_t = \frac{ATR_{t-1} \times (N-1) + TR_t}{N} ]
应用要点
- 风险管理:止损距离 = N倍 × ATR
- 仓位计算:仓位大小 = 风险金额 / (止损倍数 × ATR)
- 波动率判断:ATR上升表示波动加大,下降表示市场平静
2. 抛物线转向指标
基本概念
SAR是趋势跟踪指标,提供动态的止损反转信号。
计算公式
2.1 参数设置
- 加速因子AF初始值:0.02
- 加速因子极值:0.20
- EP:当前趋势开始以来的极点价格(上涨为最高价,下跌为最低价)
2.2 上涨趋势SAR
[ SAR_t = SAR_{t-1} + AF \times (EP - SAR_{t-1}) ]
限制条件:计算出的SAR_t ≤ 前两期最低价的最小值
2.3 下跌趋势SAR
[ SAR_t = SAR_{t-1} + AF \times (EP - SAR_{t-1}) ]
限制条件:计算出的SAR_t ≥ 前两期最高价的最大值
2.4 AF更新规则
- 上涨趋势:当价格创出新高时,AF = min(AF + 0.02, 0.20)
- 下跌趋势:当价格创出新低时,AF = min(AF + 0.02, 0.20)
应用要点
- 趋势判断:SAR在价格下方为上涨趋势,上方为下跌趋势
- 买卖信号:价格上穿SAR做多,下穿SAR做空
- 最佳环境:单边趋势行情,震荡市中效果差
3. 平均趋向指数
基本概念
ADX衡量趋势强度,不指示方向。
计算公式(N=14)
3.1 计算趋向移动
[ +DM_t = \max(High_t - High_{t-1}, 0) \quad (\text{仅当} +DM_t > -DM_t) ]
[ -DM_t = \max(Low_{t-1} - Low_t, 0) \quad (\text{仅当} -DM_t > +DM_t) ]
3.2 平滑TR、+DM、-DM
使用与ATR相同的递推平滑:
[ Smoothed_TR_t = \frac{Smoothed_TR_{t-1} \times 13 + TR_t}{14} ]
[ Smoothed_+DM_t = \frac{Smoothed_+DM_{t-1} \times 13 + +DM_t}{14} ]
[ Smoothed_-DM_t = \frac{Smoothed_-DM_{t-1} \times 13 + -DM_t}{14} ]
3.3 计算方向指标
[ +DI_t = \frac{Smoothed_+DM_t}{Smoothed_TR_t} \times 100 ]
[ -DI_t = \frac{Smoothed_-DM_t}{Smoothed_TR_t} \times 100 ]
3.4 计算趋向指数和ADX
[ DX_t = \frac{|+DI_t - -DI_t|}{|+DI_t + -DI_t|} \times 100 ]
[ ADX_t = \frac{ADX_{t-1} \times 13 + DX_t}{14} ]
应用要点
- 趋势强度:ADX > 25表示存在有效趋势
- 方向判断:+DI > -DI为多头,反之为空头
- 过滤功能:与趋势跟踪策略结合,过滤震荡行情
4. 成交量加权平均价
基本概念
VWAP代表日内成交的平均成本,是机构交易的执行基准。
计算公式
4.1 典型价格
[ TP_t = \frac{High_t + Low_t + Close_t}{3} ]
或
[ TP_t = \frac{High_t + Low_t}{2} ]
4.2 VWAP计算(累计方式)
对于第k个周期:
[ VWAP_k = \frac{\sum_{i=1}^{k} (TP_i \times Volume_i)}{\sum_{i=1}^{k} Volume_i} ]
应用要点
- 执行质量评估:成交均价低于VWAP为执行良好
- 动态支撑阻力:价格在VWAP之上为强势,之下为弱势
- 日内特性:每天重新计算,日线图VWAP意义不大
5. 布林带
基本概念
BOLL是基于统计学的价格通道,反映波动率和趋势。
计算公式(默认N=20, k=2)
5.1 中轨(中线)
[ MB_t = SMA(20)t = \frac{1}{20} \sum^{t} Close_i ]
5.2 标准差
[ \sigma_t = \sqrt{\frac{\sum_{i=t-19}^{t} (Close_i - MB_t)^2}{19}} ]
5.3 上轨和下轨
[ UP_t = MB_t + 2 \times \sigma_t ]
[ DN_t = MB_t - 2 \times \sigma_t ]
应用要点
- 波动率判断:通道收窄预示突破,扩张表示趋势运行
- 支撑阻力:在震荡市中,上下轨作为动态支撑阻力
- 趋势判断:价格沿上轨运行为强势上涨,沿下轨运行为强势下跌
6. 资金流量指数
基本概念
MFI是带成交量的RSI,衡量资金流入流出强度。
计算公式(N=14)
6.1 典型价格和原始资金流
[ TP_t = \frac{High_t + Low_t + Close_t}{3} ]
[ RawMF_t = TP_t \times Volume_t ]
6.2 区分正负资金流
- 如果TP_t > TP_{t-1},计入正资金流
- 如果TP_t < TP_{t-1},计入负资金流
6.3 计算N期总和
[ PositiveMF = \sum_{i=t-N+1}^{t} RawMF_i \quad (当TP_i > TP_{i-1}) ]
[ NegativeMF = \sum_{i=t-N+1}^{t} RawMF_i \quad (当TP_i < TP_{i-1}) ]
6.4 计算MFI
[ MFR = \frac{PositiveMF}{NegativeMF} ]
[ MFI = 100 - \frac{100}{1 + MFR} ]
应用要点
- 超买超卖:MFI > 80超买,< 20超卖
- 背离信号:价格新高而MFI未新高,是顶部信号
- 量价结合:比RSI更能反映真实的资金动向
7. 量价曲线
基本概念
VPT是累积型指标,反映成交量对价格趋势的确认程度。
计算公式
[ VPT_t = VPT_{t-1} + Volume_t \times \frac{Close_t - Close_{t-1}}{Close_{t-1}} ]
初始值通常设为0。
应用要点
- 趋势确认:VPT与价格同向为健康趋势
- 背离分析:价格新高而VPT未新高,预示趋势衰竭
- 长期指标:适合中长期分析,对短期噪音不敏感
8. 成交量比率
基本概念
VR衡量多空成交量对比,反映市场情绪。
计算公式(N=26)
8.1 成交量分类
- AV(上涨成交量):收盘价 > 前收盘价
- BV(下跌成交量):收盘价 < 前收盘价
- CV(持平成交量):收盘价 = 前收盘价
8.2 计算N期总和
[ AV_sum = \sum_{i=t-N+1}^{t} Volume_{Up_i} ]
[ BV_sum = \sum_{i=t-N+1}^{t} Volume_{Down_i} ]
[ CV_sum = \sum_{i=t-N+1}^{t} Volume_{Even_i} ]
8.3 计算VR
[ VR = \frac{AV_sum + 0.5 \times CV_sum}{BV_sum + 0.5 \times CV_sum} \times 100 ]
应用要点
- 情绪指标:VR > 150市场狂热,< 70市场悲观
- 转折点:VR从极端值回落是反转信号
- 多空力量:反映市场内部买卖力量的对比
9. 指数平滑异同移动平均线
基本概念
MACD是趋势动量指标,基于EMA的离差分析。
计算公式(12, 26, 9)
9.1 计算EMA
[ EMA(12)t = EMA(12) \times \frac{11}{13} + Close_t \times \frac{2}{13} ]
[ EMA(26)t = EMA(26) \times \frac{25}{27} + Close_t \times \frac{2}{27} ]
9.2 计算DIF和DEA
[ DIF_t = EMA(12)_t - EMA(26)_t ]
[ DEA_t = EMA(DIF, 9)t = DEA \times \frac{8}{10} + DIF_t \times \frac{2}{10} ]
9.3 计算柱状图
[ MACD_Histogram_t = DIF_t - DEA_t ]
应用要点
- 多空分界:DIF > 0为多头,< 0为空头
- 金叉死叉:DIF上穿DEA为金叉,反之为死叉
- 背离分析:价格与MACD背离是强烈反转信号
10. 随机指标
基本概念
KDJ是超买超卖指标,基于价格在周期内的相对位置。
计算公式(9, 3, 3)
10.1 计算RSV
[ RSV_t = \frac{Close_t - LL_9}{HH_9 - LL_9} \times 100 ]
其中LL_9为9日最低价,HH_9为9日最高价。
10.2 主流的EMA平滑法
[ K_t = \frac{2}{3} \times K_{t-1} + \frac{1}{3} \times RSV_t ]
[ D_t = \frac{2}{3} \times D_{t-1} + \frac{1}{3} \times K_t ]
初始值通常设为50。
10.3 替代的SMA平滑法
[ K_t = \frac{RSV_t + RSV_{t-1} + RSV_{t-2}}{3} ]
[ D_t = \frac{K_t + K_{t-1} + K_{t-2}}{3} ]
10.4 计算J值
[ J_t = 3 \times K_t - 2 \times D_t ]
应用要点
- 超买超卖:K/D > 80超买,< 20超卖
- 交叉信号:K上穿D为金叉,反之为死叉
- J线极端:J > 100极度超买,J < 0极度超卖
11. 相对强弱指数
基本概念
RSI衡量多空力量对比,是经典动量振荡器。
计算公式(N=14)
11.1 计算涨跌幅
[ U_t = \max(Close_t - Close_{t-1}, 0) ]
[ D_t = \max(Close_{t-1} - Close_t, 0) ]
11.2 主流的怀尔德递推平滑法
初始值:前14日简单平均
[ AU_{14} = \frac{1}{14} \sum_{i=1}^{14} U_i ]
[ AD_{14} = \frac{1}{14} \sum_{i=1}^{14} D_i ]
递推公式:
[ AU_t = \frac{AU_{t-1} \times 13 + U_t}{14} ]
[ AD_t = \frac{AD_{t-1} \times 13 + D_t}{14} ]
11.3 替代的SMA方法
[ AU_t = \frac{1}{14} \sum_{i=t-13}^{t} U_i ]
[ AD_t = \frac{1}{14} \sum_{i=t-13}^{t} D_i ]
11.4 计算RSI
[ RS = \frac{AU_t}{AD_t} ]
[ RSI_t = 100 - \frac{100}{1 + RS} = \frac{AU_t}{AU_t + AD_t} \times 100 ]
应用要点
- 超买超卖:RSI > 70超买,< 30超卖
- 背离信号:价格与RSI背离是重要反转信号
- 中轴分界:RSI > 50多头占优,< 50空头占优
12. EMA与SMA的区别
基本概念
EMA和SMA是两种不同的移动平均计算方法。
计算公式
12.1 简单移动平均
[ SMA_t(N) = \frac{1}{N} \sum_{i=t-N+1}^{t} P_i ]
12.2 指数移动平均
平滑因子:(\alpha = \frac{2}{N+1})
[ EMA_t = \alpha \times P_t + (1-\alpha) \times EMA_{t-1} ]
初始值通常用第一个SMA或第一个收盘价。
权重分布对比
| 数据类型 | SMA权重 | EMA权重 |
|---|---|---|
| 今日数据 | 1/N | α |
| 昨日数据 | 1/N | α(1-α) |
| N日前数据 | 1/N | α(1-α)^N |
| 所有权重 | 相等 | 指数衰减 |
应用选择
-
SMA适用场景:
- 长期趋势判断(如200日SMA)
- 重要支撑阻力位
- 需要稳定信号的环境
- 波动较大的市场
-
EMA适用场景:
- 短期交易信号
- 趋势跟踪策略
- 动态止损设置
- 衍生指标计算(如MACD)
综合应用框架
指标组合策略
趋势跟踪系统
入场条件:
1. ADX > 25(确认趋势存在)
2. SAR发出买入信号(价格上穿SAR)
3. 价格在VWAP之上(日内强势)
风险管理:
1. 止损:入场价 - 2×ATR
2. 仓位:风险金额 / (2×ATR)
出场条件:
1. 价格跌破SAR
2. ADX < 20(趋势结束)
震荡交易系统
入场条件:
1. ADX < 20(震荡市场)
2. RSI < 30(超卖)或 KDJ < 20
3. 价格触及布林带下轨
出场条件:
1. RSI > 70(超买)或 KDJ > 80
2. 价格触及布林带上轨
量价确认系统
趋势确认:
1. 价格上涨时,MFI > 50
2. VPT曲线同步上升
3. VR > 100(多方占优)
背离预警:
1. 价格新高,但MFI/RSI未新高
2. 价格新高,但VPT未新高
计算注意事项
初始值处理
- ATR/ADX/RSI:使用前N期的简单平均值作为初始值
- KDJ/MACD:通常设初始值为50或使用第一个计算值
- SAR:需要回溯价格确定初始趋势
周期选择
- 短期:5-15周期,适合日内交易
- 中期:20-50周期,适合波段交易
- 长期:100-200周期,适合趋势判断
参数优化
- 市场适应性:不同品种、不同市场环境需要不同参数
- 稳定性测试:参数应在不同时间段保持稳定
- 过拟合风险:避免过度优化参数
常见误区
- 单独使用指标:任何单一指标都有局限性,需组合使用
- 忽略市场环境:趋势指标在震荡市失效,震荡指标在趋势市失效
- 过度优化:参数优化要适度,保持策略的鲁棒性
- 忽略成交量:价格分析必须结合成交量验证
总结
技术指标是量化交易的重要工具,但必须理解其计算逻辑和适用条件。有效的交易系统需要:
- 多维度验证:结合趋势、动量、成交量、波动率多个维度
- 适应性判断:根据市场状态选择适当的指标组合
- 严格风控:基于ATR等波动率指标进行科学的风险管理
- 持续优化:根据市场变化调整参数和策略
记住:指标是工具,不是预测水晶球。成功的交易来自对市场行为的深刻理解、严格的纪律和科学的风险管理。
文档版本:1.0
更新日期:2026年01月10日
适用对象:量化交易者、技术分析师、金融专业学生
免责声明:本文档仅供学习参考,不构成投资建议。金融市场有风险,投资需谨慎。
浙公网安备 33010602011771号