FORMULA REFERENCE

字段与算子

01

可用字段

字段频率名称说明
VWAP分钟成交均价该股票当前分钟成交额除以成交量得到的成交量加权平均价。
Amount分钟成交额该股票当前分钟内累计成交金额。
Volume分钟成交量该股票当前分钟内累计成交股数。
Close分钟收盘价该股票当前分钟最后一笔有效成交对应的收盘价。
Return分钟收益率当前分钟 Close 相对上一分钟 Close 的变化率;每日开盘重新起算。
DailyReturn日频日收益率正式日收益率字段由百分数转换为小数,例如 1.5% 转换为 0.015。
DailyClose日频复权收盘价使用正式复权因子处理后的日收盘价。
DailyHigh日频复权最高价使用正式复权因子处理后的日最高价。
DailyLow日频复权最低价使用正式复权因子处理后的日最低价。
DailyAmount日频成交额该股票当日累计成交金额。
DailyVolume日频成交量该股票当日累计成交量。
DailyTurnover日频自由流通换手率该股票当日自由流通换手率,保持正式日频源字段口径。
DailyFreeShare日频自由流通股本该股票当日自由流通股本。
DailyTotalMV日频总市值该股票当日总市值。
DailyTotalShare日频总股本该股票当日总股本。
02

Level2 数据

当前版本共生成 9 个 Level2 日频特征,分为 ORDER、TRADE 和 SNAPSHOT 三类。

ORDER · 逐笔委托

字段定义
order__cancel_pressure撤单量 /(新增委托量 + 撤单量)。
order__order_flow_imbalance[(新增买量−撤单买量)−(新增卖量−撤单卖量)]/(新增委托量 + 撤单量)。

TRADE · 逐笔成交

字段定义
trade__trade_directional_coverage(主动买成交量 + 主动卖成交量)/ 全部成交量。
trade__trade_imbalance(主动买成交量−主动卖成交量)/(主动买成交量 + 主动卖成交量)。

SNAPSHOT · 五档盘口快照

字段定义
snapshot__mean_relative_spread日内平均(卖一价−买一价)/ 中间价。
snapshot__mean_depth_imbalance日内平均(五档买量−五档卖量)/(五档买量 + 五档卖量)。
snapshot__mean_top_depth_imbalance日内平均(买一量−卖一量)/(买一量 + 卖一量)。
snapshot__midpoint_realized_volatilitysqrt(Σ[log(midpoint_t)−log(midpoint_t−1)]²)。
snapshot__mean_snapshot_quote_churn相邻快照20个五档价格/数量字段发生变化的比例,再取日均值。
03

公共算子

算术运算

对同频率、同日期或时点、同股票轴的输入逐元素计算。输入既可以是原始字段和常量,也可以是时间序列算子、截面算子或其他算术算子的输出;算子可以嵌套组合。

算子说明示例
Add(x, y)逐元素相加。Add(Return, 0.001)
Sub(x, y)逐元素计算 x - y。Sub(Return, CsMean(Return))
Mul(x, y)逐元素相乘。Mul(CsZScore(Return), CsRank(Volume))
Div(x, y)安全除法;分母绝对值不大于 1e-12 时返回 NaN。Div(Amount, CsMean(Amount))
Neg(x)逐元素取相反数。Neg(TsStd(Return, 20))
Abs(x)逐元素取绝对值。Abs(Return)
Sign(x)返回元素符号:负数为 -1、零为 0、正数为 1。Sign(Return)
Log(x)计算自然对数;非正数返回 NaN。Log(Amount)
Inv(x)逐元素取倒数;接近零的值返回 NaN。Inv(Amount)
Exp(x)逐元素计算以 e 为底的指数;溢出返回 NaN。Exp(Return)
Sqrt(x)逐元素开平方;负数返回 NaN。Sqrt(Volume)
Pow(x, exponent)逐元素计算指定次幂;非实数或溢出结果返回 NaN。Pow(Return, 2)
Min(x, y)逐元素取较小值。Min(VWAP, Close)
Max(x, y)逐元素取较大值。Max(VWAP, Close)

截面运算

在同一时点或同一交易日沿股票轴计算。分钟表达式按每分钟截面处理,最终日频表达式按每日截面处理。截面运算不会移除股票轴,输出仍与输入面板对齐,可以继续传给算术、时间序列或聚合算子。

算子说明示例
CsRank(x)沿股票轴计算稳定的截面百分位排名,有效值范围为 (0, 1];输出与原面板对齐,可继续参与其他运算。CsRank(Div(Amount, CsMean(Amount)))
CsMean(x)沿股票轴计算有效值均值,并将均值广播回该截面的每只有效股票,可用于去均值、相对均值等计算。CsMean(Abs(Return))
CsZScore(x)沿股票轴去均值并除以样本标准差;输出与原面板对齐,可继续参与其他运算。CsZScore(Sub(Return, CsMean(Return)))

时间序列

沿每个交易日内部的分钟轴滚动计算,不跨交易日。

算子说明示例
TsMean(x, window)日内滚动均值;窗口形成前返回 NaN。TsMean(Amount, 20)
TsStd(x, window)日内滚动样本标准差;窗口形成前返回 NaN。TsStd(Return, 20)
TsSum(x, window)日内滚动求和。TsSum(Volume, 20)
TsMin(x, window)日内滚动最小值。TsMin(Return, 20)
TsMax(x, window)日内滚动最大值。TsMax(Return, 20)
TsDelay(x, periods)在当日分钟轴滞后,不跨交易日。TsDelay(Close, 5)
TsDelta(x, periods)当前值减去日内滞后值。TsDelta(Close, 5)
TsRank(x, window)当前值在日内滚动窗口中的百分位排名。TsRank(Amount, 20)
TsZScore(x, window)当前值相对日内滚动均值和样本标准差的标准分。TsZScore(Return, 20)
TsCorr(x, y, window)两组分钟序列的日内滚动相关系数。TsCorr(Return, Volume, 20)
TsCov(x, y, window)两组分钟序列的日内滚动样本协方差。TsCov(Return, Volume, 20)
TsAutoCorr(x, window, lag)日内滚动自相关;lag 必须是小于 window 的正整数。TsAutoCorr(Return, 20, 1)
TsArgMax(x, window)滚动最大值位置占窗口长度的比例,越接近 1 表示越靠近当前。TsArgMax(Amount, 20)
TsArgMin(x, window)滚动最小值位置占窗口长度的比例,越接近 1 表示越靠近当前。TsArgMin(Amount, 20)
TsDecayLinear(x, window)线性衰减均值,越靠近当前时点权重越高。TsDecayLinear(Return, 20)
TsDemean(x, window)当前值减去日内滚动均值。TsDemean(Return, 20)
TsReturn(x, periods)当前值相对日内滞后值的变化率。TsReturn(Close, 5)
TsMedian(x, window)日内滚动中位数。TsMedian(Amount, 20)
TsVar(x, window)日内滚动样本方差。TsVar(Return, 20)
TsSkew(x, window)日内滚动偏度。TsSkew(Return, 20)
TsKurt(x, window)日内滚动超额峰度。TsKurt(Return, 20)
TsQuantile(x, q, window)日内滚动 q 分位数,q 必须位于 [0, 1]。TsQuantile(Amount, 0.9, 20)

日内聚合(必选其一)

只能作为日内表达式最外层,把分钟结果压缩为每日 Feature。

算子说明示例
DayMean(x)取全天分钟均值。DayMean(Neg(Return))
DaySum(x)取全天分钟合计。DaySum(Volume)
DayLast(x)取当日最后一个有效分钟值。DayLast(CsRank(Return))
PeriodMean(start_time, end_time, x)对闭区间内的分钟值取均值。PeriodMean(145000, 150000, Return)
PeriodSum(start_time, end_time, x)对闭区间内的分钟值求和。PeriodSum(93000, 100000, Volume)
PeriodLast(start_time, end_time, x)取闭区间内最后一个有效分钟值。PeriodLast(145000, 150000, CsRank(Return))

日间运算(选填)

在 Feature 与 Daily 前缀字段上跨交易日计算;留空等同于 Feature。

算子说明示例
DailyMean(Feature, window)跨交易日滚动均值。DailyMean(Feature, 5)
DailyEMA(Feature, window)跨交易日指数移动平均,alpha = 2 / (window + 1)。DailyEMA(Feature, 10)
DailyStd(Feature, window)跨交易日滚动样本标准差。DailyStd(Feature, 20)
DailySum(Feature, window)跨交易日滚动求和。DailySum(Feature, 5)
DailyMin(Feature, window)跨交易日滚动最小值。DailyMin(Feature, 20)
DailyMax(Feature, window)跨交易日滚动最大值。DailyMax(Feature, 20)
DailyRank(Feature, window)当前值在跨日滚动窗口中的百分位排名。DailyRank(Feature, 20)
DailyZScore(Feature, window)当前值相对跨日滚动均值和样本标准差的标准分。DailyZScore(Feature, 20)
Delay(Feature, periods)按交易日滞后,正数只读取历史。Delay(Feature, 1)
Delta(Feature, periods)当前 Feature 减去跨日滞后值。Delta(Feature, 5)
Correlation(x, y, window)两组日频表达式的跨日滚动相关系数。Correlation(Feature, Delay(Feature, 1), 20)
04

使用规则

  1. 日内聚合必须明确

    全天使用 Day*;指定时段使用 Period*(start_time, end_time, x),时间区间两端均包含。

  2. 窗口必须是正整数

    TsMean、TsStd 的 window 必须直接写成正整数常量。

  3. 滚动不跨交易日

    时间序列算子每天重新开始计算,窗口形成前的分钟值为 NaN。

  4. 两段式日频输出

    第一步可留空;使用分钟数据时必须通过 Day 或 Period 聚合为每日 Feature,也可广播 Daily 字段。第二步使用 Feature 或 Daily 字段生成最终日频因子。

  5. 缺失值保持缺失

    安全除法、无效输入和预热区间产生的 NaN 不会自动填成零。

  6. 可选中性化

    启用后对最终日频因子逐日做截面 OLS 回归取残差;暴露可选行业、收益与 Barra(可多选),参数固定 zscore + clip 4.0 + min_obs 30。