参数估计_随机微分方程的参数估计(一)

随机微分方程,俗称SDE,相信点进来的同学们肯定对这个概念不感到陌生。SDE呢,是对现实生活中一些随机波动的事物的建模,比如可以用几何布朗运动(GBM)来模拟股价变化,用CIR模型来模拟利率波动。

然而一个很现实的问题就是,如何对SDE进行参数估计?就是,对于一个给定的含有参数的SDE,给出一些轨道,然后想要估计出参数的值来。比如已知一只股票的历史价格数据,假定它服从GBM,怎么近似求出它的期望收益率

和波动率
呢?

知乎上还没有人专门讨论过这个问题,最近看了几篇这个主题的论文,所以我来抛砖引玉了。

问题的标准形式

对于含参的扩散方程:

是扩散过程的初值,
是标准布朗运动,
是待估计的参数。漂移项
和扩散项
函数已知;参数向量
,其中参数空间
是紧集。为保证解的唯一性,进一步还要求漂移函数和扩散函数是Lipschitz连续的。

扩散问题参数估计的标准形式是:已知过程

的一系列观察点
,且
,根据
的值,得到参数
的估计。
扩散过程一定满足马尔科夫性,这给研究参数估计带来了便利性。

极大似然估计法

面对参数估计的问题自然就会想到极大似然法,在矩估计不好用的时候,极大似然估计是点估计比较好的选择。

由于给出的观测点都是离散的,设

是在给定
时刻的位置
和参数
的条件下的转移概率密度函数,从而我们有似然函数:

现在麻烦的事情是这个转移概率密度怎么计算,有了它才能求似然解对不对!?

EML

事实上,转移概率密度满足如下PDE:

这个抛物PDE叫做Fokker-Planck方程,证起来比较麻烦。这个方程可是在物理学有广泛的应用的。(你看大名鼎鼎的 Planck 普朗克)

这么看,对于某些特殊的SDE,是可以从理论上求出转移密度的解析解的,继而可以精确求解极大似然函数。比如说对于CIR过程就是可以写出解析形式的转移概率密度。但是对于大多数SDE,根本没有办法解得这样一个复杂的PDE的解析解,但是退一步,可以数值求解该PDE,或者求出一个近似的解析解来代替真正的解。硬刚一个PDE确确实实可以解决咱们的问题,在一些论文里边,这种方法叫做EML(exact maximum likelihood)

但是硬刚PDE这种方法不好操作啊,理论艰深,操作困难,关键是咱学不会。那有没有容易一点的方法?

DML

回忆一下SDE的两种模拟方法:

  • Euler-Maruyama方法:
  • Milstein方法:

其中

是标准正态分布。当扩散项
是常数的时候,这两种方法是一样的。

这两种方法其实都是对SDE在一个区间上的离散近似,借助这种近似(Euler方法),我们可以认为,从

转移概率密度是均值为
,方差
的正态分布密度函数,这里
,也就是:

看样子问题已经有点眉目了,现在我们可以把这个转移概率密度代入到似然函数去求解似然方程啦!

这种方法借助SDE模拟的离散形式近似估计转移概率密度,因此称作DML(discret maximum likelihood)。

下面以CIR模型来说明一下如何用DML来进行估计和DML方法的效果,代码全部是用MATLAB写的。

一个生动的参数估计的例子

CIR模型:

这里面有三个参数,

。记
,通过解上面提到的似然方程可以得到三个参数应该满足的方程为:

一般来说,先通过第二、三个方程组得到

的估计量再代入到第一个式子得到
的估计。总而言之,给到咱们一条轨道数据就可以求出相应参数的估计值!!!

我们用MATLAB自带的函数来生成轨道,MATLAB对CIR模型还是有一定的支持的:

model = cir(2, 1, 0.5, 'StartState', 1);
[X, T] = model.simByEuler(100,'DeltaTime',0.01);

以上第一行代码创建了一个cir类,三个参数分别是2, 1, 0.5并且起始点是1。第二行调用了这个类的simByEuler方法,以0.01s为时间间隔得到100个点,等于我们得到了一条[0,1]上以0.01为时间间隔的轨道!

接下来我写了一个用DML方法给定一条轨道求CIR模型参数估计的函数:

% DML.m
function [alpha, beta, sigma] = DML(X, T)
% 使用DML方法根据采样时间 T 和 位置 X 来估计 CIR 模型的三个参数% 别看这里符号乱,其实就是解上面那个方程组,你自己也可以写一个
d = diff(T);
A = sum(d);
B = sum(X(1: end-1) .* d);
C = X(end) - X(1);
D = sum(d ./ X(1: end-1));
E = sum(diff(X) ./ X(1: end-1));beta = (B - C / E * A) / (A - C / E * D);
alpha = E / (beta * D - A);sigma = sqrt( mean( (...(diff(X) - alpha * (beta - X(1: end-1)) .* d ) .^ 2 ./ (X(1: end-1) .* d))));
end

ok,三个参数的真实值还是取为2, 1, 0.5,我们用上面的那个cir类来模拟200条轨道,然后对结果求平均数:

DML_a = [];  % alpha
DML_b = [];  % beta
DML_s = [];  % sigma
for i = 1 : 200[X, T] = model.simByEuler(100,'DeltaTime',0.01);[alpha, beta, sigma] = DML(X, T);DML_a = [DML_a alpha];DML_b = [DML_b beta];DML_s = [DML_s sigma];
end

200条轨道得到了200个参数的估计值,其结果的分布如图:

87c1de34dfa03886ed9fcef53621da92.png

一开始看到这个结果我以为我代码敲错了,因为

的估计有不小的偏差,其真实值只有2,但是估计出来的结果很明显不是以2为中心的,但是
的求解都需要依赖
,而后面这两个参数估计的效果还是不错的,尤其是
,可以看到它的方差还很小。

DML估计法其实是个有偏估计,从上面的

是可以看出一点端倪的。

Conclusion

本文提出了一般形式的随机微分方程的参数估计问题,对于其参数的极大似然估计方法提出了EML和DML两种思路,并针对比较好实现的DML方法给出了CIR模型参数估计的代码和示例。

接下来一篇文章我会分析DML方法的不足之处,并介绍一些能够改进DML方法的思路。

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

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

相关文章

「mysql优化专题」主从复制面试宝典!面试官都没你懂得多!(11)

内容较多,可先收藏,目录如下: 一、什么是主从复制 二、主从复制的作用(重点) 三、主从复制的原理(重中之重) 四、三步轻松构建主从 五、必问面试题干货分析(最最重要的点&#xff09…

为什么WordPress网站应尽量避免使用过多插件

前几天,我们在给一个客户优化其企业网站时,发现其网站使用了太多的WordPress插件。WP插件可以扩展网站的功能;然而如果使用不当,也会给网站带来一些负面的影响。在这篇文章中,WPChina.org就给大家介绍一下,…

OracleApps Dropship 流程

做的一个Dropship流程的实录(包括流程期间遇到问题的解决)What are the advantages of Drop Shipment Orders?These are the benefits: No inventory is required Reduced order fulfillment processing costs Reduced flow times Elimination of losses on non-sellable …

word取消下一页_word文档页码设置及文中小箭头清除办法

在很长一段时间里,朋友圈流传的这样一段话:世人慌慌张张,不过图碎银几两;可偏偏就是这几两碎银,能免饥荒,能定安康 ,能解世人惆怅。。。问:word怎么从第二页开始加页码答&#xff1a…

html语义

1、<Hx> <h1>、<h2>、<h3>、<h4>、<h5>、<h6>,作为标题使用&#xff0c;并且依据重要性递 减。 <h1>是最高的等级。 2、<p>作为段落 利用行高(line-height)很容易的定义出行间距 3、<ul>、<ol>、<li>…

一起写框架-Ioc内核容器的实现-对象的调用-属性注入容器的对象(十)

实现功能 需求&#xff1a;在类的成员属性使用Autowirde注解注入容器中的对象。 实现思路 要实现这个功能。我们首先要思考一个问题&#xff1a;类与类的关系是在调用的建立的&#xff0c;还是说在创建对象的时候就就将建立了&#xff1f; ---我实现的方案是&#xff0c;在在程…

2064: 分裂 - BZOJ

Description 背景&#xff1a; 和久必分&#xff0c;分久必和。。。 题目描述&#xff1a; 中国历史上上分分和和次数非常多。。通读中国历史的WJMZBMR表示毫无压力。 同时经常搞OI的他把这个变成了一个数学模型。 假设中国的国土总和是不变的。 每个国家都可以用他的国土面积代…

android h5使用缓存_Android SDK 的 H5 打通方案演进 | 数据采集

一、前言近年来&#xff0c;混合开发越来越流行&#xff0c;App 与 H5 的打通需求也越来越迫切。那什么是 App 与 H5 打通呢&#xff1f;所谓 “打通”&#xff0c;是指 H5 集成 JavaScript 数据采集 SDK 后&#xff0c;H5 触发的事件不直接同步给服务端&#xff0c;而是先发给…

渐渐褪色的彩虹 好像一个梦

渐渐褪色的彩虹 好像一个梦 ——初梦 好像从来没写过游记呢...就权当记流水账随便写一些吧 11.10 Day 0 期待又紧张&#xff0c; 像以前一样坐高铁&#xff0c; 车上打了打几个板子&#xff0c;抵达广州&#xff0c; 时间过的真快啊... 到达酒店&#xff0c; 这也许又(?)是我…

php 开发框架 (资料收集)

PHP最流行的框架是Laravel, Symfony, CodeIgniter, Yii 1 and 2&#xff0c;Phalcon 和其他一些&#xff0c;这些工具能帮你创建功能强大而整洁的应用程序 Laravel与thinkPHP的异同点 主要区别:(thinkPHP更适合国人的编码习惯) TP5更简单实用&#xff0c;文档丰富&#xff0c;…

Android的Button按钮,ACTION_UP事件不触发解决方案

在android 编程时&#xff0c;有时候要实现当Button一直按下的时候&#xff0c;执行一些逻辑代码&#xff0c;当按钮弹起的时候&#xff0c;终止这些逻辑代码的执行。 比如在 设置页面的滑动开关时&#xff0c;如果不监听ACTION_CANCEL&#xff0c;在滑动到中间时&#xff0c;如…

简单人物画像_你真的理解用户画像吗?| 船说

“「设计师沙龙」是ARK下半年开始逐渐形成的传统&#xff0c;由ARKers自发组织&#xff0c;分为视觉和交互两类&#xff0c;每月各举办一次。大家围绕一个话题展开&#xff0c;聊聊行业最新案例和工作上的心得&#xff0c;帮助大家共同进步。ARKers表达的观点均为个人见解&…

try catch线程问题???

try。。。catch 在遇见异常是会开启一个新的线程&#xff0c;用来处理异常&#xff0c;转载于:https://www.cnblogs.com/Flyrun/p/7828788.html

thinkphp 3 升到 thinkphp 5 或更高 ( 资料收集)

https://www.cnblogs.com/shy-/p/10447827.html thinkphp3.2升级至thinkphp5.0.24 view文件# 修改文件名# 把tp3.2.3\app\module\view文件夹下所有文件夹拷贝至tp5\app\module\view打开cmd命令窗口&#xff0c;cd至view文件夹下&#xff0c;执行dir /b 1.bat使用notepad打开…

emoji表情引发的JNI崩溃

今天突然接到客服那边的反馈说&#xff0c;有玩家反馈进游戏后不久就崩溃了&#xff0c;我先是怀疑网络问题&#xff0c;因为一连接聊天成功后就挂了。之后用logcat抓日志&#xff0c;发现挂在jni那里了 JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8…

[Java]向上/下转型Casting

一、向上转型。 通俗地讲即是将子类对象转为父类对象。此处父类对象可以是接口。 1&#xff0c;向上转型中的方法调用。 看下面代码&#xff1a; 注意这里的向上转型&#xff1a;Animal bnew Bird(); //向上转型b.eat(); 此处将调用子类的eat()方法。原因&#xff1a;b实际指向…

8cm等于多少像素_「前端剑指offer第5期」物理像素、逻辑像素、CSS像素、PPI、设备像素比是什么...

# 提问物理像素、逻辑像素、CSS像素、PPI、设备像素比是什么&#xff1f;# 回答物理像素代表屏幕上有多少个点&#xff0c;比如1080x2340表示屏幕一排包含1080个物理像素点。逻辑像素表示屏幕展示物体的视觉尺寸是多少。逻辑像素相同表示物体看起来或者打印出来大小一样&#x…

Python学习之路:函数介绍

编程&#xff1a;面向对象&#xff1a;华山派----->类---->class 面向过程&#xff1a;少林派----->过程--->def 一段段的函数和功能包含在过程中 函数式编程&#xff1a;逍遥派--->函数---->def 过程就是没有return返回值的函数 函数的定义&#xff1a;数学…

php中获取系统信息的方法

2019独角兽企业重金招聘Python工程师标准>>> $root getenv(DOCUMENT_ROOT); 服务器文档根目录$port getenv(SERVER_PORT); 服务器端口$file getenv(SCRIPT_NAME); 当前执行文件$ua getenv(HTTP_USER_AGENT); 用户UA$method getenv(REQUEST_METHOD); 请求方法$p…