用Matlab生成Ornstein-Uhlenbeck过程
生活随笔
收集整理的這篇文章主要介紹了
用Matlab生成Ornstein-Uhlenbeck过程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先給出Ornstein-Uhlenbeck過程(簡稱OU過程)的SDE形式:
?是均值,代表均值回歸速率,代表波動率(方差),為什么OU過程描述的是均值回歸過程的直觀理解可參見https://blog.csdn.net/qq_33254870/article/details/105137275
Matlab代碼實現:
首先定義模擬生成函數(布朗運動增量用正態變量替代)
function [eta_t] = OU(mu, sigma, theta, dt, init_value) eta_t = zeros(length(mu),1/dt); for i=0:(1/dt)if i==0eta_t(:,i+1)= init_value;elseeta_t(:,i+1)= eta_t(:,i) + theta.*(mu - eta_t(:,i)).*dt + sigma.*sqrt(dt).* normrnd(0,1,[length(mu),1]);end end end保存成同名的以.m為后綴的文件(OU.m)之后就可以調用這個函數來生成Ornstein-Uhlenbeck過程,以下以生成兩個Ornstein-Uhlenbeck過程為例,并展示圖像
mu= zeros(2,1); sigma= 0.2; theta= 0.15; dt= 0.01; init_value= zeros(2,1);ou= OU(mu, sigma, theta, dt, init_value);plot(0:dt:1, ou)總結
以上是生活随笔為你收集整理的用Matlab生成Ornstein-Uhlenbeck过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软的exchange服务器和域怎么填,
- 下一篇: win32下的OpenGL绘图环境框架