• R语言对HullWhite短期利率模型仿真


    原文链接:http://tecdat.cn/?p=18661

    在这篇文章中,我使用 R 建立著名的Hull-White利率模型并进行仿真。

    Hull and White(1994)模型解决Vasicek模型对利率的初始期限结构的拟合不佳的问题。该模型定义为:

    Wt是风险中性框架下的维纳过程,模拟随机市场风险因素。σ是标准差参数,影响利率的波动,波动幅度有着瞬时随机流动的特征。参数b,a,σ和初始条件r0是完全动态的,并且瞬时变动。

    该模型的另一种示形式是:

    假定a是非负数:

    b:长期平均水平。在长期水平下产生一系列r的轨道值。

    a:回归速度。代表b的轨道值实时重组的速度。

    σ:代表瞬时波动,测量每个时点随机因素进入系统的振幅

    以下是由公式导出的一些数值:

    ​:长期方差。计算在长期所有r值围绕平均值重组的轨道值。

    aσ数值相反波动:增加σ会增加随机数进入系统的数量,

    a增加会使方差稳定,围绕长期平均值b以方差值波动。这在看长期方差时十分明显。 当方差值不变时,若σ增加,a减少。此模型是一个奥恩斯坦 - 乌伦贝克随机过程。

    这些假设以及 对信贷/流动性风险的简单(并行)调整仍在保险中广泛使用 ,但在2007年次贷危机后被市场抛弃。

    有关新的多曲线方法的更多详细信息,请参见例如 http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2219548。在本文中,作者介绍了一个多曲线自举(bootstrap)过程。

    #清理工作区

    rm(list=ls())

    #模拟的频率

    1.  
      freq <- "monthly"
    2.  
       
    3.  
      delta_t <- 1/12

    #数据

    1.  
      params <- list(tradeDate=as.Date('2002-2-15'),
    2.  
       
    3.  
                     settleDate=as.Date('2002-2-19'),
    4.  
       
    5.  
                     payFixed=TRUE,
    6.  
       
    7.  
                     dt=delta_t,
    8.  
       
    9.  
                     strike=.06,
    10.  
       
    11.  
                     method="HWAnalytic",
    12.  
       
    13.  
                     interpWhat="zero",
    14.  
       
    15.  
                     interpHow= "spline")

    #构建利率期限结构的市场数据

    #存款和掉期

    1.  
      tsQuotes <- list(d1w =0.0382,
    2.  
       
    3.  
       
    4.  
                       s2y = 0.037125,
    5.  
       
    6.  
                       s3y =0.0398,

    #具有相应期限和期限的掉期波动率矩阵

    1.  
      swaptionMaturities <- c(1:5)
    2.  
       
    3.  
      swapTenors <- c(1:5)
    4.  
       

    #为掉期定价

    pric <- Swaption(params, swaptionMaturities, swapTenors, 
     

    #构建利率的即期期限结构

    #根据输入的市场数据

    1.  
      times <- seq(from = delta_t, to = 5, by = delta_t)
    2.  
       
    3.  
       
    4.  
      maturities <- curves$times
    5.  
       

    ############## Hull-White短期利率模拟

    #模拟次数,频率

    1.  
      horizon <- 5
    2.  
      sims <- 10000

    #校准Hull-White参数

    1.  
      a <- pricing$a
    2.  
       
    3.  
      sigma <- pricing$sigma

    #使用模拟高斯冲击

    simshos(n = nb.sims, horizon = horizon )

    #使用模拟因子x

    #我使用远期汇率。由于每月的频率较低,

    #我认为它们是瞬时远期汇率

    1.  
      fwdrates <- ts(replicate(nb.sims, curves$forwards),
    2.  
       
    3.  
                      start = start(x),
    4.  
       
    5.  
                      deltat = deltat(x))

    # α

    1.  
       
    2.  
       
    3.  
      alpha <- fwdrates + param.alpha

    #短期利率

    r <- x + alpha

    #随机贴现因子(当前的数值积分是非常基本的)

    #由随机贴现因子得出的蒙特卡洛价格和零利率

    1.  
       
    2.  
      montecarlozerorates <- -log(montecarloprices)/maturities

    #市场和蒙特卡洛价格之间的差异的置信区间

    1.  
      conf.int <- t(apply((Dt - marketprices)[-1, ], 1, function(x) t.test(x)$conf.int))
    2.  
       
    3.  
       
    1.  
      par(mfrow = c(2, 2))
    2.  
       

    #短期利率分位数

    #蒙特卡洛vs市场零利率

    1.  
      plot(maturities, montecarlozerorates, type='l', col = 'blue', lwd = 3,
    2.  
       
    3.  
      points(maturities, marketzerorates, col = 'red')

    #蒙特卡洛vs市场零息价格

    1.  
      plot(maturities, montecarloprices, type ='l', col = 'blue', lwd = 3,
    2.  
       
    3.  
      points(maturities, marketprices, col = 'red')

    #价格差的置信区间

    matplot(maturities[-1], conf.int, type = 'l'


    最受欢迎的见解

    1.用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)的应用

    2.R语言GARCH-DCC模型和DCC(MVT)建模估计

    3.R语言实现 Copula 算法建模依赖性案例分析报告

    4.R语言COPULAS和金融时间序列数据VaR分析

    5.R语言多元COPULA GARCH 模型时间序列预测

    6.用R语言实现神经网络预测股票实例

    7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

    8.R语言如何做马尔科夫转换模型markov switching model

    9.matlab使用Copula仿真优化市场风险

  • 相关阅读:
    Picasso的使用
    利用APT实现Android编译时注解
    Android新增的注解
    Android 最早使用的简单的网络请求
    Java中的Type
    Android IntentService
    Android view状态保存
    Android ANR
    Android 文字垂直居中
    Activity Fragment转场动画
  • 原文地址:https://www.cnblogs.com/tecdat/p/14223935.html
Copyright © 2020-2023  润新知