## 提示

- `live-or-trading-module-only`
- `backtest-only`


## 原型

```python
get_KDJ(high, low, close, n=9, m1=3, m2=3)
```

## 释义

get_KDJ 是 PTrade 中用于随机指标的接口。

研究：不支持；回测：支持；模拟：官方目录未明确；实盘：支持。

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `high` | 是 | high |
| `low` | 是 | low |
| `close` | 是 | close |
| `n` | 否 | n=9 |
| `m1` | 否 | m1=3 |
| `m2` | 否 | m2=3 |

## 返回值

KDJ指标k值的时间序列, numpy.ndarray类型

KDJ指标d值的时间序列, numpy.ndarray类型

KDJ指标j值的时间序列, numpy.ndarray类型

## 示例

```python
def initialize(context):

g.security = "600570.XSHG"

set_universe(g.security)

def handle_data(context, data):

h = get_history(100, '1d', ['close','high','low'], security_list=g.security)

high_data = h['high'].values

low_data = h['low'].values

close_data = h['close'].values

k_data, d_data, j_data = get_KDJ(high_data, low_data, close_data, 9, 3, 3)

k = k_data[-1]

d = d_data[-1]

j = j_data[-1]
```

## 详细说明

get_KDJ(high, low, close, n=9, m1=3, m2=3)

### 使用场景

该函数仅在回测、交易模块可用

### 接口说明

获取KDJ指标的计算结果，KDJ指标（随机指标）是一种动量指标，主要用于识别金融资产（如股票、期货等）的超买超卖状态、潜在趋势转折点及价格波动强度。它由三条曲线组成：K线（快速线）、D线（慢速线）和J线（方向敏感线），通过价格波动的统计计算反映市场短期动能。

### 注意事项

无

### 参数详细说明

high：最高价的时间序列数据, numpy.ndarray类型；

low：最低价的时间序列数据, numpy.ndarray类型；

close：收盘价的时间序列数据, numpy.ndarray类型；

n: 周期参数，用来计算未成熟随机值（RSV）的周期长度（RSV是计算KDJ的过程变量），决定指标对价格波动的敏感度。周期越短（如N=5），指标反应越灵敏；周期越长（如N=14），信号越平滑但可能滞后。默认为9天, int类型；

m1: K值的平滑周期，对RSV进行指数移动平均（EMA）处理，进一步平滑K值曲线，默认为3天, int类型；

m2: D值的平滑周期，对RSV进行指数移动平均（EMA）处理，进一步平滑D值曲线，默认为3天, int类型；

### 返回值

KDJ指标k值的时间序列, numpy.ndarray类型

KDJ指标d值的时间序列, numpy.ndarray类型

KDJ指标j值的时间序列, numpy.ndarray类型
