Files
factorhack/TS因子挖掘构建流程.md
2025-11-08 13:39:02 +08:00

14 KiB
Raw Blame History

基于BTC 4h数据的时间序列因子模型实操流程因子挖掘→检验→回测→信号生成

结合《ssrn.3255748.pdf》中时间序列TS因子模型的核心逻辑以及高维高频金融数据建模的前沿方法如投影主成分分析P-PCA以下为针对BTC 4h数据的完整实操流程包含每一步的理论原理、操作细节及论文引用依据。

一、数据准备与预处理(基础步骤,确保数据质量)

1. 数据来源与变量选择

  • 核心数据BTC的4h级原始数据至少包含“开盘价、收盘价、最高价、最低价、成交量、成交额”时间跨度建议≥5年如2018年1月-2023年12月共约11325个4h数据点来源可选择CoinGecko、Binance API等合规平台。
  • 扩展变量基于原始数据计算技术指标变量作为因子候选参考《ssrn.3255748.pdf》中“资产特征驱动因子”的逻辑具体包括
    • 收益类4h收益率(R_t = \ln(Close_t/Close_{t-1}))、滚动12期48h收益率标准差波动率、滚动6期24h收益率偏度尾部风险
    • 趋势类EMA指数移动平均如4期/8期/16期、MACD异同移动平均线、RSI相对强弱指数14期
    • 量能类成交量滚动6期均值、成交额/成交量比值(量价配合度);
    • 波动类ATR平均真实波幅14期、高低价差率((High_t-Low_t)/Close_{t-1}))。

2. 数据预处理(消除噪声与异常值)

  • 异常值处理采用“3σ法则”识别异常收益率如单日涨跌幅20%的4h数据用前后相邻数据的线性插值替换避免极端值对因子估计的干扰——这与中山大学研究中“抑制高频特异性波动”的思路一致摘要1、5该研究指出高频数据中的异常波动会扭曲因子估计需通过预处理降低噪声。
  • 缺失值填补:若存在数据缺失(如交易所维护导致的断更),采用“前向填充+滚动均值平滑”如用前3期均值填补确保时间序列的连续性。
  • 标准化对所有候选因子变量进行“Z-score标准化”(X_{std}=(X-\mu)/\sigma),其中(\mu)、(\sigma)为滚动30期120h的均值和标准差避免量纲差异影响因子权重——参考《ssrn.3255748.pdf》中CS因子“标准化匹配TS因子标准差”的操作逻辑

二、因子挖掘:基于时间序列逻辑构建候选因子

1. 因子构建原则贴合TS因子“预设规则、可解释”的核心特性

根据《ssrn.3255748.pdf》中TS因子的构建逻辑BTC 4h因子需满足“基于固定规则、反映特定风险/收益驱动逻辑”避免CS因子“月度优化、非可投资”的缺陷。具体分为“基础因子”和“合成因子”两类

1基础因子单一逻辑驱动的因子

因子名称 因子逻辑 计算方式4h频率 理论依据(论文关联)
趋势因子TREND 价格趋势方向,趋势向上则预期收益高 (TREND_t = I(Close_t > EMA_{16,t}) \times 1 + I(Close_t < EMA_{4,t}) \times (-1)),其中(I(\cdot))为指示函数 类似《ssrn.3255748.pdf》中“特征驱动收益”逻辑用EMA交叉反映趋势特征
波动率因子VOL 波动率越高,风险溢价越高 (VOL_t = \text{滚动12期收益率标准差}) 对应中山大学研究中“高频波动捕捉风险”的思路摘要1、5波动率是高频金融数据的核心风险特征
量价因子VOLP 量价配合度,成交量放大且价格上涨则动量强 (VOLP_t = I(Volume_t > \text{滚动6期Volume均值}) \times R_t) 参考《ssrn.3255748.pdf》中“动量因子UMD”的“收益+量能”逻辑UMD通过前期收益反映动量此处叠加成交量增强信号
反转因子REV 短期反转效应,过度上涨/下跌后预期回调 (REV_t = -R_{t-1})前1期4h收益率的相反数 符合时间序列因子“单一特征驱动”的特性捕捉BTC短期4h级的反转风险

2合成因子多变量降维得到的综合因子

采用中山大学研究提出的投影主成分分析P-PCA 构建合成因子摘要1、5该方法相比传统PCA能更有效利用特征变量信息抑制高频噪声具体步骤

  1. 选择输入变量将上述基础因子TREND、VOL、VOLP、REV及3个核心技术指标MACD差值、RSI、ATR作为P-PCA的输入矩阵(X_{T \times K})T为时间维度K=7为变量维度
  2. 投影步骤根据P-PCA理论摘要1、5先将输入变量投影到“可观测特征空间”此处选择“滚动12期收益率”作为工具变量反映BTC收益的长期动态得到投影矩阵(P)
  3. 提取主成分:对投影后的矩阵(P \times X)进行PCA取前2个主成分累计方差解释率需≥80%)作为合成因子:
    • 合成因子1PC1命名为“趋势-量能因子”权重集中在TREND、VOLP反映趋势与量能的协同效应
    • 合成因子2PC2命名为“风险因子”权重集中在VOL、ATR反映4h级的风险暴露程度。
  4. 因子方向校准通过“因子与未来1期收益率的相关性”调整方向如PC1与(R_{t+1})正相关则保留原方向负相关则取反确保因子值越高预期收益越高——贴合《ssrn.3255748.pdf》中“因子收益差为正”的TS因子设计逻辑如HML=高BM收益-低BM收益

三、因子检验:验证因子的有效性与稳健性

1. 因子收益检验(核心:因子能否区分未来收益)

参考《ssrn.3255748.pdf》中“因子平均收益t统计量”的检验逻辑对每个候选因子进行“分组回测”步骤如下

  • 分组规则每月按4h频率约180个数据点将BTC 4h数据按因子值分为3组低因子组L、中因子组M、高因子组H
  • 计算组收益每组的4h收益为该组内因子值对应的BTC收益率因仅单标的此处为“因子值分位数对应的收益”如高因子组H为因子值前30%的4h数据的平均收益
  • 检验指标
    • 因子收益差:(H-L)收益(高因子组收益 - 低因子组收益),若显著为正,说明因子能区分收益;
    • t统计量用Newey-West调整的t统计量滞后6期对应24h检验(H-L)收益的显著性避免自相关导致的虚假显著参考《ssrn.3255748.pdf》中“因子平均收益t统计量”的计算方式

示例结果要求如趋势因子TREND的(H-L)收益为0.35%/4h年化约84%t统计量=2.892显著说明该因子有效。

2. 因子跨度回归(检验因子的边际解释力)

根据《ssrn.3255748.pdf》中“因子跨度回归”的核心逻辑检验单个因子能否被其他因子替代步骤如下

  • 回归模型以BTC未来1期4h收益率(R_{t+1})为因变量,以候选因子及控制变量为自变量,构建时间序列回归:
    (R_{t+1} = \alpha + \beta_1 F_1_t + \beta_2 F_2_t + ... + \beta_k F_k_t + e_{t+1})
    其中(F_1,F_2,...F_k)为候选因子,(\alpha)为定价误差,(\beta_i)为因子载荷。
  • 检验标准:若某因子的(\beta_i)显著不为0t统计量2且加入该因子后模型(R^2)提升≥5%说明该因子具有“不可替代的边际解释力”未被其他因子吸收——类似《ssrn.3255748.pdf》中TS因子“市场、规模因子边际信息显著”的结论

示例若加入合成因子PC1后模型(R^2)从0.12提升至0.18PC1的(\beta=0.25)t=3.12说明PC1具有独立解释力。

3. 稳健性检验(排除偶然因素)

  • 样本外检验将数据分为“训练集2018-2021年”和“样本外集2022-2023年若因子在样本外的(H-L)收益t统计量仍1.8接近显著说明因子稳健——参考《ssrn.3255748.pdf》中“跨样本验证因子表现”的逻辑
  • 频率敏感性检验将4h频率调整为2h或8h若因子收益差的显著性变化≤20%说明因子不受频率小幅变动影响——符合中山大学研究中“高频因子需跨频率稳健”的要求摘要1、5

四、因子组合构建多因子模型贴合TS模型“常数载荷、可投资”特性

1. 因子权重确定避免CS模型“月度优化”的复杂性

根据《ssrn.3255748.pdf》中TS因子模型“预设因子权重、常数载荷”的逻辑采用“风险平价”或“回归系数加权”避免动态优化导致的过拟合

  • 风险平价加权:使每个因子的“风险贡献相等”(因子风险贡献=因子权重×因子波动率×因子与收益的相关性),公式为:
    (w_i = \frac{1/\sigma_i}{\sum_{j=1}^n 1/\sigma_j}),其中(\sigma_i)为因子(F_i)的滚动30期波动率
    该方法确保单一因子不会过度主导组合贴合《ssrn.3255748.pdf》中“多因子分散风险”的思路如FF五因子模型的等权重逻辑
  • 回归系数加权:用训练集的时间序列回归系数作为权重(如因子(F_i)的权重(w_i = \beta_i / \sum_{j=1}^n |\beta_j|)(\beta_i)为(R_{t+1})对(F_i)的回归系数),确保权重与因子解释力正相关。

2. 多因子综合得分(最终信号输入)

将筛选后的有效因子如TREND、VOLP、PC1、PC2按权重合并得到4h级的“多因子综合得分”
(Score_t = \sum_{i=1}^n w_i \times F_{i,t})
其中(F_{i,t})为标准化后的因子值,(Score_t)越高代表未来1期4hBTC上涨概率越大——该得分对应《ssrn.3255748.pdf》中“因子组合预测收益”的逻辑通过多因子协同提升预测准确性。

五、回测:验证因子模型的实战有效性

1. 回测框架设计贴合TS因子“可投资”的核心优势

参考《ssrn.3255748.pdf》中“资产定价检验”的回测逻辑采用“等仓单边交易”仅做多/做空BTC无杠杆避免CS因子“高杠杆”的非可投资性具体参数

  • 调仓频率4h调仓与因子频率一致每个4h周期根据(Score_t)生成交易信号;
  • 手续费按0.1%/次现货交易手续费参考Binance等平台滑点按0.05%/次4h级BTC流动性充足滑点较低
  • 回测区间2019年1月-2023年12月共约4680个4h数据点包含牛熊周期检验模型适应性

2. 交易信号规则(基于多因子得分的阈值策略)

根据《ssrn.3255748.pdf》中“因子值与收益正相关”的结论设定阈值生成买卖信号

  • 买入信号:当(Score_t > 0.8\sigma_{Score})(\sigma_{Score})为Score的滚动30期标准差且前1期无持仓时买入BTC满仓
  • 卖出信号:当(Score_t < -0.8\sigma_{Score})且前1期有持仓时卖出BTC空仓
  • 观望信号:当(Score_t)在([-0.8\sigma_{Score}, 0.8\sigma_{Score}])之间,维持原有持仓(避免频繁交易)。

3. 回测指标与评估(参考论文中的资产定价检验指标)

采用《ssrn.3255748.pdf》中“平均收益、夏普比率、最大回撤”等核心指标同时加入高频数据特有的“胜率、盈亏比”具体如下

回测指标 计算方式 合格标准BTC 4h策略
年化收益率 ((1+\text{累计收益})^{252×6/24} - 1)假设年交易252天每天6个4h周期 30%跑赢BTC现货年化收益
夏普比率 年化收益率 / 年化波动率 1.5(风险调整收益优秀)
最大回撤 回测期间最大亏损幅度 50%(控制极端风险)
胜率 盈利交易次数 / 总交易次数 55%(信号准确性高)

示例结果若回测得到年化收益45%、夏普比率1.8、最大回撤42%、胜率58%说明模型有效——类似《ssrn.3255748.pdf》中“TS因子模型解释力达标”的实证结论

六、信号优化与上线:动态适应市场变化

1. 因子载荷动态调整(参考“时变载荷”的改进思路)

虽然《ssrn.3255748.pdf》中TS模型默认“常数载荷”但中山大学研究指出“因子载荷时变能提升预测准确性”摘要1、5因此可引入“滚动窗口调整权重”

  • 每30天180个4h周期重新估计因子权重如风险平价权重的波动率用最新30期数据避免因子失效如BTC在牛熊周期中波动率因子的重要性会变化
  • 若某因子连续60个4h周期10天的(H-L)收益t统计量1.0暂时剔除该因子待其恢复显著性后重新加入——贴合《ssrn.3255748.pdf》中“因子边际信息动态检验”的逻辑

2. 实盘上线与监控

  • 信号输出每4h生成“Score_t”及对应买卖信号通过API对接交易所如Binance Spot API实现自动交易
  • 风险监控:实时监控“因子有效性指标”(如当前因子的(H-L)收益t统计量、模型(R^2)若指标连续3天不达标如t统计量1.2),暂停自动交易,人工排查原因(如市场结构变化导致因子失效);
  • 日志记录保存每4h的因子值、信号、交易结果每月进行回测复盘对比实盘与回测的差异优化因子参数如调整EMA周期、阈值系数

七、关键论文引用与理论支撑总结

  1. 《ssrn.3255748.pdf》Fama & French 2018核心支撑TS因子“预设规则、可投资、常数斜率回归检验”的逻辑指导因子构建、检验、回测的整体框架、、
  2. 中山大学《高维、高频金融数据的因子建模》摘要1、5提供P-PCA合成因子、高频噪声处理、时变载荷调整的方法解决BTC 4h高频数据的因子估计问题
  3. 国家金融与发展实验室《收益率曲线三因子模型》摘要2借鉴“因子解释度、动态调整”的思路用于合成因子的方差解释率检验和权重动态优化。