交易时间概念
在量化交易中,时间是一个核心维度,正确理解和处理时间概念对策略开发至关重要。
基础时间概念
时间窗口
时间窗口是指在计算指标或分析数据时所选取的一段连续时间范围。
常见类型:
- 固定窗口:如最近20天、60分钟等
- 可变窗口:根据市场条件动态调整窗口大小
- 加权窗口:近期数据权重更高
应用场景:
滚动计算
滚动计算是指随着时间推移,计算窗口不断向前移动的过程。
实现方式:
# 以计算20日移动平均为例
df['MA20'] = df['close'].rolling(window=20).mean()
重要性:
- 保持指标的实时性
- 避免前瞻偏差(Look-ahead Bias)
- 模拟真实交易环境
滞后期处理
滞后期是指某些因素对市场影响的延迟时间。
处理方法:
- 使用
shift()
函数处理数据滞后 - 在信号生成和交易执行间设置合理延迟
- 考虑信息传播速度的市场差异
高级时间概念
多时间框架分析
同时分析不同时间尺度的数据以获得更全面的市场视角。
应用:
- 长周期确认趋势方向
- 中周期寻找入场点
- 短周期精确执行
日历效应
市场在特定时间模式下的异常表现。
常见类型:
- 月末效应
- 假日效应
- 周五/周一效应
- 盘中时间效应(如开盘、午盘、收盘)
时变模型
参数会随时间变化的分析模型。
例子:
- 动态波动率模型(GARCH)
- 时变贝塔系数
- 贝叶斯更新法
避免的常见错误
- 前瞻偏差:在回测中使用当时尚不可得的数据
- 生存者偏差:仅使用现存证券的历史数据
- 样本外验证不足:过度拟合特定时间段
- 忽略交易时间限制:未考虑交易时段、交易延迟等实际因素