PandaAI 因子编写与函数参考手册
  PandaAI官方 2025年04月14日 4594 4

量化算子工具类使用文档

本文档汇总介绍了量化算子工具类(公式版)中所有函数的功能、输入/输出说明以及使用示例。所有函数均以静态方式提供,调用时直接使用函数名称,无需添加类名前缀。
示例中均采用如下调用格式,例如:

# 返回 收盘价 序列 CLOSE
# 返回 CLOSE(收盘价) 和 VOLUME(成交量) 的20日滚动相关性系数 序列 CORRELATION(CLOSE, VOLUME, 20)
# 返回 收盘价、最高价、最低价三者的均值 序列 (CLOSE+HIGH+LOW)/3

基础因子

因子名 说明
CLOSE 收盘价
OPEN 开盘价
HIGH 最高价
LOW 最低价
VOLUME 成交量
AMOUNT 成交额
TURNOVER 换手率
MARKET_CAP 总市值

基础函数## 函数分类

1. 直接操作型函数 (X)

函数 说明 用法 例子
ABS(X) 求X的绝对值 返回X中每个元素的绝对值 ABS(CLOSE-OPEN)返回开盘收盘价差的绝对值
LOG(X) 对X逐个取自然对数 返回X的自然对数 LOG(CLOSE/OPEN)返回价格比率的对数
LOGABS(X) 对X的绝对值逐个取自然对数 返回ABS(X)的自然对数 LOGABS(RETURNS)返回收益率绝对值的对数
EXP(X) 对X逐个取e的指数 返回e^X EXP(LOG_RETURNS)返回对数收益率的指数
AS_FLOAT(X) 将X布尔值转换为0.0或1.0 布尔序列转数值序列 AS_FLOAT(CLOSE>OPEN)将上涨判断转为0/1
RD(X,N) 对X进行4舍5入处理 保留N位小数,默认2位 RD(PRICE,4)保留价格4位小数
SIGN(X) 返回X的正负号 正为1,负为-1,0为0 SIGN(RETURNS)返回收益率方向
SIN(X) 返回X的正弦值 输入为弧度 SIN(ANGLE)计算角度的正弦值
COS(X) 返回X的余弦值 输入为弧度 COS(ANGLE)计算角度的余弦值
TAN(X) 返回X的正切值 输入为弧度 TAN(ANGLE)计算角度的正切值
ARCSIN(X) 返回X的反正弦值 输入值范围[-1,1] ARCSIN(CORRELATION)计算相关系数的反正弦
ARCCOS(X) 返回X的反余弦值 输入值范围[-1,1] ARCCOS(CORRELATION)计算相关系数的反余弦
ARCTAN(X) 返回X的反正切值 返回弧度值 ARCTAN(SLOPE)计算斜率的反正切

2. 截面操作型函数 (X)

函数 说明 用法 例子
RANK(X) 求截面排序分位数 返回X序列的排名分位数,范围[0,1] RANK(CLOSE)返回收盘价的排名分位数
SCALE(X) 将X按截面最大最小值缩放到[-1,1] 截面标准化到[-1,1]区间 SCALE(VOLUME)将成交量标准化
ZSCORE(X) 将X按截面进行z-score标准化 截面标准化,均值0方差1 ZSCORE(PE_RATIO)标准化市盈率

3. 时序操作型函数 (X)

函数 说明 用法 例子
CONST(X) 返回X最后一个值组成的常数序列 用最后一个值填充整个序列 CONST(LAST_PRICE)用最后价格填充
BARSLAST(X) 返回X距离上一次为True已过去多少期 计算条件满足后的期数 BARSLAST(CLOSE>MA20)计算突破后期数
BARSLASTCOUNT(X) 统计连续满足X条件的周期数 连续True的计数 BARSLASTCOUNT(CLOSE>OPEN)连续上涨天数

4. 双参数直接操作型函数 (X,N)

函数 说明 用法 例子
POWER(X,N) 对X进行N次幂 返回X^N POWER(RETURNS,2)计算收益率平方
SIGNEDPOWER(X,N) 计算sign(X)*(abs(X)^N) 保号的幂运算 SIGNEDPOWER(RETURNS,2)保号平方

5. 时序操作型函数 (X,N)

函数 说明 用法 例子
REF(X,N) 返回X整体延后N期后的序列 向前引用N期数据 REF(CLOSE,1)返回前一日收盘价
DELAY(X,N) 返回X整体延后N期后的序列 等同于REF DELAY(VOLUME,5)返回5日前成交量
DIFF(X,N) 返回X与其前N期值之差 一阶差分,默认N=1 DIFF(CLOSE,1)返回价格变化
DELTA(X,N) 返回X与其前N期值之差 等同于DIFF DELTA(PRICE,1)价格变化量
MA(X,N) 返回X在过去N日的平均值 简单移动平均 MA(CLOSE,20)计算20日均价
TS_MEAN(X,N) 返回X在过去N日的平均值 等同于MA TS_MEAN(VOLUME,10)计算10日平均成交量
SUM(X,N) 返回X在过去N日的滚动求和 时序求和 SUM(VOLUME,5)计算5日成交量总和
PRODUCT(X,N) 返回X在过去N日的滚动乘积 时序乘积 PRODUCT(1+RETURNS,20)计算20日累计收益
ROC(X,N) 当前值与N日前值的百分比变化 变化率 ROC(CLOSE,5)计算5日收益率
PCT_CHANGE(X,N) 当前值与N日前值的百分比变化 等同于ROC PCT_CHANGE(PRICE,1)日收益率
STD(X,N) 返回X在过去N日的标准差 滚动标准差 STD(RETURNS,20)计算20日收益率波动率
STDDEV(X,N) 返回X在过去N日的标准差 等同于STD STDDEV(CLOSE,10)价格标准差
VAR(X,N) 返回X在过去N日的滚动方差 滚动方差 VAR(RETURNS,20)收益率方差
TS_MAX(X,N) 返回X在过去N日的最大值 滚动最大值 TS_MAX(HIGH,20)计算20日最高价
TS_MIN(X,N) 返回X在过去N日的最小值 滚动最小值 TS_MIN(LOW,20)计算20日最低价
TS_MIDDLE(X,N) 返回X在过去N日的最大最小值的均值 滚动中位价 TS_MIDDLE(CLOSE,10)价格中位数
TS_MAD(X,N) 返回X在过去N日的平均绝对偏差 平均绝对偏差 TS_MAD(RETURNS,20)收益率平均绝对偏差
TS_RANK(X,N) 返回X在过去N日中的排序百分位数 时序排名 TS_RANK(VOLUME,20)成交量时序排名
TS_ARGMAX(X,N) 返回X在过去N日中最大值的位置索引 最大值位置 TS_ARGMAX(HIGH,10)最高价出现位置
TS_ARGMIN(X,N) 返回X在过去N日中最小值的位置索引 最小值位置 TS_ARGMIN(LOW,10)最低价出现位置
HHV(X,N) 返回X在过去N期的最高值 等同于TS_MAX HHV(HIGH,20)20日最高价
LLV(X,N) 返回X在过去N期的最低值 等同于TS_MIN LLV(LOW,20)20日最低价
HHVBARS(X,N) 返回过去N期中距最高值的期数 最高值距今期数 HHVBARS(HIGH,20)最高价距今天数
LLVBARS(X,N) 返回过去N期中距最低值的期数 最低值距今期数 LLVBARS(LOW,20)最低价距今天数
COUNT(X,N) 返回X在过去N日中为True的次数 条件计数 COUNT(CLOSE>OPEN,20)20日内上涨天数
EVERY(X,N) 判断X在过去N日是否全部为True 全部满足条件 EVERY(CLOSE>MA5,10)是否连续10日在5日线上
EXIST(X,N) 判断X在过去N日是否至少为True一次 存在满足条件 EXIST(CLOSE>HIGH_LIMIT,20)是否涨停过
BARSSINCEN(X,N) 返回过去N日内第一次True距今天有几期 首次满足距今期数 BARSSINCEN(VOLUME>AVG_VOL,10)
SLOPE(X,N) 返回X在过去N期的线性回归斜率 趋势斜率 SLOPE(CLOSE,20)计算20日价格趋势
ANGLE(X,N) 返回X在过去N期的线性回归线角度 趋势角度 ANGLE(PRICE,10)价格趋势角度
INTERCEPT(X,N) 返回X在过去N期的线性回归截距 回归截距 INTERCEPT(CLOSE,20)价格回归截距
FORCAST(X,N) 返回序列N周期线性回归后的预测值 线性预测 FORCAST(CLOSE,10)预测下期价格
DECAYLINEAR(X,N) 对序列计算移动平均加权 线性衰减权重 DECAYLINEAR(VOLUME,10)衰减加权成交量
TS_ZSCORE(X,N) 求滚动Z-score值 时序标准化 TS_ZSCORE(CLOSE,20)价格时序标准化
TS_SKEW(X,N) 返回X过去N期的偏度 滚动偏度 TS_SKEW(RETURNS,20)收益率偏度
TS_KURT(X,N) 返回X过去N期的峰度 滚动峰度 TS_KURT(RETURNS,20)收益率峰度
TS_MEDIAN(X,N) 返回X在过去N日的中位数 滚动中位数 TS_MEDIAN(CLOSE,10)价格中位数
AVEDEV(X,N) 序列与其平均值的绝对差的平均值 平均绝对偏差 AVEDEV(RETURNS,20)收益率平均绝对偏差
EMA(X,N) 指数移动平均 指数加权移动平均 EMA(CLOSE,12)12日指数移动平均
DMA(X,A) 动态移动平均 A作平滑因子,0<A<1 DMA(CLOSE,0.1)动态移动平均
WMA(X,N) 序列的N日加权移动平均 加权移动平均 WMA(CLOSE,10)10日加权移动平均
RETURNS(X,N) 返回X相对于N日前的变化百分比 收益率计算 RETURNS(CLOSE,5)返回5日收益率
FUTURE_RETURNS(X,N) 返回X相对于N日后的变化百分比 未来收益率 FUTURE_RETURNS(CLOSE,5)未来5日收益率
SHARPE(X,N) 返回X在过去N日的收益率均值除以标准差 夏普比率 SHARPE(CLOSE,20)计算20日夏普比率
SUM_ABS_PRICE_CHANGE(X,N) 返回X在N日内价格变化的绝对值总和 价格波动总和 SUM_ABS_PRICE_CHANGE(CLOSE,10)
MEAN_ABS_PRICE_CHANGE(X,N) 返回X在N日内价格变化的绝对值平均 平均价格波动 MEAN_ABS_PRICE_CHANGE(CLOSE,10)

6. 双参数直接操作型函数 (A,B)

函数 说明 用法 例子
MAX(A,B) 返回A与B中的较大值 逐元素比较最大值 MAX(CLOSE,OPEN)返回收盘开盘价较大者
MIN(A,B) 返回A与B中的较小值 逐元素比较最小值 MIN(HIGH,LIMIT_UP)返回涨停限制价格
MEAN(A,B) 返回A与B均值 两序列平均值 MEAN(HIGH,LOW)返回最高最低价均值
EQUAL(A,B) 判断A与B是否逐元素相等 相等性判断 EQUAL(CLOSE,OPEN)判断是否十字星
VALUEWHEN(A,B) 当条件A为True时取B的当前值 条件取值 VALUEWHEN(VOLUME>AVG_VOL,CLOSE)

7. 时序操作型函数 (X,Y)

函数 说明 用法 例子
CROSS(X,Y) 判断X是否从下向上穿过Y 上穿判断 CROSS(MA5,MA20)判断金叉

8. 三参数时序操作型函数 (A,B,N)

函数 说明 用法 例子
CORR(A,B,N) 返回A与B在过去N日的滚动相关系数 滚动相关性 CORR(CLOSE,VOLUME,20)价量相关性
CORRELATION(A,B,N) 返回A与B在过去N日的滚动相关系数 等同于CORR CORRELATION(STOCK_A,STOCK_B,10)
COV(A,B,N) 返回A与B在过去N日的滚动协方差 滚动协方差 COV(RETURNS_A,RETURNS_B,20)
COVARIANCE(A,B,N) 返回A与B在过去N日的滚动协方差 等同于COV COVARIANCE(PRICE_A,PRICE_B,15)
TS_REGRESSION(A,B,N) 返回对A和B进行滚动线性回归后每个窗口的斜率 滚动回归斜率 TS_REGRESSION(CLOSE,VOLUME,20)
SUMIF(A,B,N) A为True时累加B,求过去N日之和 条件求和 SUMIF(CLOSE>OPEN,VOLUME,10)
LONGCROSS(A,B,N) 判断A连续N期低于B后是否上穿 长期穿越 LONGCROSS(PRICE,MA20,5)

9. 三参数时序操作型函数 (X,N,M)

函数 说明 用法 例子
LAST(X,N,M) 判断X从N期到M期是否全为True 期间条件判断 LAST(CLOSE>MA20,10,1)判断条件持续
SMA(X,N,M) 中国式的SMA,按权重M/N平滑的加权平均 中式移动平均 SMA(CLOSE,12,1)中式12日均线

10. 条件操作型函数 (X,A,B)

函数 说明 用法 例子
IF(X,A,B) 若X为True则取A否则取B 条件选择 IF(CLOSE>OPEN,1,-1)涨跌方向

11. 技术指标函数

基础指标

函数 说明 用法 例子
ADV(VOLUME,N) 计算N日平均成交量 平均成交量 ADV(VOLUME,20)计算20日平均成交量

MACD指标

函数 说明 用法 例子
MACD_DIF(CLOSE,SHORT,LONG,M) 计算MACD的DIF线 快慢线差值 MACD_DIF(CLOSE,12,26,9)
MACD_DEA(CLOSE,SHORT,LONG,M) 计算MACD的DEA线 DIF的EMA MACD_DEA(CLOSE,12,26,9)
MACD(CLOSE,SHORT,LONG,M) 计算MACD柱状图 (DIF-DEA)*2 MACD(CLOSE,12,26,9)

KDJ指标

函数 说明 用法 例子
KDJ_K(CLOSE,HIGH,LOW,N,M1,M2) 计算KDJ的K线 随机指标K值 KDJ_K(CLOSE,HIGH,LOW,9,3,3)
KDJ_D(CLOSE,HIGH,LOW,N,M1,M2) 计算KDJ的D线 K值的平滑 KDJ_D(CLOSE,HIGH,LOW,9,3,3)
KDJ_J(CLOSE,HIGH,LOW,N,M1,M2) 计算KDJ的J线 3K-2D KDJ_J(CLOSE,HIGH,LOW,9,3,3)

RSI和威廉指标

函数 说明 用法 例子
RSI(X,N) N日相对强弱指数 相对强弱指标 RSI(CLOSE,14)计算14日RSI
WR(X,N) 威廉指标 威廉%R WR(CLOSE,14)计算威廉指标

布林带指标

函数 说明 用法 例子
BOLL_UPPER(CLOSE,N,P) 布林带上轨 均线+P倍标准差 BOLL_UPPER(CLOSE,20,2)
BOLL_MID(CLOSE,N,P) 布林带中轨 N日移动平均 BOLL_MID(CLOSE,20,2)
BOLL_LOWER(CLOSE,N,P) 布林带下轨 均线-P倍标准差 BOLL_LOWER(CLOSE,20,2)
BOLL_WIDTH(X,N) 布林带宽度 上轨-下轨 BOLL_WIDTH(CLOSE,20)

其他常用指标

函数 说明 用法 例子
BIAS(CLOSE,N) 乖离率 (价格-均线)/均线*100 BIAS(CLOSE,6)计算乖离率
PSY(CLOSE,N) 心理线指标 上涨天数/总天数*100 PSY(CLOSE,12)心理线
PSYMA(CLOSE,N,M) 心理线移动平均 PSY的移动平均 PSYMA(CLOSE,12,6)
CCI(X,N) 商品通道指数 价格偏离程度指标 CCI(CLOSE,14)顺势指标
ATR(X,N) 平均真实波动范围 真实波动率 ATR(CLOSE,14)波动率指标
BBI(CLOSE,M1,M2,M3,M4) 多空指数 多条均线平均 BBI(CLOSE,3,6,12,20)

DMI指标系列

函数 说明 用法 例子
DMI_PDI(CLOSE,HIGH,LOW,M1,M2) DMI正向指标 上升动向指标 DMI_PDI(CLOSE,HIGH,LOW,14,6)
DMI_MDI(CLOSE,HIGH,LOW,M1,M2) DMI负向指标 下降动向指标 DMI_MDI(CLOSE,HIGH,LOW,14,6)
DMI_ADX(CLOSE,HIGH,LOW,M1,M2) 平均趋向指标 趋势强度指标 DMI_ADX(CLOSE,HIGH,LOW,14,6)
DMI_ADXR(CLOSE,HIGH,LOW,M1,M2) ADXR指标 ADX评级 DMI_ADXR(CLOSE,HIGH,LOW,14,6)

通道指标

函数 说明 用法 例子
TAQ_UPPER(HIGH,LOW,N) 唐奇安通道上轨 N日最高价 TAQ_UPPER(HIGH,LOW,20)
TAQ_MID(HIGH,LOW,N) 唐奇安通道中轨 上下轨中点 TAQ_MID(HIGH,LOW,20)
TAQ_LOWER(HIGH,LOW,N) 唐奇安通道下轨 N日最低价 TAQ_LOWER(HIGH,LOW,20)
KTN_UPPER(CLOSE,HIGH,LOW,N,M) 肯特纳通道上轨 中轨+2倍ATR KTN_UPPER(CLOSE,HIGH,LOW,20,10)
KTN_MID(CLOSE,HIGH,LOW,N,M) 肯特纳通道中轨 典型价格EMA KTN_MID(CLOSE,HIGH,LOW,20,10)
KTN_LOWER(CLOSE,HIGH,LOW,N,M) 肯特纳通道下轨 中轨-2倍ATR KTN_LOWER(CLOSE,HIGH,LOW,20,10)

高级移动平均

函数 说明 用法 例子
DEMA(X,N) 双指数移动平均 EMA的EMA DEMA(CLOSE,14)双指数平均
TEMA(CLOSE,N) 三重指数移动平均 三次EMA平滑 TEMA(CLOSE,14)三重指数平均
KAMA(X,N) 考夫曼自适应移动平均 自适应平滑 KAMA(CLOSE,14)自适应平均
T3(X,N) 三重指数移动平均 T3平滑算法 T3(CLOSE,14)T3平均

振荡器指标

函数 说明 用法 例子
PPO(A,B) 百分比价格振荡器 (快线-慢线)/慢线*100 PPO(EMA12,EMA26)价格振荡器
AROONOSC(X,N) 阿隆振荡器 最高最低值时间差异 AROONOSC(CLOSE,14)阿隆振荡器
ADXR(X,N) ADX评级 当前值与历史值平均 ADXR(ADX,14)ADX评级
CMO(X,N) 钱德动量振荡器 动量变化指标 CMO(CLOSE,14)动量振荡器
STOCHASTIC(X,N) 随机振荡器 价格相对位置 STOCHASTIC(CLOSE,14)随机指标

成交量指标

函数 说明 用法 例子
OBV(CLOSE,VOL) 能量潮指标 成交量平衡指标 OBV(CLOSE,VOLUME)能量潮
VR(CLOSE,VOLUME,M1) 成交率比率 量价关系指标 VR(CLOSE,VOLUME,26)成交率
MFI(CLOSE,HIGH,LOW,VOLUME,N) 资金流量指标 成交量RSI MFI(CLOSE,HIGH,LOW,VOLUME,14)
EMV(HIGH,LOW,VOL,N,M) 简易波动指标 价量波动关系 EMV(HIGH,LOW,VOLUME,14,9)
EMVMA(HIGH,LOW,VOL,N,M) EMV移动平均 EMV的平滑 EMVMA(HIGH,LOW,VOLUME,14,9)

其他技术指标

函数 说明 用法 例子
TRIX(CLOSE,M1,M2) 三重指数平滑平均 趋势指标 TRIX(CLOSE,12,9)三重平滑
TRIMA(CLOSE,M1,M2) TRIX移动平均 TRIX的平滑 TRIMA(CLOSE,12,9)
DPO(CLOSE,M1,M2,M3) 区间震荡线 去趋势价格 DPO(CLOSE,20,10,6)
DPOMA(CLOSE,M1,M2,M3) DPO移动平均 DPO的平滑 DPOMA(CLOSE,20,10,6)
BRAR(OPEN,CLOSE,HIGH,LOW,M1) BR AR指标 人气意愿指标 BRAR(OPEN,CLOSE,HIGH,LOW,26)
ARBR(OPEN,CLOSE,HIGH,LOW,M1) AR BR指标 买卖气势指标 ARBR(OPEN,CLOSE,HIGH,LOW,26)
MTM(CLOSE,N,M) 动量指标 价格动量 MTM(CLOSE,12,6)动量指标
MTMMA(CLOSE,N,M) 动量移动平均 MTM的平滑 MTMMA(CLOSE,12,6)
MASS(HIGH,LOW,N1,N2,M) 梅斯线 价格波动指标 MASS(HIGH,LOW,9,25,6)
MASSMA(HIGH,LOW,N1,N2,M) MASS移动平均 MASS的平滑 MASSMA(HIGH,LOW,9,25,6)
ROCMA(CLOSE,N,M) 变动率移动平均 ROC的平滑 ROCMA(CLOSE,12,6)
EXPMA(CLOSE,N1,N2) 指数移动平均 短期EMA EXPMA(CLOSE,12,50)
EXPMA2(CLOSE,N1,N2) 指数移动平均 长期EMA EXPMA2(CLOSE,12,50)
ASI(OPEN,CLOSE,HIGH,LOW,M1,M2) 振动升降指标 累积摆动指标 ASI(OPEN,CLOSE,HIGH,LOW,26,10)
ASIT(OPEN,CLOSE,HIGH,LOW,M1,M2) ASI移动平均 ASI的平滑 ASIT(OPEN,CLOSE,HIGH,LOW,26,10)
DIF(CLOSE,N1,N2,M) 差离值 短长期均线差 DIF(CLOSE,10,50,10)
DFMA(CLOSE,N1,N2,M) 差离移动平均 DIF的平滑 DFMA(CLOSE,10,50,10)
BOLLINGERDIFF(A,B) 布林差值 2倍差值 BOLLINGERDIFF(UPPER,LOWER)
最后一次编辑于 3天前 3

15021419502

学到啦学到

2025-08-11 18:47:32      回复

李不白

学到啦学到啦

2025-04-18 09:11:22      回复

13020281277

我也是

2025-04-23 19:36:37 回复

本本本

学到啦学到啦

2025-04-16 19:10:41      回复

推荐阅读