R語言中的模擬過程和離散化:泊松過程和維納過程
原文鏈接:http://tecdat.cn/?p=17303?
原文出處:拓端數(shù)據(jù)部落公眾號
?
本文中,我們討論了一個將Poisson過程與Wiener過程結(jié)合在一起的最佳算法的問題。實際上,為了生成泊松過程,我們總是習慣于模擬跳躍之間的持續(xù)時間。我們使用給定時間間隔內(nèi)跳躍的均勻性,該條件取決于跳躍的次數(shù)。
首先,我們可以生成一個可能具有漂移的維納過程,然后在其旁邊,我們可以生成指數(shù)定律(這將對應于跳躍之間的時間),還可以生成跳躍幅度 。我們在這里

要么?

。我們首先通過注意

其中增量是高斯(均值和方差),并且彼此獨立。至于跳躍之間的持續(xù)時間,它們是獨立的平均指數(shù)定律。這是代碼,
n=1000
h=1/n
lambda=5
set.seed(2)
W=c(0,cumsum(rnorm(n,sd=sqrt(h))))
W=rexp(100,lambda)
N=sum(cumsum(W)<1)
T=cumsum(W[1:N])
X=-rexp(N)
問題是對于維納過程,我們必須離散化,而對于復合泊松過程,我們不能離散化。但是,他們有相同的時間范圍。第一種方法是建立trunc函數(shù)?
W[trunc(n*t)+1]+sum(X[T<=t])+lambda*t
然后可視化
L=Vectorize(Lt
plot(u,L(u),type="l
?

?
另一種可能性是使用我在引言中提到的泊松過程的均勻性。因為泊松過程滿足一個特性:如果是第i個跳躍發(fā)生的日期,則有條件基于以下事實:?

,變量?

?對應于的訂單統(tǒng)計?

?獨立變量,是均勻分布
該屬性可在?Wolff(1982)中找到。我們從一個(單個)跳躍開始,

?
即我們找到一個統(tǒng)一的分布函數(shù)。然后,我們進行2跳,3跳等迭代。
這個想法的R翻譯很簡單
N=rpois(1,lambda)
然后,一種策略是離散化Poisson過程,與Wiener過程的時間步長相同,
indice=trunc(T*n
processus=W+cumsum(saut)+lambda*u
我們發(fā)現(xiàn)與以前相同的軌跡

?
通過此過程,我們不能在同一時間間隔內(nèi)有兩次跳躍。泊松過程的特征是

?
因此,極少有機會同時進行兩次跳躍,尤其是在時間步長較小的情況下。如果我們生成數(shù)千條軌跡,那么一次出現(xiàn)問題的可能性就可以忽略不計。
有一個主意是采用離散均勻分布,
T=c(0,sort(sample((1:(n-1)/n),size=N,replace=FALSE)))
以避免同時發(fā)生兩次跳躍。
為此,我們可以做一些測試。例如,生成一些模擬以具有一百次跳躍(因此兩次跳躍之間的持續(xù)時間為一百次),然后進行指數(shù)定律檢驗。
VT=0
for(ns in 1:20){
N=rpois(1
我們在這里做了20個循環(huán)
lambda=5
我想進行一百次觀察來進行檢驗。然后,我們可以進行指數(shù)擬合檢驗,
ks.test(VT[-1],"pexp",lambda)$p.value
如果我們重復很多次,則通過更改時間步長(或時間間隔的細分數(shù)),實際上,如果時間步長很大(在左下方),我們將通常拒絕,指數(shù)定律也是如此。但是很快,這是一個不成立的假設,
?

?
我們有兩個不錯的算法來生成萊維過程。

最受歡迎的見解
1.R語言泊松Poisson回歸模型分析案例
2.R語言進行數(shù)值模擬:模擬泊松回歸模型
3.r語言泊松回歸分析
4.R語言對布豐投針(蒲豐投針)實驗進行模擬和動態(tài)可視化
5.用R語言模擬混合制排隊隨機服務排隊系統(tǒng)
6.GARCH(1,1),MA以及歷史模擬法的VaR比較
7.R語言做復雜金融產(chǎn)品的幾何布朗運動的模擬
8.R語言進行數(shù)值模擬:模擬泊松回歸模型
9.R語言對巨災風險下的再保險合同定價研究案例:廣義線性模型和帕累托分布Pareto distributions
?