【量化笔记】时间序列
时间序列指由有时间先后顺序组成的一组时间变量。分析时间序列的前提假设是,时间序列具有自相关性, 通过这种自相关性,从而通过过去推测未来,如果某个时间序列没有自相关性,那么根据过去推测未来就毫无意义。
自协方差
随机变量 X t X_t Xt,在时间点 k , k − l k,k-l k,k−l,取之分别为 X k , X k − l X_k,X_{k-l} Xk,Xk−l, l l l阶自协方差的表达式:
γ l = E [ ( X k − μ k ) ( X k − l − μ k − l ) ] = C o v ( X k , X k − l ) , l = 0 , 1 , 2... \gamma_l = \mathbb E[(X_k-\mu_k)(X_{k-l}-\mu_{k-l})]=Cov(X_k,X_{k-l}), l=0,1,2... γl=E[(Xk−μk)(Xk−l−μk−l)]=Cov(Xk,Xk−l),l=0,1,2...
自相关系数
ρ l = C o v ( X k , X k − l ) V a r ( X k ) = γ l γ 0 \rho_l = \frac{Cov(X_k,X_{k-l})}{Var(X_k)}=\frac{\gamma_l}{\gamma_0} ρl=Var(Xk)Cov(Xk,Xk−l)=γ0γl
偏自相关系数
在计算昨天对今天的影响的时候,其实前天对昨天的影响也间接影响了今天,大前天对前天和昨天的影响也间接影响了今天。以此类推,计算t和t-1期的相关性时,不单纯是昨天的影响,也包含了之前所有各期的信息对今天的间接影响。所以为了衡量过去单期(一天)对今天的影响,我们引入偏相关性的概念,用于剔除更早之前的信息对现在的影响。
ρ l l = C o r r ( X k , X k − l ∣ X k − 1 , X k − 2 , . . . , X k − l + 1 ) \rho_ll = Corr(X_k,X_{k-l}|X_{k-1},X_{k-2},...,X_{k-l+1}) ρll=Corr(Xk,Xk−l∣Xk−1,Xk−2,...,Xk−l+1)
平稳性
如果时间序列的基本特性保持不变,我们就称该时间序列是平稳的。
强平稳
设 { X t } \{X_t\} {Xt}为一时间序列,对于任意正整数n,任取 t 1 , t 2 , . . . , t n ∈ T t_1,t_2,...,t_n \in T t1,t2,...,tn∈T, 对任意 τ \tau τ 有:
F X ( x t 1 , x t 2 , . . . x t n ) = F X ( x t 1 + τ , x t 2 + τ , . . . x t n + τ ) F_X(x_{t_1},x_{t_2},...x_{t_n})=F_X(x_{t_{1+\tau}},x_{t_{2+\tau}},...x_{t_{n+\tau}}) FX(xt1,xt2,...xtn)=FX(xt1+τ,xt2+τ,...xtn+τ)
即时间序列中任何时段的联合分布都是相同的,则称这个时间序列是请平稳的。这个条件过于苛刻,实际中很难应用。
弱平稳
假设 { X t } \{X_t\} {Xt}是一个时间序列,如果 { X t } \{X_t\} {Xt}满足如下三个条件:
(1) 任取 t ∈ T t \in T t∈T,有 E ( X t ) = μ \mathbb E(X_t)=\mu E(Xt)=μ,即序列的均值为常数
(2) 任取 t ∈ T t \in T t∈T,有 E ( X t 2 ) < ∞ \mathbb E(X_t^2) <\infin E(Xt2)<∞
(3) 任取 t ∈ T t \in T t∈T,对任意整数h,任意阶数l,有 γ l ( t ) = γ l ( t + h ) \gamma_l(t)=\gamma_l(t+h) γl(t)=γl(t+h),即t时点的自协方差与t+h时点的自协方差相等。也就是说,l阶自协方差不随t值改变。
一般说树间序列平稳,都是指弱平稳性。
单位根检验
如果一个序列是非平稳的,经过d次差分,可以将其转换成平稳序列,则称此序列为 I ( d ) I(d) I(d),其中I指整合(Integrated),d为整合阶数。比如:
x t = x t − 1 + ϵ t x_t=x_{t-1}+\epsilon_t xt=xt−1+ϵt
其中 x 0 = 0 , ϵ t ∼ N ( 0 , σ ϵ 2 ) x_0=0, \epsilon_t \sim N(0,\sigma_\epsilon^2) x0=0,ϵt∼N(0,σϵ2)
可以根据计算得到:
E ( x t ) = E ( x t − 1 ) = . . . = E ( x 1 ) = E ( x 0 + ϵ 1 ) = 0 \mathbb E(x_t)=\mathbb E(x_{t-1})=...=\mathbb E(x_1)=\mathbb E(x_0+\epsilon_1)=0 E(xt)=E(xt−1)=...=E(x1)=E(x0+ϵ1)=0
V a r ( x t ) = V a r ( x t − 1 ) + σ ϵ 2 = . . . = t σ ϵ 2 Var(x_t)=Var(x_{t-1})+\sigma_\epsilon^2=...=t\sigma_\epsilon^2 Var(xt)=Var(xt−1)+σϵ2=...=tσϵ2
因为 x t x_t xt的方差会随和时间t发生改变,因此该时间序列是非平稳。不过 x t x_t xt经过一阶差分后 Δ x t = x t − x t − 1 = ϵ t \Delta x_t=x_t-x_{t-1}=\epsilon_t Δxt=xt−xt−1=ϵt,因此 x t x_t xt为非平稳的I(1)序列。
一个时间序列是否平稳可以借助之后蒜子多项式方差的根来判断。滞后算子L,比如对时间序列{x_t}运用滞后算子可得 L x t = x t − 1 , L 2 x t = x t − 2 , . . . Lx_t=x_{t-1}, L^2x_t=x_{t-2},... Lxt=xt−1,L2xt=xt−2,...
将一个序列 y t y_t yt一般化的表示为
y t = γ + ρ 1 y t − 1 + ρ 2 y t − 2 + . . . + ρ p y t − p + ϵ t y_t = \gamma + \rho_1y_{t-1}+ \rho_2y_{t-2}+ ... + \rho_p y_{t-p}+\epsilon_t yt=γ+ρ1yt−1+ρ2yt−2+...+ρpyt−p+ϵt
ϵ t ∼ I I D ( 0 , σ ϵ 2 ) \epsilon_t \sim IID(0,\sigma_\epsilon ^2) ϵt∼IID(0,σϵ2)
借助滞后算子,将上面的模型改写成:
y t = γ + ρ 1 L y t + ρ 2 L 2 y t + . . . + ρ p L p y t + ϵ t y_t = \gamma +\rho_1Ly_t+\rho_2 L^2y_t+ ...+\rho_pL^py_t+\epsilon_t yt=γ+ρ1Lyt+ρ2L2yt+...+ρpLpyt+ϵt
γ + ϵ t = ( 1 − ρ 1 L − ρ 2 L 2 − . . . − ρ p L p ) y t \gamma +\epsilon_t = (1-\rho_1L -\rho_2L^2-...-\rho_pL^p)y_t γ+ϵt=(1−ρ1L−ρ2L2−...−ρpLp)yt
对应的滞后算子多项式方程为:
1 − ρ ( L ) = ( 1 − ρ 1 L − ρ 2 L 2 − . . . − ρ p L p ) = 0 1-\rho(L)=(1-\rho_1L -\rho_2L^2-...-\rho_pL^p)=0 1−ρ(L)=(1−ρ1L−ρ2L2−...−ρpLp)=0
如果 1 − ρ ( L ) = 0 1-\rho(L)=0 1−ρ(L)=0所有根的绝对值都大于1,那么时间序列 y t y_t yt为平稳的时间序列。如果 1 − ρ ( L ) = 0 1-\rho(L)=0 1−ρ(L)=0存在单位根,即L=1,那么时间序列 y t y_t yt就是非平稳,对该时间序列的未来值的预测就难以进行
常见的单位根检验的方法有DF(Dickey-Fuller Test)检验,ADF检验(Augmented Dickey_Fuller Test),PP检验(Phillips-Perron test)。
白噪声
如果一个随机过程中任意时点t的变量 X t X_t Xt的均值和方差,协方差分别满足以下公式:
E ( X t ) = 0 \mathbb E(X_t)=0 E(Xt)=0
V a r ( X t ) = σ 2 Var(X_t)=\sigma^2 Var(Xt)=σ2
γ l = 0 , l > 0 \gamma_l=0,l>0 γl=0,l>0
则称这个随机过程为白噪声过程。白噪声过程中各期变量之间的协方差为0,也就是白噪声过程是没有相关性的。这种时间序列也可以称为纯随机序列。
如果白噪声过程中的个变量独立同分布,且都服从正态分布,则该序列被称为高斯白噪声过程。根据定义,高斯白噪声过程是强平稳的时间序列,而且各期之间不仅不相关,而且互相独立。
白噪声检验
通常使用Ljung-Box检验,检验的原假设为所检验的序列是纯随机序列,Q统计量为:
Q ( m ) = n ( n + 2 ) ∑ k = 1 m ρ k 2 n − k ∼ χ m 2 Q(m) = n(n+2)\sum _{k=1}^m \frac{\rho_k^2}{n-k} \sim \chi^2_m Q(m)=n(n+2)∑k=1mn−kρk2∼χm2
其中, ρ k 2 \rho^2_k ρk2是序列的k阶自相关系数,n是整个序列中观测值的个数,m是设定的滞后阶数。
在检验一个时间序列在m界内是否是白噪声,只有当Q(1),Q(2),…,Q(m)这m个Q统计量都小于对应的 χ 2 \chi^2 χ2分布的临界值时,才说嘛这个序列在所检验的m阶内是纯随机序列。
【量化笔记】时间序列相关推荐
- 机器学习笔记 时间序列预测(基本数据处理,Box-Cox)
数据调整 调整历史数据通常会导致更简单的预测任务. 在这里,我们处理四种调整:日历调整.人口调整.通货膨胀调整和数学变换. 这些调整和转换的目的是通过消除已知的变化源或通过使整个数据集的模式更加一致来 ...
- 【量化笔记】OBV指标交易策略
本篇博客是量化笔记系列的最后一篇了,之后会停更一段时间量化内容,后面会写什么还待定 OVB主要计算累计成交量,将股价上涨时的成交量进行正累加,对股价下跌时的成交量进行负累加,计算公式是: O B V ...
- python怎么检验股票日收益率_Python量化笔记-股票收益率的正态分布检验和凯利公式应用...
本为继承上一篇: 完成以下扩展练习: 4.2 扩展练习2:对股票的收益率进行正态分布检验 4.3 扩展练习3:如果股票的收益率是正态分布的,使用凯利公式进行每日交易 4.2 扩展练习2:对股票的收益率 ...
- 机器学习笔记 时间序列预测(最基本的方法【benchmark】)
1 最基本的方法 这些方法将作为这个系列的benchmark 有时,这些简单方法中的一种将是可用的最佳预测方法: 但在许多情况下,这些方法将作为基准而不是选择方法. 也就是说,我们开发的任何预测方法都 ...
- 机器学习笔记 - 时间序列使用机器学习进行预测
一.概述 在最基本的情况下,我们将预测视为一个简单的回归问题,所有特征都来自单个输入,即时间索引. 只需生成想要的趋势和季节性特征,我们就可以轻松地创建未来任何时间的预测. 然后,当我们添加滞后功能时 ...
- 【量化笔记】配对交易
配对交易的步骤 1. 如何挑选进行配对的股票 2. 挑选好股票对以后,如何制定交易策略,开仓点如何设计 3. 开仓是,两只股票如何进行多空仓对比 股票对的选择 1. 行业内匹配 2. 产业链配对 3. ...
- 机器学习笔记-时间序列基础知识
前言 本章不会对时间序列所有的内容进行一个全方位的介绍,只会简单的整理部分时间序列的基础知识点. 时间序列的成分 时间序列:按时间顺序记录的一组数据,称为时间序列 而一条时间序列通常可以分解为 ...
- 【量化笔记】波动volatility相关技术指标以其含义
目录 Average True Range (ATR) 计算 操作 Bollinger Bands 计算 操作 Bollinger BandWidth %B Ulcer Index 计算 操作 Don ...
- 【量化笔记】Markowitz均值-方差模型
Markowitz均值-方差模型是一种确定在N种资产上投资比例的模型 假定现在投资人初始财富W0W_0W0,在N种资产上的投资比重分别为w1,w2,w3,...,wNw_1,w_2,w_3,..., ...
最新文章
- More than one file was found with OS independent path
- python27安装-linux下安装python27 nginx 和uwsgi
- shiro的内部体系结构
- kubernetes问题排查
- 获取滚动条距离底部的高度
- r语言简介_R语言简介
- ROS 教程之 navigation :在 catkin 环境下创建costmap layer plugin
- 手动挖第一桶金,10日赚3十万元
- C++ 临时变量的常量性
- SQL Server 连接查询(内连接查询)
- 【linux基础】linux不能进入系统
- ThinkPHP2.1 增加PHPCMS模板引擎,支持PC标签(get,json)
- 超好用的录屏软件 captura
- Unity url编码转换
- GMP编译make check时出现FAIL t-scan
- OpenCV:将一个三角形形变到另一个三角形
- 创业者的诗,远方和功不唐捐
- CCF题目:相邻数对
- 锂电池原理与使用保养
- 角点检测 c语言 棋盘格,一种棋盘格角点全自动检测方法与流程
热门文章
- 通达信接口python的安装方法
- 小兵大乱斗服务器维修吗,小兵大乱斗新手怎么玩 小兵大乱斗新萌扫盲攻略
- mybatis中关于example类详解mybatis的Example[Criteria]的使用
- 用加密狗控制软件的授权(C#)
- JS逆向实战12——某店 captchaToken 参数 加密
- JZOJ3232. 【佛山市选2013】排列
- 敏捷软件开发:原则、模式与实践(全)笔记
- svn报错浠ュ墠鐨勬搷浣滄病鏈夊畬鎴愶紱濡傛灉瀹冭涓柇锛岃鎵ц鈥渟vn cleanup鈥?
- eclipse安装python插件,Error getting info on interpreter
- MATLAB神经网络编程(五)——BP神经网络的模型结构与学习规则