卡尔曼滤波:过滤随机游走

news2024/11/26 14:31:03

本文是Quantitative Methods and Analysis: Pairs Trading此书的读书笔记。

我们知道,随机游走序列是到当前时间为止白噪声实现(white noise realization)的简单求和。换句话说,随机游走序列中的对下一个时间点值的估计(预测)是通过从高斯分布中抽样获得(或者说服从高斯分布)。还要注意,股票价格的对数通常被建模为随机游走。

现在假设有一个任务就是观察随机游走。观察的结果是得到一个随机游走序列。就股价而言,观察任务意味着得到股票价格的时间序列。我们周期性地观察股票的价格并记录它们。股票的价格时序形成了随机游走。

注意,我们观察到的股票价格都是准确无误的,因此能够无误地观察(observe)股价时序。问题是如果观测(observation)是没有错误的,那么卡尔曼滤波模型就不适用了。为什么我们还需要这样做(需要卡尔曼滤波)?

通常来说,任何时刻的股价都应该体现供需平衡的情况,这个价格叫做均衡价格(equilibrium price)。在这种情况下,周期性测量方法相当于使用特定时间的观测价格作为时间间隔的均衡价格。所以,在每个时间间隔结尾得到的观测价格相当于是对这个时间间隔均衡价格的求近似值(approximation)。那么,观测误差(observation error)就变得有意义了。因而,可以把卡尔曼滤波方法用在股价上,具体是用在股价求对数之后的序列即一个随机游走过程上。

现在从时间t=0开始,观测到的状态(股价)是y_{t},实际的状态(股价)是x_{t}。观测的式子表示为:

观测值是真实值加上误差

根据随机游走,我们有:

当前状态是上一个状态加上innovation

我们把这些写成一个序列:

用矩阵的方式表示:

进一步表示成:

下标的2表示估计的状态的数目。我们有五个式子(方程),三个未知数x_{0},x_{1},x_{2}。因为式子比未知数多,这种系统又叫做超定集(overdertermined set)。如果每个阶段的误差都是来自相同的,独立的正态分布,对于超定集的解可以用最小二乘法获得:

去到下一个观测值y_{3},我们有以下的矩阵,我们对状态的估计就是这个矩阵的解:

这个系统就有七个式子(方程),四个未知数。同样我们解这些方程,就得到x_{3}的估计。但是,随着观测值的增加,矩阵增大,计算的花费也增大。而卡尔曼滤波方法就是救星。因为在卡尔曼滤波中,前一步的结果用于下一步状态的预测,比如前一步计算好的x_{2}及它的方差,可以用于x_{3}的预测。这样,评估下一步的计算成本是相同的,无论我们计算多少的时间步长。


不管怎样,卡尔曼滤波情况下状态估计的最终结果与使用最小二乘法求解方程组的结果相同。注意,我们在这个过程中做出了一个重要的假设,即每个时间步长的状态方差等于观测方差。(还有一个假设是误差分布独立性。)因此,根据前面的假设,卡尔曼滤波器归根结底是方程的最小二乘解。不同的是卡尔曼滤波中解是以递归方式计算的。因此,卡尔曼滤波器被称为递归最小二乘法。

相同和独立误差分布(误差是独立同分布的)的假设体现在误差的协方差矩阵中。独立性也意味着误差不相关。因此,协方差矩阵中的非对角元素均为零。协方差矩阵中的对角元素是误差项的方差。如果它们来自相同的分布,那么方差应该是相同的。因此,在这种情况下,协方差矩阵可以表示为单位矩阵乘以常数。


 现在我们回到刚才的方程组的解的讨论中。结果表明,该组方程在给定时间的估计状态可以表示为观测值的加权线性组合。此外,权重实际上是斐波那契数的比率。一个斐波那契数列是犹如以下的数列:

斐波那契数列

即前两项之和等于第三项:

斐波那契数列通项公式

对于状态x_{2}的估计可以表示为:

类似地,x_{3}的估计表示为:

一般来说,我们有:

且,

注意,以上权重公式成立的前提假设是状态的方差与观测的方差是相同的。也就是说,如果我们要用以上的公式,那么每一步我们都要估计状态的方差和观测的方差

在随机游走中,状态方差可以被估计为innovation的方差。将股票价格序列建模为随机游走,innovation对应于股价序列的周期收益。因此,这种情况下的状态方差就是周期回报的方差。这种计算在金融界相当普遍,通常被称为历史波动率(historical volatility)。然而,观测方差的估计有点不一样。在一个时间段内我们除了观察收盘价,我们还观察了该时间段内股价最高价和最低价。观测误差的方差是该时间段内股价的波动性。这种波动性被最高价和最低价所描述。存在几种基于高-低价格估算波动率的方法,可以使用任何一种方法来估计观测方差。一旦状态和观测方差已知,我们就可以应用卡尔曼滤波方法了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/50260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么程序员买不起房子?

很多人都说程序员的收入那么高,为什么程序员还是买不起房呢?其实不是程序员不想买,是真的买不起…… 拿北京为例。北京的房价可谓是越来越奇葩,不仅仅是因为银行政策导致贷款越来越难审批下来,更重要的是进入地产市场…

音频3A算法详解

一、音频3A技术背景 手机电脑等智能设备的普及,AI智能、5G等技术的不断发展,语音通信成为了最方便快捷的远程交流方式,会议全向麦克风、会议一体化终端等会议系统逐渐成为企业经营中的重要工具。语音质量决定了企业远程沟通协作效果,其中噪音和回声能够严重影响到语音预处理…

图扑软件获评 2022 年“火炬瞪羚企业”

厦门火炬高新区 2022 年“火炬瞪羚企业”名单公布,图扑软件经过层层遴选,成功入围,获评 2022 年“火炬瞪羚企业”称号。 在 2021 年,图扑软件已经凭借领先的技术实力和发展潜力,入选福建省数字经济领域“瞪羚”创新企业…

连续学习入门(二):连续学习的三种类型

说明:本系列文章若无特别说明,则在技术上将 Continual Learning(连续学习)等同于 Incremental Learning(增量学习)、Lifelong Learning(终身学习),关于 Continual Learni…

Express操作MongoDB【一.Express框架通过Mongoose模块操作MongoDB数据库;二.在接口中间件中使用Mongoose模块】

目录 一.Express框架通过Mongoose模块操作MongoDB数据库 1.MongoDB数据库: (1)存放数据的格式:key:value (2)数据库(database)---集合(collection)---文档…

使用vite 搭建vue 3的项目

一、目标: 使用vite搭建一个Vue 3 的项目,并启动成功。 二、准备工作 首先你要有Node.js、VSCode编辑器、Chrome浏览器 关于下载的问题Node.js可以去官网下载 链接:http://nodejs.cn/download/ 下载左边的长期支持版本就好,最新版…

基于Haar-Like特征的人脸检测算法研究-附Matlab代码

⭕⭕ 目 录 ⭕⭕✳️ 一、引言✳️ 二、Haar-Like 特征✳️ 三、人脸检测实验验证✳️ 四、参考文献✳️ 五、Matlab代码获取✳️ 一、引言 脸是每个人最重要的外貌特征,随着科技推动社会不断向前发展,人脸识别也逐渐融入人们的生活中,例如在…

活动预告丨EMNLP 2022半监督和强化对话系统研讨会12月7日线上召开!

由清华大学和中国移动联合承办的EMNLP 2022 SereTOD Workshop “Towards Semi-Supervised and Reinforced Task-Oriented Dialog Systems(迈向半监督和强化的任务型对话系统)”,即将与EMNLP 2022主会同步举办。因受疫情影响,研讨会…

【蓝桥备战】前缀和+差分+高精度

文章目录前缀和差分大整数加减乘除前缀和 前缀和,即preSum[i] nums[i-1] nums[i-2] nums[0]。一般地,我们会让preSum[0] 0。 图:preSum[3] nums[2] nums[1] nums[0]。 构造前缀和数组对我们来说是简单的,只需要会用以下…

c++中的内存分区模型

内存分区模型 c程序在执行时,将内存大方向划分为4个区域1、代码区:存放函数体的二进制代码,由操作系统进行管理2、全局区:存放全局变量和静态变量以及常量3、栈区:由编译器自动分配释放,存放函数的参数值&…

手把手教你使用Vue3指定状态管理库--Pinia

什么是 Pinia Pinia 与 Vuex 一样,是作为 Vue 的“状态存储库”,用来实现 跨页面/组件 形式的数据状态共享。 在平时的开发过程中,Vue 组件之间可以通过 Props 和 Events 实现组件之间的消息传递,对于跨层级的组件也可以通过 Ev…

Java并发编程实战读书笔记三

第七章 取消和关闭 Java没有提供任何机制来安全的终止线程,虽然 Thread.stop 和 suspend 等方法提供了这样的机制,但由于存在着一些严重的陷,因此应该避免使用 7.1任务取消 7.1.1 中断 取消任务中生产者使用了队列的put操作导致阻塞后任务…

day14_类中成员之构造器

由来 我们发现我们new完对象时,所有成员变量都是默认值,如果我们需要赋别的值,需要挨个为它们再赋值,太麻烦了。我们能不能在new对象时,直接为当前对象的某个或所有成员变量直接赋值呢。可以,Java给我们提…

工作两年,没想到靠Python搞副业让我实现了财务自由

前言 国庆假期和好友聚会,聊了各自近两年的变化,朋友的经历让我大吃一惊! 2年前他还是月薪5千的小编,现在轻松实现月入5万的小目标。 (文末送读者福利) 原来是利用空余时间学会了Python编程&#xff0c…

TPM零知识学习二—— 相关链接和页面

TPM2社区的主页地址为:https://tpm2-software.github.io/ 页面如下: 主页中提供了很多有用的链接,包括: Software | tpm2-software community 页面如下: External | tpm2-software community 页面如下:…

《计算机体系结构量化研究方法》1.8 性能的测量、报告和汇总

引入 1、一些概念 响应时间:手机用户所关注的“速度”,也就是一个事件从启动到完成的时间,又称为执行时间。 吞吐量:给定时间内完成的总工作量,WSC的操作人员关注这个。 执行时间是性能的倒数(即执行时间…

DSP之Controlsuit和C2000Ware下载安装

DSP之Controlsuit和C2000Ware下载安装 Controlsuit 用于 C2000TM 微处理器的 controlSUITETM 是一套全面的软件基础设施和软件工具集,旨在最大程度地缩短软件开发时间。从特定于器件的驱动程序和支持软件到复杂系统应用中的完整系统示例,controlSUITET…

Redis击穿、穿透、雪崩

Redis 的基本概念 在没有添加 Redis 的时候,后端的查询流程是: 用户访问页面-请求后端服务-经过逻辑处理后,去数据库查询信息。 在添加 Redis 的之后,后端的查询流程是: 用户访问页面-请求后端服务-经过逻辑处理后&a…

超强AI绘图-文生图

一、前言 前面汇总了四种AI绘图的方法,详情可以点击下图跳转到文章《AI绘画合集(11月汇总)》。主要内容是:具象意象派AI作图、AI绘制专属动漫头像、基于ViLG模型AI 作画。点击下面文章跳转! 《AI绘图—对中文拟合度…

LabVIEW创建类 3

LabVIEW创建类 3 继承 通过“继承”可在现有类的基础上创建新类。若创建一个新的LabVIEW类并将它设置为继承另一个类的数据及成员VI,这个新类将可使用它所继承的类中“公共”及“保护”型的成员VI。这个新类还可添加自己的数据和成员VI以丰富其功能。例如&#xf…