- 捕捉量价背离的因子,说明即将发生反转 小市值可能存在风险(量价因子)
- 公式:(-1 * correlation(rank(delta(log(volume), 2)), rank(((close - open) / open)), 6))
- 一、核心组件拆解与功能说明
- 成交量对数差分:
- pythonCopy Code
- delta(log(volume), 2)
- 作用:计算过去2天的对数成交量变化。
- 细节:
- log(volume):对成交量取自然对数,消除量级差异,使变化率更稳定。
- delta(x, 2):计算当前值与2天前值的差值,反映短期成交量的增减幅度。
- 横截面排名(成交量变化):
- pythonCopy Code
- rank(delta(log(volume), 2))
- 作用:对全市场股票的成交量变化进行排名(0-1分位数),识别相对放量或缩量的标的。
- 意义:排名高表示近期成交量增长显著,排名低则可能缩量。
- 开盘-收盘收益率:
- pythonCopy Code
- (close - open) / open
- 作用:计算当日价格涨跌幅,标准化为开盘价的比例。
- 特征:正值表示当日收涨,负值表示收跌。
- 横截面排名(价格收益):
- pythonCopy Code
- rank(((close - open) / open))
- 作用:对全市场股票的当日收益率排名,识别短期强势或弱势标的。
- 相关性计算:
- pythonCopy Code
- correlation(x, y, 6)
- 参数:x=成交量变化排名,y=价格收益排名,6天窗口。
- 意义:计算过去6天内,成交量的排名变化与价格收益排名的相关性。
- 负号反转:
- pythonCopy Code
- -1 * correlation(...)
- 目的:将相关性方向反转,使负相关转为正值信号。
- 二、因子逻辑与市场行为解释
- 核心逻辑:
- 捕捉量价背离:当成交量增加(排名高)但价格下跌(排名低),或成交量减少(排名低)但价格上涨(排名高)时,两者呈现负相关性,因子值升高。
- 反转信号:负相关性强时(因子值高),可能预示短期价格走势与成交量背离,存在反转可能性。
- 计算示例:
- 假设股票A过去6天的数据如下:
- 日期成交量变化排名(x)价格收益排名(y)
- t-5 0.8 0.3
- t-4 0.7 0.2
- t-3 0.6 0.1
- t-2 0.9 0.4
- t-1 0.5 0.6
- t 0.4 0.9
- 相关性计算:若x与y的相关系数为-0.8(强负相关),则因子值为 -1 * (-0.8) = 0.8,表示强烈看多。
- 核心逻辑:
- 三、应用场景与策略设计
- 策略信号:
- 做多信号:因子值高的股票(负相关性显著),预期价格将反转上涨。
- 做空信号:因子值低的股票(正相关性显著),预期价格将反转下跌。
- 参数调整建议:
- 时间窗口(6天):
- 缩短窗口(如3天):捕捉更敏感的量价背离,但噪音增加。
- 延长窗口(如10天):平滑信号,适合中长期策略。
- 成交量差分周期(2天):
- 调整为1天:捕捉日频成交量突变,但可能受异常值干扰。
- 时间窗口(6天):
- 行业中性化处理:
- 使用 indneutralize() 函数消除行业偏差,避免因子被行业集体行为干扰。
- 策略信号:
- 四、注意事项与潜在问题
- 市场流动性影响:
- 在低流动性市场(如小盘股),成交量和价格易受操纵,因子信号可能失效。
- 极端行情干扰:
- 涨停/跌停时,价格收益排名失真,需剔除此类标的或调整计算方法。
- 计算效率优化:
- 横截面排名(rank)和高频相关性计算需依赖高性能引擎(如DolphinDB)。
- 市场流动性影响:
- 总结
- 该因子通过量化量价背离现象,捕捉短期反转机会。其核心在于:
- 成交量变化的横截面比较(排名);
- 价格收益的相对强弱(排名);
- 动态相关性分析(6天窗口)。
- 实际应用中需结合市场微观结构调整参数,并通过行业中性化与风控规则提升稳定性。