
时间序列分析与量化交易(2)||实用
金融与计量经济领域的Quant:这些人更倾向于时间序列分析,用于预测金融市场中的价格波动。 机器学习手段的Quant:这类Quant则运用机器学习模型,作为时间序列分析的一种并列方法。 ADF Test详解 Hurst Exponent详解 协整分析与ADF检验
发布日期:2021-05-07 14:30:48
浏览次数:18
分类:精选文章
本文共 1613 字,大约阅读时间需要 5 分钟。
时间序列分析与投资组合管理
时间序列分析是计量经济学中的传统方法之一,尤其适用于处理数据有限但具有时序特征的场景。相比于机器学习,这一领域只需几十个数据点即可进行分析,门槛较低,适合初学者快速上手。
Quant分析者的分类
Quant分析人员可以分为两大类:
时间序列的分类
时间序列可以分为两大类:
均值回归(Mean Reversion)
如果时间序列是平稳的,意味着它具有一个稳定的均值,价格波动围绕这一均值进行。平稳:可以理解为随机游走的反面,存在Mean Reversion。 均值回归:是否在一个均值附近波动。如果时间序列是随机游走,下一刻的状态无法根据过往判断,与过往价格独立,这使得无法通过统计建模进行盈利。然而,单个股票的价格可能是随机游走的,但一个股票组合可能不是平稳的,这为研究提供了必要性。
终极目标:建立一个投资组合,使其组合是平稳的。
随机游走(Ornstein-Uhlenbeck Process)
时间序列价格的波动可表示为:[d x_t = \theta (\mu - x_t) dt + \sigma d W_t]其中:- (\theta):回归到均值的速率
- (\mu):时间序列的均值
- (\sigma):时间序列的方差
- (W_t):布朗运动
判断时间序列平稳性的方法
判断时间序列是否平稳的常用方法有两种:
ADF Test(卡氏滤波器)
- 公式:通过计算差分检验统计量,判断其是否趋近于零。
- 意义:用于检测序列是否有单位根,决定其平稳性。
- 代码示例:
import numpy as npimport matplotlib.pyplot as pltimport tushare as tsimport statsmodels.tsa.stattools as stsdf = ts.get_hist_data('600000') # 获取浦发银行历史数据data = sts.adfuller(df['close'])print(data)
Hurst Exponent
- 公式:计算时间序列的自相似性指数。
- 意义:Hurst指数越接近于1,序列越趋向随机游走。
- 代码示例:
import numpy as npdef hurst_exponent(df): """计算Hurst指数""" n = len(df) logret = np.log(df) - np.log(df.shift(1)) variance = np.mean(logret**2) return np.sqrt(variance / n)df = ts.get_hist_data('600000')hurst = hurst_exponent(df)print(f"Hurst指数:{hurst}")
协整分析与投资组合管理
单个股票可能是随机游走,但一个股票组合可能不是。例如,百事可乐和可口可乐的价格组合可能呈现平稳性,从而为套利提供空间。
假设有以下关系:[y(t) = \beta x(t) + \epsilon(t)]其中:- (y(t)):百事可乐的价格
- (x(t)):可口可乐的价格
- (\beta):回归系数
- (\epsilon(t)):残差
要验证协整性,需检查以下统计量:
- (p)-值
- (t)-统计量
如果组合呈现平稳性,说明存在套利空间。
动量策略
动量策略是一种基于市场价格预期的投资策略,其核心假设是价格有持续的运动性。通过构建具有动量效应的投资组合,可以捕捉超额收益。
参考文献
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月08日 04时51分44秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
1.12 项目和运营的区别
2019-03-04
2.1 组织运行环境
2019-03-04
7.3 制定预算
2019-03-04
习惯养成记打卡-第7章 项目成本管理
2019-03-04
习惯养成记打卡-第9章 项目资源管理
2019-03-04
LeetCode - 98. 验证二叉搜索树(迭代、递归)2
2019-03-04
【△重点△】LeetCode - 4. 寻找两个正序数组的中位数——二分查找
2019-03-04
LeetCode - 5. 最长回文子串——字符串、动态规划
2019-03-04
【BFS】——LeetCode - 752. 打开转盘锁
2019-03-04
【快慢指针】——LeetCode - 287. 寻找重复数
2019-03-04
【数据结构系列】链表合并问题——链表的奇偶重排
2019-03-04
【Redis】Redis客户端实现的基本原理
2019-03-04
全局锁和表锁 :给表加个字段怎么有这么多阻碍?
2019-03-04
事务到底是隔离的还是不隔离的?
2019-03-04
SpringMVC的Model对象的使用
2019-03-04
文本读取和csv文件生成工具类的编写
2019-03-04
@Import注解---导入资源
2019-03-04
Leetcode 面试题 08.04. 幂集(DAY 103) ---- 回溯算法学习期
2019-03-04
重读&笔记系列-《Linux多线程服务端编程》第一章
2019-03-04
解决ubuntu在虚拟机(VMware)环境下不能联网的问题
2019-03-04