Learn R Programming

⚠️There's a newer version (1.3.1) of this package.Take me there.

MultiATSM (version 1.2.0)

Multicountry Term Structure of Interest Rates Models

Description

Estimation routines for several classes of affine term structure of interest rates models. All the models are based on the single-country unspanned macroeconomic risk framework from Joslin, Priebsch, and Singleton (2014, JF) . Multicountry extensions such as the ones of Jotikasthira, Le, and Lundblad (2015, JFE) , Candelon and Moura (2023, EM) , and Candelon and Moura (Forthcoming, JFEC) are also available.

Copy Link

Version

Install

install.packages('MultiATSM')

Monthly Downloads

324

Version

1.2.0

License

GPL-2 | GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Rubens Moura

Last Published

January 27th, 2025

Functions in MultiATSM (1.2.0)

Aux_PSD

Transformation of a PSD matrix (auxiliary form)
BUnspannedAdapJoint

Transform B_spanned into B_unspanned for jointQ models
Boot_Yields_Graphs

Build P-dynamic graphs after the bootstrap implementation
BUnspannedAdapSep_BS

Obtain the full form of B unspanned for "sep Q" models within the bootstrap setting
Boot_DataGraphYield_perShock

Generates the desired bootstrap graphs
BUnspannedAdapSep

Transform B_spanned into B_unspanned for sepQ models
Boot_Fac_Graphs

Build P-dynamic graphs after the bootstrap implementation
Boot_DataGraphFact_perShock

Generates the desired bootstrap graphs
Bias_Correc_VAR

Estimates an unbiased VAR(1) using stochastic approximation (Bauer, Rudebusch and Wu, 2012)
BR_jps_out

Replications of the JPS (2014) outputs by Bauer and Rudebusch (2017)
BuildFEVDlist

Build the list of IRF and GIRF for both factors and bond yields
BuildCI_Yields

Build Confidence intervals for yield-related outputs
Build_xvec

Obtain the auxiliary values corresponding to each parameter, its size and its name
ChecksOOS

Preliminary checks for inputs provided for the performing out-of-sample forecasting
BuildRiskFactors_BS

Build the time-series of the risk factors in each bootstrap draw
BuildYields_BS

Build the time-series of bond yields for each bootstrap draw
BuildLinkMat

Build country-specific link matrices
Check_label_consistency

Check consistency of labels (economies, domestic and global variables)
BootstrapBoundsSet

Builds the confidence bounds and graphs (Bootstrap set)
BuildATSM_RiskFactors

Builds the time series of the risk factors that are used in the estimation of the ATSM
Boot_graph_template

Builds template from bootstrap-related graphs
CholRestrictionsJLL

Impose the zero-restrictions on the Cholesky-factorization from JLL-based models.
ComputeFEVDs

Compute FEVDs for all models
CleanOrthoJLL_Boot

Clean unnecessary outputs of JLL models in the bootstrap setup
ExpectedComponent

Get the expected component of all models
ComputeGFEVDs

Compute GFEVDs for all models
Convert2JordanForm

Convert a generic matrix to its Jordan form
FEVDandGFEVD

FEVDs and GFEVDs for all models
DatabasePrep

Gather data of several countries in a list. Particularly useful for GVAR-based setups (Compute "GVARFactors")
CheckInputsForMLE

Check consistence of inputs
FFtemporary

Mean of the llk function used in the estimation of the selected ATSM
BuildGVAR

Build the GVAR(1) from the country-specific VARX(1,1,1)
BuildIRFlist

Build the list of IRF and GIRF for both factors and bond yields
ComputeBounds_FEVDandGFEVD

Compute the confidence bounds around the P-dynamics and bond yields for FEVD and GFEVD
DataSet_BS

Prepare the factor set for GVAR models (Bootstrap version)
FactorBounds_FEVDandGFEVD

Compute the confidence bounds for the model bond P-dynamics-related outputs
DataForEstimation

Retrieves data from Excel and build the database used in the model estimation
DomesticMacroVar

Data: Risk Factors - Candelon and Moura (forthcoming, JFEC)
FeedbackMat_BS

Compute the Feedback matrix of each bootstrap draw
ComputeBounds_IRFandGIRF

Compute the confidence bounds from the model's numerical outputs
EstimationSigma_GVARrest

Estimate numerically the variance-covariance matrix from the GVAR-based models
FF

mean of the llk function used in the estimation of the selected ATSM
ComputeGIRFs

Compute GIRFs for all models
FMN__Rotate

Performs state rotations
CheckInputsGVAR

Check consistency of the inputs provided in GVARinputs
FacQuantile_bs

Compute quantiles for model P-dynamics
GVAR

Estimates a GVAR(1) and a VARX(1,1,1) models
DomMacro

Data: Risk Factors for the GVAR - Candelon and Moura (2023)
FeedbackMatrixRestrictionsJLL

Set the zero-restrictions on the feedback matrix of JLL's P-dynamics
FolderPrep_FEVDs

Create folders for storing IRFs and GIRFs
Bootstrap

Generates the bootstrap-related outputs
ComputeIRFs

Compute IRFs of all models
FolderCreation_Boot

Creates folder to store graphs generated from the bootstrap analysis
FEVDandGFEVD_BS

FEVDs and GFEVDs after bootstrap for all models
Functionf_vectorized

Use function f to generate the outputs from a ATSM
FactorBounds_IRFandGIRF

Compute the confidence bounds for the model P-dynamics
GaussianDensity

computes the density function of a gaussian process
FolderCreationBoot

Creates the folders and the path in which the graphical outputs are stored (Bootstrap version)
FolderCreationPoint

Creates the folders and the path in which the graphical outputs are stored (point estimate version)
CheckJLLinputs

Check consistency of the inputs provided in JLL-based models
FEVDandGFEVDbs

Creates the confidence bounds and the graphs of FEVDs and GFEVDs after bootstrap (all models)
GetLabels_sepQ

Generate the factor labels for models estimated on a country-by-country bases
GetPdynPara

Compute the parameters used in the P-dynamics of the model
ForwardPremia

Compute the forward premia for all models
GlobalMacroVar

Data: Risk Factors - Candelon and Moura (forthcoming, JFEC)
Compute_EP

Compute the expected component for all models
Compute_BnX_AnX

Compute the latent loading AnX and BnX
GraphicalOutputs

Generate the graphical outputs for the selected models (Point estimate)
Check_comparison__OLS

check whether mean/median of OLS is close to actual OLS estimates
GetLabels_JLL

Generate the variable labels of the JLL models
GetAuxPara

Map constrained parameters b to unconstrained auxiliary parameters a.
Gen_Artificial_Series

Generate artificial time-series in the bootstrap setup
GetTruePara

Map auxiliary (unconstrained) parameters a to constrained parameters b
Get_As

Compute the A loadings
Get_SigmaYields

Compute the variance-covariance matrix of the bond yields
Get_llk

Compute the log-likelihood function
Get_BFull

Compute the B matrix of loadings
Get_Unspanned

Collect both the domestic and global unspanned factors of all countries in single matrices
Functionf

Set up the vector-valued objective function (Point estimate)
FactorsGVAR

Data: Risk Factors for the GVAR - Candelon and Moura (forthcoming, JFEC)
ImposeStat_Aux

Impose stationary constraint under the risk-neutral measure
LabelsSpanned

Generate the labels of the spanned factors
IRFandGIRFs_Format_Fac

Gather data for IRFs and GIRFs grahs (version "Factors")
IRFandGIRFgraphs

IRF and GIRF graphs for all models
ImposeStat_True

Makes sure that the stationary constraint under the risk-neutral measure is preserved
Get_r0

Compute r0 for the various models
GetYields_AllCountries

Gather all country-specific yields in a single matrix of dimension CJ x T
Maturities

Create a vector of numerical maturities in years
Factors_NonOrtho

Makes the pre-allocation of the factors set for JLL-based models
Get_Bs

BUild the B loadings
IRFandGIRF_BS

IRFs and GIRFs after bootstrap for all models
IRFandGIRFbs

Creates the confidence bounds and the graphs of IRFs and GIRFs after bootstrap
MultiATSM

ATSM Package
JLL

Estimates the P-dynamics from JLL-based models
FolderPrep_IRFs

Create folders for storing IRFs and GIRFs
MarginalModelPara

Estimate the marginal model for the global factors
Jordan_JLL

Check for JLL models for Jordan restrictions (auxiliary form)
ModelPara

Replications of the JPS (2014) outputs by the MultiATSM package
Get_G0G1Sigma

Get the intercept, feedback matrix and the variance-covariance matrix from GVAR without global factors
LabelsStar

Generate the labels of the star variables
NoOrthoVAR_JLL

Obtain the non-orthogonalized model parameters
IDXZeroRestrictionsJLLVarCovOrtho

Find the indexes of zero-restrictions from the orthogonalized variance-covariance matrix from the JLL-based models
NumOutputs

Constructs the model numerical outputs (model fit, IRFs, GIRFs, FEVDs, GFEVDs, and risk premia decomposition)
EstimationSigma_Ye

Estimate numerically the Cholesky-factorization from the JLL-based models
MatAdjusted

Adjust vector of maturities
LoadData

Loads data sets from several papers
IRFandGIRF

IRFs and GIRFs for all models
FEVDandGFEVDgraphs

FEVD and GFEVD graphs for all models
Idx_UnspanFact

Obtain the indexes of both the domestic and global unspanned factors
RiskFactorsGraphs

Spanned and unspanned factors plot
OrthoVAR_JLL

VAR(1) with orthogonalized factors (JLL models)
IdxSpanned

Extract the indexes related to the spanned factors in the variance-covariance matrix
OutputConstruction

Numerical outputs (variance explained, model fit, IRFs, GIRFs, FEVDs, GFEVDs, and risk premia decomposition) for all models
Optimization

Perform the optimization of the log-likelihood function of the chosen ATSM
RMSEsep

Compute the root mean square error ("sep Q" models)
RMSEjoint

Compute the root mean square error ("joint Q" models)
RemoveNA

Exclude series that contain NAs
NumOutputs_Bootstrap

Numerical outputs (IRFs, GIRFs, FEVD, and GFEVD) for bootstrap
ForecastYields

Generates forecasts of bond yields for all model types
MLEdensity

Compute the maximum likelihood function of all models
FEVDandGFEVDs_Graphs

Generates graphs for FEVDs and GFEVDs
ParaATSM_opt_ALL

Update the list of parameters
Reg_K1Q

Estimate the risk-neutral feedbak matrix K1Q using linear regressions
OptimizationSetup_ATSM

Optimization routine for the entire selected ATSM
GVAR_PrepFactors

Prepare risk factors for the estimation of the GVAR model
True_BlockDiag

Transformation of the block diagonal parameters (true form)
SpannedFactorsjointQ

Gather all spanned factors ("joint Q" models)
RiskFactorsPrep

Builds the complete set of time series of the risk factors (spanned and unspanned)
Outputs2exportMLE

Prepares inputs to export
SpannedFactorsSepQ

Gather all spanned factors ("sep Q" models)
Remove_at

Eliminates the @
Transition_Matrix

Computes the transition matrix required in the estimation of the GVAR model
TradeFlows

Data: Trade Flows - Candelon and Moura (forthcoming, JFEC)
VAR

Estimates a standard VAR(1)
Gather_Forecasts

Gather several forecast dates
VarianceExplained

Percentage explained by the spanned factors of the variations in the set of observed yields for all models
GetPdynPara_BC

Compute P-dynamics parameters using the bias correction method from BRW (2012)
GetPdynPara_NoBC

Compute P-dynamics parameters without using the bias correction method from BRW (2012)
Trade_Flows

Data: Trade Flows - Candelon and Moura (2023)
Fit_Subplot

Build subplot for fitted yields
True_Jordan

Transformation of the Jordan-related parameters (True form)
TermPremia

Compute the term premia
WishGraphs_FEVDandGFEVD_Boot

Extract graphs of interest (bootstrap version)
TermPremiaDecomp

Decomposition of yields into the average of expected future short-term interest rate and risk premia for all models
Get_Sigama_JLL

Compute Sigmas/Cholesky factorizations
VARX

Estimate a VARX(1,1,1)
Get_Gy1

Compute the feedback matrix from a GVAR model with global factors
IRFandGIRFs_Format_Yields

Gather data for IRFs and GIRFs grahs (version "Yields")
True_PSD

Transformation of a PSD matrix (true form)
Fitgraphs

Model fit graphs for all models
IdxAllSpanned

Find the indexes of the spanned factors
Gen_Forecast_Yields

compute the bond yield forecast for any model type
Y_ModImp

Model-implied yields (P-dynamics)
estVARbrw

Estimate a VAR(1) - suited to Bauer, Rudebusch and Wu (2012) methodology
YieldBounds_FEVDandGFEVD

Compute the confidence bounds for the model bond yield-related outputs
Spanned_Factors

Computes the country-specific spanned factors
YieldQuantile_bs

Compute quantiles for model bond yield-related outputs
Update_SSZ_JLL

Update the variance-covariance matrix from the "JLL joint Sigma" model. Necessary for optimization
Yields

Data: Yields - Candelon and Moura (forthcoming, JFEC)
Update_ParaList

converts the vectorized auxiliary parameter vector x to the parameters that go directly into the likelihood function.
SpecificMLEInputs

Concatenate the model-specific inputs in a list
OOS_Forecast

Perform out-of-sample forecast of bond yields
Wished_Graphs_IRFandGIRF

Extract list of desired graph features (IRFs anc GIRFs)
Reg__OLSconstrained

Restricted OLS regression
OptOutputs

Prepare outputs to export after the model optimization
GeneralMLEInputs

Gathers the general inputs for model estimation
genVARbrw

Generate M data sets from VAR(1) model
ParaLabelsOpt

Create the variable labels used in the estimation
Y_Fit

Model-implied yields (cross-section)
pca_weights_one_country

Weight matrix from principal components
PdynResid_BS

Compute some key parameters from the P-dynamics (Bootstrap set)
m_var

Find mean or median of OLS when DGP is VAR(1)
logdet

computes the logarithm of determinant of a matrix A
x2bound

Transform x to a number bounded btw lb and ub by:
residY_original

Compute the residuals from the observational equation
rhoParas

Compute risk-neutral intercept and slope
StarFactors

Generates the star variables necessary for the GVAR estimation
YieldsFitAllSep

Fit yields for all maturities of interest
contain

Check whether one element is a subset of another element
bound2x

Transform a number bounded between a lower bound and upper bound to x by:
mult_logabsdet

Inverse each 2D slice of an array (M) with arbitrary dimensions support
x2pos

Transform x to a positive number by: y = log(e^x + 1)
TPDecompGraph

Term Premia decomposition graphs for all models
InputsForOpt

Generates several inputs that are necessary to build the likelihood function
Get_a0

Obtain the country-specific a0
Get_V_tilde_BC

Compute the variance-covariance matrix after the bias correction procedure
Getdt

Get delta t
LabFac

Generates the labels factors
InputsForOutputs

Collects the inputs that are used to construct the numerical and the graphical outputs
GlobalMacro

Data: Risk Factors - Candelon and Moura (2023)
pos2x

Transform a positive number y to back to x by:
K1XQStationary

Impose stationarity under the Q-measure
mult_inv_large

Inverse each 2D slice of an array (M) with arbitrary dimensions support
df__dx

Computes numerical first order derivative of f(x)
multiprod_2terms

computes matrix product for arrays a and b: c[,,i] = a[,,i] b[,,i]
mult_inv_small

Inverse the (m,m,T) array of matrices for m<=4
WishGraphs_IRFandGIRF_Boot

Extract graphs of interest (bootstrap version)
Wished_Graphs_FEVDandGFEVD

Extract list of desired graph features (IRFs anc GIRFs)
Optimization_PE

Peform the minimization of mean(f)
True_BoundDiag

Transformation of the bounded parameters (True form)
True_JLLstruct

Transformation of the JLL-related parameters (true form)
OrthoReg_JLL

Get coefficients from the orthogonalized regressions
shrink_Phi

Killan's VAR stationarity adjustment
YieldsFit

Computes two measures of model fit for bond yields (all models)
ResampleResiduals_BS

Compute the residuals from the original model
RiskFactors

Data: Risk Factors - Candelon and Moura (forthcoming, JFEC)
YieldFor

Compile the bond yield forecast for any model type
YieldBounds_IRFandGIRF

Compute the confidence bounds for the model bond yield-related outputs
sqrtm_robust

Compute the square root of a matrix
YieldsFitAllJoint

Fit yields for all maturities of interest
mult__inv

Inverts an array of matrices so that: inva[,,i] = inv(a[,,i])
getpara

Extract the parameter values from the parameter list set
llk_JLL_Sigma

Build the log-likelihood function of the P-dynamics from the JLL-based models
mult__prod

Efficient computation of matrix product for arrays
AdjustYieldsDates

Makes sure that the time series of yields and risk factors have coincident sample spans
Aux_BlockDiag

Transformation of the block diagonal parameters (auxiliary form)
AdjustOptm_BS

Gathers the estimate of the bootstrap draws
AdjustPathIRFs

Generate paths to save IRFs/GIRFs graphs
Aux_BoundDiag

Transformation of the bounded parameters (auxiliary form)
Aux_Jordan

Transformation of the Jordan-related parameters (auxiliary form)
Adjust_Const_Type

Adjust the constant label
A0N__BnAn

Compute the cross-section loadings of yields of a canonical A0_N model
AdjustPathFEVDs

Generate paths to save IRFs/GIRFs graphs
Aux_JLLstruct

Transformation of the JLL-related parameters (auxiliary form)