Tsay, Ruey S. 2013. 金融数据分析导论:基于R语言. 机械工业出版社.

来自

https://www.math.pku.edu.cn/teachers/lidf/course/fts/ftsnotes/html/_ftsnotes/fts-modcomp.html#modcomp-bt-func

上面的书是本时间序列的

原始版本:

"backtest" <- function(m1, rt, orig, h, xre=NULL, fixed=NULL, inc.mean=TRUE){# m1: is a time-series model object# orig: is the starting forecast origin# rt: the time series# xre: the independent variables# h: forecast horizon# fixed: parameter constraint# inc.mean: flag for constant term of the model.#regor=c(m1$arma[1],m1$arma[6],m1$arma[2])seaor=list(order=c(m1$arma[3],m1$arma[7],m1$arma[4]),period=m1$arma[5])T=length(rt)if(!is.null(xre) && !is.matrix(xre)) xre=as.matrix(xre)ncx=ncol(xre)if(orig > T) orig=Tif(h < 1) h=1rmse=rep(0,h)mabso=rep(0,h)nori=T-origerr=matrix(0,nori,h)jlast=T-1for (n in orig:jlast){jcnt=n-orig+1x=rt[1:n]if (!is.null(xre)){pretor=xre[1:n,]mm=arima(x,order=regor,seasonal=seaor,xreg=pretor,fixed=fixed,include.mean=inc.mean,transform.pars = FALSE)nx=xre[(n+1):(n+h),]if(h==1)nx=matrix(nx,1,ncx)fore=predict(mm,h,newxreg=nx)}else {mm=arima(x,order=regor,seasonal=seaor,xreg=NULL,fixed=fixed,include.mean=inc.mean)fore=predict(mm,h,newxreg=NULL)}kk=min(T,(n+h))# nof is the effective number of forecats at the forecast origin n.nof=kk-npred=fore$pred[1:nof]obsd=rt[(n+1):kk]err[jcnt,1:nof]=obsd-pred}#for (i in 1:h){iend=nori-i+1tmp=err[1:iend,i]mabso[i]=sum(abs(tmp))/iendrmse[i]=sqrt(sum(tmp^2)/iend)}print("RMSE of out-of-sample forecasts")print(rmse)print("Mean absolute error of out-of-sample forecasts")print(mabso)backtest <- list(origin=orig,error=err,rmse=rmse,mabso=mabso)
}

R语言backtest函数相关推荐

  1. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  2. R语言sqrt函数为数值开平方根实战

    R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根

  3. R语言数学函数:abs绝对值、sqrt平方根、ceiling向上近似整数、floor向下近似整数、trunc去除小数部分、round近似到指定小数位、signif近似到有效数字、三角函数、指数、对数

    R语言数学函数:abs绝对值.sqrt平方根.ceiling向上近似整数.floor向下近似整数.trunc去除小数部分.round近似到指定小数位.signif近似到有效数字.三角函数.指数.对数 ...

  4. R语言sd函数计算数值标准差实战(Standard Deviation)

    R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd

  5. R语言optimize函数一维优化实战

    R语言optimize函数一维优化实战 目录 R语言optimize函数一维优化实战 #基础语法 #优化用户自定义的函数

  6. R语言rev函数对数据对象(向量、dataframe通过行或者列)反序实战

    R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战 目录 R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战

  7. R语言用户自定义函数的语法结构、编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等)、编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据)、应用自定函数

    R语言用户自定义函数的语法结构.编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等).编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据).应用自定函数 ...

  8. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数

    R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...

  9. R语言percent函数用百分比表示数值实战

    R语言percent函数用百分比表示数值实战 目录 R语言percent函数用百分比表示数值实战 #仿真数据

最新文章

  1. Ubuntu安装Flash视频插件
  2. jQuery的祖先遍历
  3. 动力节点老杜mysql文件_mysql主从复制+mysql主从复制延迟解决方案
  4. STM32-中断优先级
  5. phpcms漏洞总结
  6. [深度学习] FM FFM 算法基本原理
  7. P5675-[GZOI2017]取石子游戏【博弈论,dp】
  8. Android 8.0(29)---Android 8.0 获取当前的activity
  9. vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: guest_enable
  10. Confluence 6 SQL 异常的问题解决
  11. python程序-调试Python程序代码的几种方法总结
  12. 两个小的java程序,用于练习java基本语法
  13. 小宇java_小马哥的 Java 项目实战营
  14. 我儿子今年15周岁,学习不好,去年上的高职,今年我犹豫是让他继续上,还是学个手艺?...
  15. 重复测量资料纵向研究的数据分析-1
  16. 微信小程序之身份证照片正反上传
  17. 众里寻他千百度【再谈搜索】
  18. 创业者如何克服困难,控制焦虑情绪,走向成功
  19. 180522 安卓-DDCTF2018(RSA)
  20. MySQL数据库中插入图片

热门文章

  1. Matplotlib进阶:利用rcParams控制图形属性
  2. python中的plt.rcParams
  3. AWS,Azure,Google Cloud:哪个免费套餐最好?
  4. matlab画二维正态等密度曲线,matlab:画二维正态分布密度函数图
  5. 有人靠红包封面挣了十几万,微信官方回应
  6. 基于脉搏波传导时间的便携式睡眠呼吸监测仪的研制
  7. Centos7.x Rsync+Inotify实现数据实时同步
  8. 彗星驱动备份专家 V1.0
  9. 算法基础课——第四章 数学知识(三)
  10. 加密javascript代码