时间序列分析比较偏传统的计量经济学。相比古老传统。与机器学习相比,在三五十个点(很小的数据量)上就可以做的。在获取读取数据的水平之后,最容易上手的是时间序列分析。
- 金融与计量经济领域的quant偏向于时间序列分析;
- 机器学习是另一种做quant的手段,与时间序列分析是并列的一种手段。
-
Mean Reversion 均值回归如果时间序列是平稳的,有一个均值,产品价格围绕均值操作。
平稳:可以理解为随机游走的反面,存在Mean Reversion。
Mean Reversion:是否在一个均值附近波动。
如果时间序列是随机游走,下一刻的状态没法根据过往判断,与过往价格是独立的,那就没法在证券市场构建统计逃离模型赚钱。单只股票的价格很可能就是随机游走。但是一个股票组合,可能不是随机游走(平稳)的,也就有了研究的必要。
终极目标:建立一个投资组合,组合是平稳的。
-
Mean Reversion and Ornstein-Uhlenbeck process
d x t = θ ( μ − x t ) d t + σ d W t dx_t = \theta(\mu - x_t)d_t + \sigma dW_t dxt=θ(μ−xt)dt+σdWt
θ \theta θ:回归到mean的速率
μ \mu μ:时间序列的均值
σ \sigma σ:时间序列的方差
W W W:布朗运动
时 间 序 列 价 格 ( x 1 , x 2 , x 3 . . . x t ) 的 波 动 d x t = 正 比 于 ( 均 值 − 价 格 ) + 随 机 噪 声 时间序列价格(x_1,x_2,x_3...x_t)的波动dx_t = 正比于(均值-价格) + 随机噪声 时间序列价格(x1,x2,x3...xt)的波动dxt=正比于(均值−价格)+随机噪声
判断时间序列是否平稳的两种方法:-
ADF Test1
-
公式
-
意义 卡慢滤波器
-
代码2
import numpy as np import matplotlib.pyplot as plt import tushare as ts import statsmodels.tsa.stattools as sts df = ts.get_hist_data('600000') # 获取浦发银行历史数据 data = sts.adfuller(df['close']) print(data)
结果-0.27>-2.86,说明浦发银行的股价是随机游走过程,对于随机游走无法进行有效的统计建模。
-
-
Hurst Exponent3
- 公式
- 意义。计算
- 代码
-
-
Cointegrated Augmented Dickey-Fuller Test
单个股票容易随机游走,那就做一个投资组合。比如两只股票,百事可乐和可口可乐,其组合是一个稳定过程,如果百事偏离了均值,那就容易出现套利空间。
y ( t ) = β x ( t ) + ϵ ( t ) y(t)=\beta x(t) + \epsilon (t) y(t)=βx(t)+ϵ(t)
y ( t ) y(t) y(t):某只股票,比如百事可乐x ( t ) x(t) x(t):另一只股票,比如可口可乐
ϵ ( t ) \epsilon(t) ϵ(t):噪声项
这是一个单变量回归。如何保证残差项residual ϵ ( t ) \epsilon(t) ϵ(t)是一个高斯分布?
协整关系,沪深300 两两协整
p-value
t-staistics
-
-
Momentum动量
本文聚焦时间序列分析与量化交易。时间序列分析偏传统计量经济学,在小数据量上易上手。做quant有时间序列分析和机器学习两种手段。时间序列分平稳和随机游走两类,目标是建立平稳投资组合,还介绍了判断平稳性的方法及协整关系在投资组合中的应用。
1018

被折叠的 条评论
为什么被折叠?



