量化分析 API 提供专业的量化投资工具,支持技术指标计算、因子选股、行情数据查询和策略回测。
接口列表
| 接口 | 方法 | 描述 |
|---|
/v1/quant/indicators | GET | 获取可用技术指标列表 |
/v1/quant/indicators/compute | POST | 计算技术指标数据 |
/v1/quant/factors | GET | 获取可用因子列表 |
/v1/quant/factors/compute | POST | 计算因子数据 |
/v1/quant/factors/screen | POST | 因子选股筛选 |
/v1/quant/quotes/ohlcv | GET | 获取单只股票 OHLCV 数据 |
/v1/quant/quotes/ohlcv/batch | POST | 批量获取 OHLCV 数据 |
/v1/quant/backtest | POST | 策略回测 |
公式语法
量化 API 使用类似通达信/同花顺的 Mai 语言公式语法。
支持的变量
| 变量 | 别名 | 描述 |
|---|
CLOSE | C | 收盘价 |
OPEN | O | 开盘价 |
HIGH | H | 最高价 |
LOW | L | 最低价 |
VOLUME | V, VOL | 成交量 |
支持的运算符
| 类型 | 运算符 | 示例 |
|---|
| 比较 | >, <, >=, <=, ==, != | CLOSE > MA(CLOSE, 20) |
| 逻辑与 | & | (RSI(14) < 30) & (CLOSE > MA(CLOSE, 20)) |
| 逻辑或 | | | (RSI(14) < 30) | (RSI(14) > 70) |
| 算术 | +, -, *, / | (CLOSE - MA(CLOSE, 20)) / MA(CLOSE, 20) * 100 |
支持的函数
Level 0 - 基础函数 (TongDaXin 风格: col 在前, n 在后)
| 函数 | 描述 | 示例 |
|---|
MA(X, N) | N 日简单移动平均 | MA(CLOSE, 20) |
EMA(X, N) | N 日指数移动平均 | EMA(CLOSE, 12) |
SMA(X, N, M) | 平滑移动平均 | SMA(CLOSE, 9, 1) |
REF(X, N) | 引用 N 天前的值 | REF(CLOSE, 1) |
HHV(X, N) | N 周期最高值 | HHV(HIGH, 20) |
LLV(X, N) | N 周期最低值 | LLV(LOW, 20) |
STD(X, N) | N 周期标准差 | STD(CLOSE, 20) |
SUM(X, N) | N 周期求和 | SUM(VOLUME, 5) |
ABS(X) | 绝对值 | ABS(CLOSE - OPEN) |
MAX(X, Y) | 取最大值 | MAX(CLOSE, OPEN) |
MIN(X, Y) | 取最小值 | MIN(CLOSE, OPEN) |
IF(C, A, B) | 条件选择 | IF(CLOSE > OPEN, 1, 0) |
| 函数 | 描述 | 示例 |
|---|
CROSS(A, B) | A 上穿 B | CROSS(MA(CLOSE, 5), MA(CLOSE, 10)) |
CROSSDOWN(A, B) | A 下穿 B | CROSSDOWN(MA(CLOSE, 5), MA(CLOSE, 10)) |
COUNT(X, N) | N 周期内满足条件的天数 | COUNT(CLOSE > OPEN, 10) |
EVERY(X, N) | N 周期内全部满足条件 | EVERY(CLOSE > MA(CLOSE, 20), 5) |
EXIST(X, N) | N 周期内存在满足条件 | EXIST(CLOSE > HHV(HIGH, 60), 5) |
BARSLAST(X) | 上次满足条件到现在的周期数 | BARSLAST(CROSS(MA(CLOSE, 5), MA(CLOSE, 10))) |
| 函数 | 描述 | 返回字段 |
|---|
RSI(N) | 相对强弱指数 | rsi |
MACD(S, L, M) | MACD 指标 | dif, dea, macd |
KDJ(N, M1, M2) | KDJ 随机指标 | k, d, j |
BOLL(N, P) | 布林带 | upper, mid, lower |
WR(N) | 威廉指标 | wr |
ATR(N) | 平均真实波幅 | atr |
CCI(N) | 商品通道指数 | cci |
BIAS(N) | 乖离率 | bias |
PSY(N) | 心理线 | psy |
DMI(N, M) | 趋向指标 | pdi, mdi, adx, adxr |
OBV() | 能量潮 | obv |
财务报表(通过 . 访问字段):| 报表 | 描述 | 示例 |
|---|
INCOME | 利润表 | INCOME.net_profit |
BALANCESHEET | 资产负债表 | BALANCESHEET.total_assets |
CASHFLOW | 现金流量表 | CASHFLOW.operating_cashflow |
估值因子:| 因子 | 描述 |
|---|
PE(), PE_TTM() | 市盈率 |
PB() | 市净率 |
PS() | 市销率 |
PEG() | PEG 比率 |
盈利能力:| 因子 | 描述 |
|---|
ROE() | 净资产收益率 |
ROA() | 总资产收益率 |
GPM() | 毛利率 |
NPM() | 净利率 |
成长能力:| 因子 | 描述 |
|---|
REVENUE_GROWTH_RATE() | 营收增长率 |
NET_PROFIT_GROWTH_RATE() | 净利润增长率 |
EPS_GROWTH_RATE() | EPS 增长率 |
每股指标:
股票代码格式
| 市场 | market 参数 | 股票代码示例 |
|---|
| A 股 | cn | 000001, 600519, 688001 |
| 港股 | hk | 00700, 09988 |
| 美股 | us | AAPL, TSLA, NVDA |
市场参数默认为 cn(A 股市场)。股票代码不需要带市场前缀,通过 market 参数指定市场。
公式示例
技术面公式
# RSI 超卖
"RSI(14) < 30"
# 金叉
"CROSS(MA(CLOSE, 5), MA(CLOSE, 10))"
# MACD DIF 线
"MACD().dif"
# 收盘价偏离 20 日均线的百分比
"(CLOSE - MA(CLOSE, 20)) / MA(CLOSE, 20) * 100"
# RSI 超卖且价格在 20 日均线上方
"(RSI(14) < 30) & (CLOSE > MA(CLOSE, 20))"
# 价格突破布林带上轨
"CLOSE > BOLL(20, 2).upper"
# 多头排列:5日线 > 10日线 > 20日线
"(MA(CLOSE, 5) > MA(CLOSE, 10)) & (MA(CLOSE, 10) > MA(CLOSE, 20))"
基本面公式
# 低市盈率
"PE() < 15"
# 市盈率(TTM)低于 20
"PE_TTM() < 20"
# 高 ROE
"ROE() > 0.15"
# 价值 + 质量
"(PE() < 20) & (ROE() > 0.1)"
# 多因子价值筛选
"(PE_TTM() < 15) & (PB() < 2) & (ROE() > 0.12)"
# 营收增长率大于 20%
"REVENUE_GROWTH_RATE() > 0.2"
技术面 + 基本面组合
# 便宜 + 超卖
"(PE() < 20) & (RSI(14) < 40)"
# 质量 + 上涨趋势
"(ROE() > 0.12) & (CLOSE > MA(CLOSE, 20))"
# 价值 + 金叉
"(PB() < 1.5) & (CROSS(MA(CLOSE, 5), MA(CLOSE, 20)))"
回测策略公式
回测接口支持 entry_formula(买入公式)和 exit_formula(卖出公式):
{
"entry_formula": "CROSS(MA(CLOSE, 5), MA(CLOSE, 10))",
"exit_formula": "CROSS(MA(CLOSE, 10), MA(CLOSE, 5))",
"symbol": "000001",
"start_date": "2024-01-01",
"end_date": "2025-01-01",
"labels": {
"ma5": "MA(CLOSE, 5)",
"ma10": "MA(CLOSE, 10)",
"rsi": "RSI(14)"
}
}
| 参数 | 描述 |
|---|
entry_formula | 买入/开仓公式,结果 > 0 时触发买入 |
exit_formula | 卖出/平仓公式,结果 > 0 时触发卖出(可选) |
labels | 标签字典,用于返回每日额外的指标值(可选) |
labels 参数可以在回测时同时返回每日的指标计算值,方便分析:{
"labels": {
"ma5": "MA(CLOSE, 5)",
"ma10": "MA(CLOSE, 10)",
"rsi": "RSI(14)"
}
}
快速开始
获取指标列表
调用 GET /v1/quant/indicators 获取所有可用的技术指标定义
计算指标数据
调用 POST /v1/quant/indicators/compute 计算指定股票的指标数据
因子选股
调用 POST /v1/quant/factors/screen 筛选符合条件的股票
策略回测
调用 POST /v1/quant/backtest 验证策略历史表现
错误码
| 状态码 | 描述 |
|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 认证失败 |
| 422 | 参数验证失败 |
| 429 | 请求频率超限 |
| 500 | 服务器内部错误 |