日内量价分域 (Intraday Volume-Price Domain)

大白话:把一只股票的一天切成几块,每块当成一个「交易环境」——上午头半小时、下午中段、价格最高的那几段、成交量最大的那几段——然后问「在这一块里,这只股票的表现跟同一天其他股票差多少」。差得越远,这一块越「反常」,反常程度就是因子值。

分域(domain)就是这次切块。本页讲怎么切块、怎么算「反常程度」,以及由此得到的 12 个自身显著性因子。

另类信息的定义

兴业金工把因子写成 g = f(\textit{data}, \textit{Information}),并规定「另类信息」指 \textit{Information} \notin \textit{data}——即用数据本身里没有的东西去限制因子的计算方式。开盘、尾盘、大单都是另类信息。

分域属于另类信息:「哪一段属于哪个域」这个划分标准是先验规定的,不是从数据里学出来的。所以分域的每一个具体选择(切几刀、按什么切)都是研究者主观决定的,这既是它的灵活处,也是它最容易被质疑的地方。

三种分域方式与域内特征

论文用三个维度分域,每个维度对应两种域内特征,共 6 种组合:

被分域特征 域内特征
时间 收益率、成交量
价格 波动率、成交量
成交量 波动率、收益率

注意一个细节:分域用的数据和域内刻画用的数据不是同一个。 这就是论文强调的「拆分出分域使用的数据以及域内特征数据」——用成交量把一天切开后,在每个域内去看的是波动率和收益率。否则等于拿同一份数据既定义环境又度量表现。

三种分域的具体做法:

  • 时间分域:最简单,按半小时间隔切,交易日切成 8 块。
  • 价格分域、成交量分域:因为分钟数据随机性大,直接切会被噪声主导,所以先按不重叠原则把时间序列切成特征序列,再对特征序列做等频分域(切 5 块),最后算每块内的量价特征。

「等频」的意思是每块包含的数据点数量相同,而不是价格或成交量的量级相同——这是为了避免某一块天然就更大。

基础型因子:先把分域当差异刻画

在引入显著性之前,论文先做了一版更朴素的因子。

时序分域——开盘半小时与尾盘半小时的比值:

因子名 因子构造方法
lh_rtnDiff 开盘和尾盘半小时涨跌幅比值
lh_volDiff 开盘和尾盘半小时成交量之和比值
lh_stdDiff 开盘和尾盘半小时波动率比值

股价分域——先找高价时点和低价时点,再算两者之差:

highRank,\ lowRank = \left[\sum_{k=0}^{14} pct\_rank(high_{t-k})\right],\ \left[\sum_{k=0}^{14} pct\_rank(low_{t-k})\right] highIdt = argmax\{highRank\}, \qquad lowIdt = argmin\{lowRank\}

即:对日内每分钟的最高价序列取排序百分位,再累加过去 15 分钟(含当前分钟)作为「高位特征」;最低价同理。取特征最强的那个时点作为高价时点 / 低价时点。

因子名 因子构造方法
diff_idx 高价时点和低价时点分钟差
diff_std 高价时点和低价时点波动率差
diff_vol 高价时点和低价时点成交量占比差

时序分域基础因子的绩效:

因子 IC 均值 IC 标准差 ICIR T 统计量
lh_rtnDiff 0.024 0.069 0.352 8.33
lh_volDiff 0.031 0.090 0.349 8.27
lh_stdDiff 0.060 0.113 0.526 12.46

lh_stdDiff(开盘尾盘波动率比值)IC 均值 0.060,是这六个基础因子里最强的。

股价分域基础因子的绩效:

因子 IC 均值 IC 标准差 ICIR T 统计量
diff_idx 0.010 0.071 0.14 6.86
diff_std 0.019 0.038 0.49 23.35
diff_vol 0.031 0.058 0.53 25.21

组合层面(多空两组,按因子值加权):

因子 多空收益率 多头收益率 空头收益率 年化波动率 夏普比率 最大回撤 多头换手率
lh_rtnDiff 22.90% -3.99% -21.75% 6.55% 3.49 -6.88% 14.01%
lh_volDiff 21.92% -2.11% -20.70% 7.81% 2.81 -6.92% 4.58%
lh_stdDiff 34.86% 2.65% -24.94% 8.99% 3.88 -7.42% 6.11%
diff_idx 12.16% 9.09% -2.65% 6.82% 1.78 -9.93% 16.87%
diff_std 10.63% 7.37% -3.33% 3.58% 2.97 -13.52% 13.60%
diff_vol 23.03% 13.07% -8.33% 5.37% 4.29 -6.80% 15.08%

这里有一个值得注意的现象:三个时序分域因子的多头收益率是负的(-3.99%、-2.11%、+2.65%),多空收益几乎全部来自空头端。lh_stdDiff 多空 34.86% 但多头只有 2.65%。也就是说这类因子的收益结构是「做空涨得多的股票」,而不是「做多涨得少的股票」——与「日内动量反转」的直觉一致,但方向靠空头兑现。

显著性算法:把收益率换成域内特征

论文引用的显著性算法来自 Cosemans 与 Frehen (2021),要求函数满足三条性质:

  1. 保序性——特征偏离总体的程度越大,函数值越大
  2. 敏感性递减——总体特征水平统一上升时,显著性下降
  3. 对称性——显著性只取决于特征的大小,与符号无关

原论文和后续研究大多用收益率作输入。本文的改造是:把输入从收益率换成域内特征(波动率、成交量占比等)。

时间分域下的域内特征计算方式:

qcutCHR = \left[std\left(rtn_{t \in [T, T+30min)}\right)\right]_{T = 9{:}30,\ \ldots,\ 14{:}30} 即从 9:30 起每半小时取一个 30 分钟窗口,窗口内收益率的标准差就是该时间域的域内特征。 自身显著性的计算: intraDS = max\left(\frac{\lvert qcutCHR_i - avg(qcutCHR)\rvert}{\lvert qcutCHR_i\rvert + \lvert avg(qcutCHR)\rvert + \varepsilon}\right)

读法:分子是「这一只股票在这个域里的特征值」与「所有股票在这个域里的平均特征值」的差距;分母是两者绝对值之和再加一个小的 \varepsilon(防止除零)。取最大值,表示在所有域里找最异常的那一个。这符合保序性(偏离越大值越大)、对称性(取绝对值,不分正负)。

反转版本:给显著性加上方向

显著性本身不带方向——「这只股票今天波动特别大」这件事既不预示涨也不预示跌。论文的假设是:日内出现显著交易特征且股价走势较好时,有限注意的投资者会过度关注该股,吸引更多注意力把股价推高,短期内被高估 → 之后反转。

intraDS2 = max\left(\frac{\lvert qcutCHR_i - avg(qcutCHR)\rvert}{\lvert qcutCHR_i\rvert + \lvert avg(qcutCHR)\rvert + \varepsilon}\right) * rtn_{argmax}

后半段是「显著性最强的那个域的收益率」:时间分域取显著性最强的半小时区间收益;价格和成交量分域取显著性最强的域内收益率均值。

12 个自身显著性因子

被分域特征 域内特征与因子名称
时间 收益率 intraDSRtn_byT、成交量 intraDSVol_byT
价格 波动率 intraDSStd_byP、成交量 intraDSVol_byP
成交量 波动率 intraDSStd_byV、收益率 intraDSRtn_byV

反向版本把 intraDS 换成 intraDS2:intraDS2Rtn_byT、intraDS2Vol_byT、intraDS2Std_byP、intraDS2Vol_byP、intraDS2Rtn_byV、intraDS2Std_byV。

自身显著性这 6 个因子都预期为升序排序——论文的原话是「显著性程度越大,预期收益越低」(因为被过度关注 → 高估 → 反转)。所有因子在时序上再取 20 日均值作为最终测试值。反转版的方向论文没有重新说明。

自身显著性因子的 Rank IC:

因子 IC 均值 IC 标准差 ICIR T 统计量
intraDSVol_byT 0.039 0.063 0.62 29.85
intraDSRtn_byT 0.041 0.117 0.35 16.88
intraDSStd_byP 0.046 0.097 0.48 23.02
intraDSVol_byP 0.038 0.054 0.69 33.14
intraDSRtn_byV 0.048 0.114 0.42 20.04
intraDSStd_byV 0.050 0.103 0.49 23.34

自身显著性反转因子的 Rank IC:

因子 IC 均值 IC 标准差 ICIR T 统计量
intraDS2Vol_byT 0.016 0.038 0.41 19.55
intraDS2Rtn_byT 0.028 0.050 0.57 27.50
intraDS2Std_byP 0.021 0.044 0.47 22.74
intraDS2Vol_byP 0.004 0.039 0.11 5.11
intraDS2Rtn_byV 0.043 0.062 0.68 32.85
intraDS2Std_byV 0.044 0.064 0.68 32.77

反转版并没有比原版更好——这一点论文自己说得很直接:「表现相对较好,但并未比之前的原始显著性因子表现更好」。而且反转版高度依赖分域维度:成交量分域的反转因子(intraDS2Rtn_byV 0.043、intraDS2Std_byV 0.044)比价格分域(intraDS2Vol_byP 0.004)好一个数量级。

组合层面(自身显著性 6 个因子):

因子 多空收益率 多头收益率 空头收益率 年化波动率 夏普比率 最大回撤 多头换手率
intraDSVol_byT 35.02% 16.13% -14.22% 6.31% 5.55 -6.35% 10.49%
intraDSRtn_byT 14.93% 6.75% -9.00% 10.22% 1.46 -12.27% 8.17%
intraDSStd_byP 28.68% 11.80% -14.14% 9.07% 3.16 -8.30% 7.82%
intraDSVol_byP 32.68% 14.95% -13.40% 5.13% 6.38 -4.11% 12.24%
intraDSRtn_byV 24.58% 9.87% -13.60% 10.35% 2.37 -9.57% 8.23%
intraDSStd_byV 30.22% 11.59% -15.64% 9.62% 3.14 -8.20% 7.27%

反转因子的组合表现:

因子 多空收益率 多头收益率 空头收益率 年化波动率 夏普比率 最大回撤 多头换手率
intraDS2Vol_byT 10.66% 3.38% -6.72% 3.97% 2.68 -4.48% 15.28%
intraDS2Rtn_byT 15.98% 5.53% -9.56% 4.61% 3.46 -10.49% 15.41%
intraDS2Std_byP 17.65% 4.76% -10.93% 4.18% 4.22 -5.42% 14.60%
intraDS2Vol_byP 6.64% 1.01% -5.06% 3.53% 1.88 -7.97% 15.21%
intraDS2Rtn_byV 32.52% 12.16% -15.82% 6.07% 5.36 -5.49% 14.36%
intraDS2Std_byV 32.55% 11.67% -16.21% 6.31% 5.16 -6.32% 14.15%

特异性:因子之间到底重不重复

12 个自身显著性因子的时序相关性矩阵(图 5)里有两个清楚的模式:

  • 同一分域维度内的两个域内特征彼此高度相关:时间分域的 intraDSRtn_byT 与 intraDSVol_byT 相关 0.40;价格分域的 intraDSStd_byP 与 intraDSVol_byP 相关 0.54;成交量分域的 intraDSRtn_byV 与 intraDSStd_byV 相关 0.95。
  • 跨分域维度的相关也不低:价格分域的 intraDSStd_byP 与成交量分域的 intraDSRtn_byV 相关 0.91、与 intraDSStd_byV 相关 0.98。也就是说原版 6 个因子整体上高度纠缠——intraDSStd_byV 与另外 5 个原版因子的相关系数都在 0.52–0.98 之间。

论文对这个矩阵的读法是:先看原版与反转版之间(矩阵右上与左下角),两者绝大多数因子相关性较低、均值接近 0.34,说明两类因子的获益能力有差异;再各自内部(原版矩阵左上与反转版矩阵右下),除了成交量分域的两个因子外,时序和股价分域的两个因子组内相关性较低——成交量分域的 intraDSRtn_byV 与 intraDSStd_byV 相关高达 0.95(原版)和 0.93(反转版),几乎是一个因子的两种写法。

由此论文的结论是:因子特异性主要来源于域内特征的刻画——「域内特征为波动率、收益率或成交量相关的因子相关性较高」。换句话说,切分域方式带来的区分度,比在域内选波动率还是成交量更大。

与低频量价因子(动量反转、波动率、换手率等 16 个,测试周期为周频)的截面相关性均值约 0.14,最高接近 0.5,其中反转因子的特异性更强。

正交化处理(对底层所有高频因子中相关最高的那个做正交)后:

因子 IC 均值 IC 标准差 ICIR T 统计量
intraDSVol_byTN 0.030 0.060 0.50 24.04
intraDSVol_byPN 0.026 0.045 0.58 27.79
intraDS2Rtn_byVN 0.022 0.045 0.48 22.95
因子 多空收益率 多头收益率 空头收益率 年化波动率 夏普比率 最大回撤 多头换手率
intraDSVol_byTN 21.59% 16.21% -5.18% 6.20% 3.49 -5.27% 17.81%
intraDSVol_byPN 18.95% 12.19% -6.09% 4.33% 4.37 -4.32% 17.38%
intraDS2Rtn_byVN 14.42% 8.35% -5.48% 4.46% 3.23 -4.40% 16.59%

正交化后 IC 下降但夏普上升——收益没少,波动降得更多。这是高频因子的常见模式。

与本 wiki 其他页面的接口

Open Questions

  • 域的数量是拍出来的:时间域 8 块(半小时)、价格与成交量域 5 块(等频)。为什么是 5 而不是 3 或 8?论文未做敏感性检验。这是本方法最脆弱的一环
  • 「等频」分域的切点选在哪:价格域和成交量域的切点由什么规则确定?是否需要避开当日极值?论文未说明
  • \varepsilon 的取值:显著性公式分母里的 \varepsilon 只说「防止除零」,没有给数值,也没有敏感性分析
  • 为什么用 max 而不是 mean:一个域异常就触发因子,等于只看当日最极端的那一段信息,其余时段被丢弃。改成 top-2 平均或分位数聚合会怎样,未检验
  • 显著性归一化用的是全市场还是单日截面:avg(qcutCHR) 的取样范围(当日全市场 / 历史同域)没有明确写出;这直接决定因子是截面型还是时序型
  • 反转型因子的方向依赖成交量分域:intraDS2Vol_byP 的 IC 只有 0.004,接近失效。这说明「显著 + 走强 → 后续反转」这条逻辑只在成交量分域下成立,论文没有解释原因
  • 正交化后表 14 的三行数值与表 22 完全相同(0.030/0.060/0.50/24.04、0.026/0.045/0.58/27.79、0.022/0.045/0.48/22.95),疑似原报告排版时复制粘贴错误,引用时需谨慎

Sources