簡單利率模型的蒙特卡洛模擬和類似投資組合排序的R實現(xiàn)

Q461157910
今天遇到一個小的需求,類似于實證金融中常用的投資組合排序方法,但相比起來更簡單一些,比較適合learn the hard way。

需求描述如下:

有量級可比擬的兩列數(shù)據(jù)p和ps(比如一支股票的收益率和滯后一期收益率),需要用ps的20%分位點將p分成5份,再統(tǒng)計每一份的均值,并畫出每一份的核密度曲線。

代碼如下,作為一個簡單示意,此處的p和ps分別來自兩個參數(shù)不同的Vasicek模型的蒙特卡洛模擬。

sp=function(x,q){

  res=max(which(q<=x))

  if(res==length(q))

    res=res-1

  return(res)

}

mc=function(r0,T,deltaT,a,b,sigma){

  path=rep(r0,T/deltaT)

  for(i in 2:length(path)){

    path[i]=path[i-1]+a*(b-path[i-1])+sigma*rnorm(1,0,1)

  }

  path

}

p=mc(0.03,10,0.0001,0.1,0.04,0.02)

ps=mc(0.05,10,0.0001,0.15,0.05,0.10)

q=quantile(ps,seq(0,1,0.2))

c=apply(X=as.array(p), MARGIN = 1, FUN=sp,q)

m=tapply(p,c,mean)

co=tapply(p,c,length)
Rplot.jpeg

PS:這個小需求還可以用base里面的cut函數(shù)完成,然而不屬于hard way范圍,不再贅述。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容