
rafe: Decision-Aligned Forecast Evaluation and Moment Correction
Source:R/rafe-package.R
rafe-package.RdEvaluates return forecasts by the economic damage their errors cause rather than by their size, and corrects the forecast moments that a mean-variance optimiser is most sensitive to.
Details
Conventional accuracy measures weight every asset equally; a portfolio optimiser does not. The risk-adjusted forecast error (RAFE) and the operator-norm covariance forecast error (C-RAFE) reweight forecast errors by the risk metric the decision actually uses, and combine into an upper bound on the Sharpe-ratio gap of the plug-in portfolio (T-RAFE).
Two groups of functions:
Metrics:
compute_rafe(),compute_crafe(),compute_trafe(), andrestrict_cov()for the nested sequence of covariance restrictions that reduces RAFE to RMSE.Moment correction:
mu_rafe_stein()andsigma_crafe_floor()act on the two channels of the bound;sep_tune()andjoint_trafe_tune()select their intensities on an inner-validation split.
The ff12 dataset, the universe of the published paper, makes every example reproducible offline.
References
Salcher, L., Stöckl, S., & Hanke, M. (2026). Lost in Translation? Risk-Adjusting RMSE for Economic Forecast Performance. Journal of Forecasting. doi:10.1002/for.70134
Stöckl, S., Salcher, L., & Hanke, M. Post-Optimal Moment Correction for Mean-Variance Portfolios. Working paper.
Author
Maintainer: Sebastian Stöckl sebastian.stoeckl@uni.li (ORCID)