TATrend
TA.KAMA() - 考夫曼自适应移动平均线
Kaufman Adaptive Moving Average (KAMA) 考夫曼自适应移动平均线,根据市场波动自动调整响应速度。
语法
python
TA.KAMA(data)
TA.KAMA(data, timeperiod=30)参数
| 参数 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| data | array | 价格数据 | - |
| timeperiod | int | 计算周期 | 30 |
返回值
返回KAMA数组。
计算方法
plaintext
1. 效率比率(ER) = |Price - Price[N]| / Σ|Price[i] - Price[i-1]|
2. 快速平滑常数: SC_fast = 2/(2+1) = 0.6667
3. 慢速平滑常数: SC_slow = 2/(30+1) = 0.0645
4. 平滑常数(SC) = [ER × (SC_fast - SC_slow) + SC_slow]²
5. KAMA = KAMA[-1] + SC × (Price - KAMA[-1])核心思想:趋势明确时响应快(类似EMA),震荡时响应慢(类似SMA)。
特点
- 自适应性:根据市场状态调整
- 智能平滑:趋势中快速跟踪,震荡中平滑过滤
- 减少假信号:在震荡市中表现优于传统MA
- 计算复杂:比普通MA复杂
基础示例
python
def main():
records = exchange.GetRecords()
if len(records) < 50:
return
closes = [r['Close'] for r in records]
kama = TA.KAMA(closes, 30)
price = closes[-1]
# KAMA方向
if kama[-1] > kama[-2]:
direction = "上升"
elif kama[-1] < kama[-2]:
direction = "下降"
else:
direction = "横盘"
Log(f"KAMA趋势: {direction}")
# 价格与KAMA关系
if price > kama[-1]:
Log("价格在KAMA上方")
else:
Log("价格在KAMA下方")高级应用
KAMA趋势跟踪策略
python
def kama_trend_strategy():
records = exchange.GetRecords()
closes = [r['Close'] for r in records]
kama = TA.KAMA(closes, 30)
atr = TA.ATR(records, 14)
price = closes[-1]
# 突破KAMA做多
if price > kama[-1] and closes[-2] <= kama[-2]:
stop_loss = price - 2 * atr[-1]
exchange.Buy(-1, 1)
Log(f"突破KAMA做多,止损: {stop_loss}")
# 跌破KAMA做空
elif price < kama[-1] and closes[-2] >= kama[-2]:
stop_loss = price + 2 * atr[-1]
exchange.Sell(-1, 1)
Log(f"跌破KAMA做空,止损: {stop_loss}")KAMA + ADX组合
python
def kama_adx_combo():
records = exchange.GetRecords()
closes = [r['Close'] for r in records]
highs = [r['High'] for r in records]
lows = [r['Low'] for r in records]
kama = TA.KAMA(closes, 30)
adx = TA.ADX(highs, lows, closes, 14)
price = closes[-1]
# 趋势强度确认
strong_trend = adx[-1] > 25
if strong_trend:
# 趋势市场中使用KAMA
if price > kama[-1] and kama[-1] > kama[-2]:
exchange.Buy(-1, 1)
Log("强趋势+KAMA上行,做多")
elif price < kama[-1] and kama[-1] < kama[-2]:
exchange.Sell(-1, 1)
Log("强趋势+KAMA下行,做空")
else:
Log("趋势不明确,等待")参数优化
| 场景 | 周期 | 说明 |
|---|---|---|
| 短期 | 10-20 | 快速响应 |
| 中期 | 20-40 | 平衡 |
| 长期 | 40-60 | 平滑跟踪 |
优势
- 自适应:市场状态变化时自动调整
- 减少假信号:震荡市中不频繁交易
- 趋势捕捉:趋势明确时快速跟进
- 适用性广:各类市场都有较好表现
注意事项
- 参数调优较复杂
- 计算量大于传统MA
- 仍需配合其他指标确认
- 强趋势市中可能不如TEMA快
实战技巧
- 与ADX配合判断趋势强度
- 突破KAMA后等待回踩确认
- 止损设在KAMA下方1-2个ATR
- 建议在日线级别以上使用