- 01_基础理论:量化交易基础概念、市场微观结构、加密货币特殊性 - 02_技术指标:完整指标体系(MA/EMA/MACD/RSI/KDJ/布林带/SuperTrend/DMI等) - 03_交易策略:趋势跟踪、均值回归、套利、动量策略详解 - 04_交易信号系统:多指标共振评分引擎(基于 tradehk 项目) - 05_市场品种:加密货币、XAUT黄金代币、代币化美股全览 - 06_数据流程:数据采集、清洗、存储、实时流处理 - 07_回测框架:回测方法论、偏差规避、绩效评估指标 - 08_风险管理:仓位管理、止损止盈、Kelly公式、杠杆管理 - 09_AI与机器学习:深度学习、强化学习、LLM在量化投资中的应用 - 10_链上数据分析:SOPR/MVRV/巨鲸监控/衍生品数据 - 11_参考文献:arXiv论文汇总、开源项目、数据平台资源 - samples/:Python信号计算器和回测样本代码 参考项目:tradehk(ssh://git@git.hk.hao.work:2222/hao/tradehk.git) 全部中文化,适用于加密货币(CEX/DEX)、XAUT黄金、代币化美股
12 KiB
技术指标全集
本文档系统整理量化交易中常用的技术指标,涵盖趋势、动量、波动率、成交量四大类别,并结合 tradehk 项目的实际实现进行深度解析。所有公式均已验证,参数建议基于加密货币市场特性优化。
一、趋势类指标
1.1 简单移动均线(MA / SMA)
原理:对过去 N 个周期的收盘价取算术平均值,平滑价格噪音,识别趋势方向。
公式:
MA(N) = \frac{1}{N} \sum_{i=0}^{N-1} Close_{t-i}
tradehk 实现参数:MA10(短期)+ MA100(长期)
信号逻辑:
- 价格 > MA10 > MA100:多头排列,看涨
- 价格 < MA10 < MA100:空头排列,看跌
- MA10 上穿 MA100:金叉,买入信号
- MA10 下穿 MA100:死叉,卖出信号
加密货币适用性:MA 在趋势明显的牛市/熊市中效果显著,震荡市中产生大量假信号,需配合其他指标过滤。
1.2 指数移动均线(EMA)
原理:对近期数据赋予更高权重的移动均线,对价格变化反应更灵敏。
公式:
EMA_t = Close_t \times k + EMA_{t-1} \times (1-k), \quad k = \frac{2}{N+1}
tradehk 实现参数:EMA12(快线)+ EMA26(慢线)
与 MA 的区别:EMA 对最新价格更敏感,能更快捕捉趋势转折,但也更容易产生假信号。
1.3 超级趋势线(SuperTrend)
原理:基于 ATR(真实波动幅度)动态计算上下轨,当价格突破上轨转为看空,突破下轨转为看多。
公式:
ATR = RMA(TR, period)
上轨 = \frac{High + Low}{2} + multiplier \times ATR
下轨 = \frac{High + Low}{2} - multiplier \times ATR
tradehk 实现参数:period=10,multiplier=3
信号逻辑:
- 方向由 -1 变为 +1:趋势反转看多(权重 +2)
- 方向由 +1 变为 -1:趋势反转看空(权重 +2)
- 持续多头趋势中:看多(权重 +1)
- 持续空头趋势中:看空(权重 +1)
优势:SuperTrend 是趋势跟踪的利器,在单边行情中表现极佳,止损位动态跟随趋势,不会过早出局。
二、动量类指标
2.1 艾略特波浪振荡器(EWO)
原理:EWO = EMA(5) - EMA(35),衡量短期动量相对于中期趋势的偏离程度。
公式:
EWO = EMA(Close, 5) - EMA(Close, 35)
信号解读:
- EWO > 0(绿色):短期动量强于中期,多头动能
- EWO < 0(红色):短期动量弱于中期,空头动能
- EWO 由负转正:动量反转,潜在买入机会
- EWO 由正转负:动量衰减,潜在卖出机会
在 tradehk 大周期偏向判断中的权重:EWO 是最重要的指标,权重为 2(其他指标权重均为 1)。当 EWO < 0 时,大周期偏向空头;EWO > 0 时,大周期偏向多头。
2.2 MACD(指数平滑异同移动平均线)
原理:通过两条 EMA 的差值及其信号线,识别趋势变化和动量强弱。
标准参数(12, 26, 9):
MACD线 = EMA(12) - EMA(26)
信号线 = EMA(MACD线, 9)
柱状图 = MACD线 - 信号线
tradehk 特殊参数(10, 20, 10):针对加密货币短周期优化,反应更灵敏。
信号逻辑:
| 信号 | 条件 | 权重 |
|---|---|---|
| MACD 金叉 | MACD 线上穿信号线 | +2(看多) |
| MACD 死叉 | MACD 线下穿信号线 | +2(看空) |
| 柱状图扩大(正) | 柱状图 > 0 且增大 | +1(多头增强) |
| 柱状图扩大(负) | 柱状图 < 0 且减小 | +1(空头增强) |
背离信号:
- 顶背离:价格创新高,MACD 未创新高 → 上涨动能衰竭,看空
- 底背离:价格创新低,MACD 未创新低 → 下跌动能衰竭,看多
2.3 动量振荡器(AO,Awesome Oscillator)
原理:AO = SMA(中点价, 5) - SMA(中点价, 34),中点价 = (High + Low) / 2
公式:
AO = SMA\left(\frac{H+L}{2}, 5\right) - SMA\left(\frac{H+L}{2}, 34\right)
信号逻辑:
- AO 上穿零轴:动量由空转多(权重 +1)
- AO 下穿零轴:动量由多转空(权重 +1)
- 双峰形态(Saucer):连续两个正值柱,第二个更高 → 买入
- 碟形形态(Twin Peaks):两个负值低点,第二个更高 → 买入
2.4 相对强弱指数(RSI)
原理:通过比较一段时间内涨跌幅的平均值,衡量价格动量的强弱。
公式:
RS = \frac{平均涨幅}{平均跌幅}
RSI = 100 - \frac{100}{1 + RS}
tradehk 实现:使用 Wilder 平滑法(RMA),period=14
标准阈值:
- RSI > 70:超买区,价格可能回落
- RSI < 30:超卖区,价格可能反弹
- RSI 从超卖区回升(穿越 30):看多反转信号
- RSI 从超买区回落(穿越 70):看空反转信号
加密货币调整:由于加密货币波动性更大,部分交易者将阈值调整为 80/20,以减少假信号。
2.5 随机指标(Stochastic Oscillator)
原理:衡量当前收盘价在过去 N 个周期最高价和最低价范围内的相对位置。
公式:
\%K = \frac{Close - LL_N}{HH_N - LL_N} \times 100
\%D = SMA(\%K, 3)
tradehk 实现参数:kPeriod=14,dPeriod=3
信号逻辑:
- K、D 均低于 20:超卖区,看多
- K、D 均高于 80:超买区,看空
- K 上穿 D(低位金叉):买入信号
- K 下穿 D(高位死叉):卖出信号
2.6 随机 RSI(StochRSI)
原理:将 Stochastic 公式应用于 RSI 值,比 RSI 更敏感,更早发出信号。
公式:
StochRSI = \frac{RSI - \min(RSI, N)}{\max(RSI, N) - \min(RSI, N)}
tradehk 实现参数:rsiPeriod=14,stochPeriod=14,kSmooth=3,dSmooth=3
使用注意:StochRSI 比 RSI 更敏感,假信号更多,建议配合趋势指标使用。
2.7 KDJ 指标
原理:KDJ 是在随机指标基础上增加 J 线的改进版本,J 线放大了 K 和 D 的偏离程度。
公式:
K_t = \frac{2}{3} K_{t-1} + \frac{1}{3} RSV_t
D_t = \frac{2}{3} D_{t-1} + \frac{1}{3} K_t
J = 3K - 2D
tradehk 实现参数:period=9,kSmooth=3,dSmooth=3
信号逻辑:
| 信号 | 条件 | 权重 |
|---|---|---|
| 低位金叉 | K 上穿 D 且 K < 30 | +2(强看多) |
| 普通金叉 | K 上穿 D | +1(看多) |
| 高位死叉 | K 下穿 D 且 K > 70 | +2(强看空) |
| 普通死叉 | K 下穿 D | +1(看空) |
J 线特性:J 线超过 100 或低于 0 时,表示市场极度超买或超卖,往往预示反转。
三、波动率类指标
3.1 布林带(Bollinger Bands)
原理:以移动均线为中轨,上下各加减 N 倍标准差形成通道,衡量价格波动范围。
公式:
中轨 = MA(Close, 20)
上轨 = 中轨 + 2 \times \sigma_{20}
下轨 = 中轨 - 2 \times \sigma_{20}
tradehk 实现参数:period=20,multiplier=2
信号逻辑:
- 价格触及下轨:超卖反弹信号(权重 +1)
- 价格触及上轨:超买回落信号(权重 +1)
- 带宽极度收窄(< 2%):即将变盘警告
布林带收缩(Squeeze):当上下轨距离极小时,表明市场处于低波动整理阶段,即将爆发大行情。结合 TTM Squeeze 指标可更精确判断方向。
3.2 TTM Squeeze(挤压动量指标)
原理:结合布林带和 Keltner 通道,当布林带收缩在 Keltner 通道内时触发"挤压"状态,结合动量柱判断突破方向。
公式:
KC_{上} = EMA(Close, 20) + 1.5 \times ATR(20)
KC_{下} = EMA(Close, 20) - 1.5 \times ATR(20)
挤压状态 = BB_{上} < KC_{上} \text{ 且 } BB_{下} > KC_{下}
tradehk 实现参数:bbPeriod=20,kcPeriod=20
信号解读:
- 挤压状态(红点):市场蓄势待发
- 挤压释放(绿点):行情即将爆发
- 动量柱由负转正:看多突破
- 动量柱由正转负:看空突破
3.3 真实波动幅度(ATR)
原理:衡量市场波动性的指标,是 SuperTrend 等指标的基础。
公式:
TR = \max(H-L, |H-C_{prev}|, |L-C_{prev}|)
ATR = RMA(TR, N)
应用场景:
- 动态止损:止损位 = 入场价 - N × ATR(多头)
- 仓位管理:仓位大小与 ATR 成反比,波动大时减仓
- 过滤低波动期:ATR 过低时暂停交易
四、成交量类指标
4.1 能量潮(OBV,On-Balance Volume)
原理:累计成交量,价格上涨时加上成交量,价格下跌时减去成交量,反映资金流向。
公式:
OBV_t = \begin{cases} OBV_{t-1} + Volume_t & \text{if } Close_t > Close_{t-1} \\ OBV_{t-1} - Volume_t & \text{if } Close_t < Close_{t-1} \\ OBV_{t-1} & \text{if } Close_t = Close_{t-1} \end{cases}
信号解读:
- OBV 与价格同向上涨:趋势健康,资金持续流入
- OBV 背离价格(价格新高但 OBV 未新高):上涨动能不足,警惕回调
- OBV 突破前高:强烈看多信号
4.2 资金流量指数(MFI,Money Flow Index)
原理:结合价格和成交量的 RSI,衡量资金流入流出的强度。
公式:
典型价格 = \frac{H + L + C}{3}
资金流 = 典型价格 \times 成交量
MFI = 100 - \frac{100}{1 + \frac{正向资金流}{负向资金流}}
tradehk 实现参数:period=14
阈值:
- MFI > 80:资金大量流入,超买
- MFI < 20:资金大量流出,超卖
4.3 成交量收缩检测
tradehk 实现:检测最近 5 根 K 线的平均成交量是否低于前 5 根的 70%。
信号含义:成交量收缩通常意味着市场观望情绪浓厚,趋势可能即将反转或大行情即将爆发,需等待放量确认。
五、趋势强度类指标
5.1 趋向运动指数(DMI/ADX)
原理:DMI 通过计算 +DI(多头方向线)和 -DI(空头方向线)判断趋势方向,ADX 衡量趋势强度。
公式:
+DM = H_t - H_{t-1} \text{(若 > 0 且 > -DM)}
-DM = L_{t-1} - L_t \text{(若 > 0 且 > +DM)}
+DI = \frac{RMA(+DM, N)}{ATR} \times 100
-DI = \frac{RMA(-DM, N)}{ATR} \times 100
ADX = RMA\left(\frac{|+DI - (-DI)|}{+DI + (-DI)}, N\right) \times 100
tradehk 实现参数:period=14
信号逻辑(仅在 ADX > 25 时有效):
| 信号 | 条件 | 权重 |
|---|---|---|
| 强趋势看多金叉 | +DI 上穿 -DI,ADX > 25 | +2 |
| 强趋势看空死叉 | +DI 下穿 -DI,ADX > 25 | +2 |
| 多头趋势持续 | +DI > -DI,ADX > 25 | +1 |
| 空头趋势持续 | -DI > +DI,ADX > 25 | +1 |
ADX 解读:
- ADX < 20:无趋势,震荡市,趋势跟踪策略慎用
- ADX 20-25:趋势形成中
- ADX > 25:趋势明显,可跟随
- ADX > 40:强趋势,注意过热风险
六、指标组合建议
6.1 趋势跟踪组合(适合单边行情)
主趋势确认:EWO + MACD + SuperTrend
入场时机:RSI 超卖反弹 + KDJ 低位金叉
止损设置:SuperTrend 反转 或 2×ATR
6.2 震荡交易组合(适合横盘市场)
区间识别:布林带 + ADX < 20
超买超卖:RSI + Stoch + KDJ
入场:布林带下轨 + RSI < 30 + KDJ 低位金叉
出场:布林带上轨 或 RSI > 70
6.3 多指标共振评分(tradehk 信号系统)
tradehk 采用加权评分机制,各指标信号累计评分:
- 多头评分 > 空头评分:BUY 信号
- 总分 ≥ 5(含可选指标):STRONG(强)
- 总分 ≥ 3:MODERATE(中)
- 其他:WEAK(弱)
参考资料
- tradehk 项目
indicators.ts:完整指标实现代码 - Investopedia 技术指标百科:https://www.investopedia.com/terms/t/technicalanalysis.asp
- TradingView 指标文档:https://www.tradingview.com/scripts/