R语言backtest函数
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函数相关推荐
- R语言str_trim函数去除字符串中头部和尾部的空格
R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿
- R语言sqrt函数为数值开平方根实战
R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根
- R语言数学函数:abs绝对值、sqrt平方根、ceiling向上近似整数、floor向下近似整数、trunc去除小数部分、round近似到指定小数位、signif近似到有效数字、三角函数、指数、对数
R语言数学函数:abs绝对值.sqrt平方根.ceiling向上近似整数.floor向下近似整数.trunc去除小数部分.round近似到指定小数位.signif近似到有效数字.三角函数.指数.对数 ...
- R语言sd函数计算数值标准差实战(Standard Deviation)
R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd
- R语言optimize函数一维优化实战
R语言optimize函数一维优化实战 目录 R语言optimize函数一维优化实战 #基础语法 #优化用户自定义的函数
- R语言rev函数对数据对象(向量、dataframe通过行或者列)反序实战
R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战 目录 R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战
- R语言用户自定义函数的语法结构、编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等)、编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据)、应用自定函数
R语言用户自定义函数的语法结构.编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等).编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据).应用自定函数 ...
- R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...
- R语言percent函数用百分比表示数值实战
R语言percent函数用百分比表示数值实战 目录 R语言percent函数用百分比表示数值实战 #仿真数据
最新文章
- Ubuntu安装Flash视频插件
- jQuery的祖先遍历
- 动力节点老杜mysql文件_mysql主从复制+mysql主从复制延迟解决方案
- STM32-中断优先级
- phpcms漏洞总结
- [深度学习] FM FFM 算法基本原理
- P5675-[GZOI2017]取石子游戏【博弈论,dp】
- Android 8.0(29)---Android 8.0 获取当前的activity
- vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: guest_enable
- Confluence 6 SQL 异常的问题解决
- python程序-调试Python程序代码的几种方法总结
- 两个小的java程序,用于练习java基本语法
- 小宇java_小马哥的 Java 项目实战营
- 我儿子今年15周岁,学习不好,去年上的高职,今年我犹豫是让他继续上,还是学个手艺?...
- 重复测量资料纵向研究的数据分析-1
- 微信小程序之身份证照片正反上传
- 众里寻他千百度【再谈搜索】
- 创业者如何克服困难,控制焦虑情绪,走向成功
- 180522 安卓-DDCTF2018(RSA)
- MySQL数据库中插入图片