R 中 GARCH 的模拟

2023-11-24

我正在对 GARCH 模型进行模拟。模型本身并不是太相关,我想问你的是关于优化 R 中的模拟。最重要的是,如果你看到任何矢量化的空间,我已经考虑过,但我看不到它。到目前为止我所拥有的是这样的:

Let:

#    ht=cond.variance in t
#    zt= random number 
#    et = error term
#    ret= return
#    Horizon= n periods ahead

这是代码:

randhelp= function(horizon=horizon){
    ret <- zt <- et <- rep(NA,horizon)#initialize ret and zt et
    for( j in 1:horizon){
      zt[j]= rnorm(1,0,1)
      et[j] = zt[j]*sqrt(ht[j])
      ret[j]=mu + et[j]

      ht[j+1]= omega+ alpha1*et[j]^2 + beta1*ht[j]
    }
    return(sum(ret))
  }

我想模拟从现在起 5 个周期的回报,所以我将运行这个,假设是 10000。

#initial values of the simulation
ndraws=10000
horizon=5 #5 periods ahead
ht=rep(NA,horizon) #initialize ht
ht[1] = 0.0002
alpha1=0.027
beta1 =0.963
mu=0.001
omega=0


sumret=sapply(1:ndraws,function(x) randhelp(horizon))

我认为这运行得相当快,但我想问你是否有任何方法可以更好地解决这个问题。

Thanks!


您可以使用大小为 N 的向量,而不是在循环中使用数字: 删除隐藏的循环sapply.

randhelp <- function(
  horizon=5, N=1e4, 
  h0 = 2e-4, 
  mu = 0, omega=0,
  alpha1 = 0.027,
  beta1  = 0.963
){
  ret <- zt <- et <- ht <- matrix(NA, nc=horizon, nr=N)
  ht[,1] <- h0
  for(j in 1:horizon){
    zt[,j]   <- rnorm(N,0,1)
    et[,j]   <- zt[,j]*sqrt(ht[,j])
    ret[,j]  <- mu + et[,j]
    if( j < horizon )
      ht[,j+1] <- omega+ alpha1*et[,j]^2 + beta1*ht[,j]
  }
  apply(ret, 1, sum)
}
x <- randhelp(N=1e5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中 GARCH 的模拟 的相关文章

随机推荐

  • 使用 C# 检查进程是否正在远程系统上运行

    我正在尝试检查进程是否正在远程系统上运行 我正在使用以下代码 string procSearc notepad string remoteSystem remoteSystemName Process proce System Diagno
  • 使用 maven 制作 fat jar 时出现“无法找到数据源:parquet”

    我正在使用 Maven 组装插件组装 fat jar 并遇到以下问题 Exception in thread main java lang ClassNotFoundException Failed to find data source
  • Application Insights 报告每个服务器请求的重复事件

    我有一个在 Azure 应用服务下运行的 API 应用程序 安装了 Application Insights 以跟踪 API 调用的服务器端遥测 在 Azure 门户中查看 Application Insights 时 我看到每个服务器调用
  • Npgsql 提供程序是否支持 TransactionScope?

    我正在尝试将 TransactionScope 与 Npgsql 提供程序一起使用 我在一个老问题中发现 net 中 PostgreSQL 的提供程序 支持 TransactionScope Npgsql 还不支持它 现在 大约 5 年后
  • 保存和加载模型优化器状态

    我正在训练一组相当复杂的模型 并且正在寻找一种保存和加载模型优化器状态的方法 训练模型 由其他几个 权重模型 的不同组合组成 其中有些模型具有共享权重 有些模型根据训练模型而冻结权重 等等 这个例子有点太复杂了 无法分享 但总之 我无法使用
  • 如何使用 Elastic Beanstalk 创建“tmp”目录?

    我正在使用 Node js 需要将文件保存到我的应用程序中的 tmp 目录 问题在于 Elastic Beanstalk 未将应用程序目录设置为可由应用程序写入 因此 当我尝试创建临时目录时 出现此错误 fs js 653 return b
  • 在 Highcharts 中绘制直方图

    众所周知 直方图和条形图是两个不同的东西 我有很多不同的方法在 highcharts 中绘制条形图 但我没有得到任何在 highcharts 中绘制直方图的示例 是否可以使用 highcharts 绘制直方图 如果可以 如何绘制 您可以使用
  • 元素必须没有字符或元素信息项[children],因为该类型的内容类型为空

    当我从事这个项目时 我不断收到一条错误消息 元素 客户 必须没有字符或元素信息项 children 因为该类型的内容类型为空 我不确定为什么这不起作用 因为我遵循了注释 它看起来像这样
  • 我可以在没有 Google Glass 的情况下测试 Google Glass 程序吗?

    我可以在没有实际拥有 Google Glass 的情况下编写和测试 Google Glass 的 Hello World 程序吗 有可以用来测试应用程序的模拟器吗 我看过一个视频 显示我们可以在 Nexus 平板电脑上运行它 查看链接htt
  • Fluent IOC 配置/模块的最佳位置(当前正在尝试 Ninject)

    我正在努力寻找放置 Ninject 配置 模块 的最佳位置 指定类型绑定的位置 我希望我只是错过了一些明显的技巧 因为这开始成为我使用流畅配置 以及 Ninject 的一个障碍 在一个简单的 Web 堆栈中 包含三个独立的项目 Web 业务
  • Android 中的 javax.mail.AuthenticationFailedException

    尝试使用 JavaMail API 从我的 Gmail 帐户发送电子邮件时 我在 LogCat 中收到以下错误消息 11 09 11 04 14 385 W System err 18443 javax mail Authenticatio
  • SIMD编程语言[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 在过去的几年中 我进行了大量的 SIMD 编程 大部分时间我都依赖编译器内部函数 例如用于 SSE 编程的函数 或编程汇编来实现真正漂亮的功能 东西
  • 如何使用 PHP 中的 cURL 同时打开多个 URL?

    这是我当前的代码 SQL mysql query SELECT url FROM urls or die mysql error Query the urls table while resultSet mysql fetch array
  • 使用 Django 上传多个文件

    如何使用 Django 上传多个文件 经过一番痛苦之后我最终得到了 uploadify http www uploadify com 与 django 一起工作 但问题并不是真正的 django 的问题 而是让它与 Apple Mac 一起
  • 如何在 Angular2 中操作特定路径上的组件

    我有一个简单的TopbarComponent这基本上在我的视图顶部添加了一个引导式导航栏 由于我的 90 的模板应该包含这个指令 我想通过我的app component看起来像这样 import Component selector my
  • Servlet 3.0 异步

    servlet 3 0 异步功能与以下内容有何区别 ld servlet 实现 doGet request response Thread t new Thread new Runnable void run heavy processin
  • 将映射应用于函数的剩余参数

    在 Clojure 中 如果我有一个函数 f defn f r 我有一个 seq args 其中包含我想要调用 f 的参数 我可以轻松使用 apply apply f args 现在 假设我有另一个函数 g 它被设计为采用任意数量的可选命名
  • 使用多个连接字符串

    Info我的解决方案中有多个项目 其中一个是 DAL 另一个是 ASP NET MVC6 项目 由于 MVC6 项目也是启动项目 我需要在其中添加连接字符串 I saw 这个解决方案 但不被接受 也不起作用 My Try 应用程序设置 js
  • 如何从 PDF 中提取表格作为文本

    我有一个 PDF 文件 其中包含表格 文本和一些图像 我想在 PDF 中有表格的地方提取表格 现在正在手动从页面中查找表 从那里我捕获该页面并保存到另一个 PDF 中 import pypdf import PdfReader PdfWri
  • R 中 GARCH 的模拟

    我正在对 GARCH 模型进行模拟 模型本身并不是太相关 我想问你的是关于优化 R 中的模拟 最重要的是 如果你看到任何矢量化的空间 我已经考虑过 但我看不到它 到目前为止我所拥有的是这样的 Let ht cond variance in