Learn R Programming

TVMVP (version 1.0.5)

estimate_residual_cov_poet_local: Estimate Local Covariance

Description

This internal function computes a time-varying covariance matrix estimate for a given window of asset returns by combining factor-based and sparse residual covariance estimation. It uses results from a local PCA to form residuals and then applies an adaptive thresholding procedure (via adaptive_poet_rho()) to shrink the residual covariance.

Usage

estimate_residual_cov_poet_local(
  localPCA_results,
  returns,
  M0 = 10,
  rho_grid = seq(0.005, 2, length.out = 30),
  floor_value = 1e-12,
  epsilon2 = 1e-06
)

Value

A list containing:

  • best_rho: The selected shrinkage parameter \(\hat{\rho}_t\) for the local residual covariance.

  • residual_cov: The shrunk residual covariance matrix \(\hat{\Sigma}_e(T)\).

  • total_cov: The final estimated time-varying covariance matrix \(\Sigma_R(t)\).

  • loadings: The local factor loadings \(\Lambda_t\) from the local PCA.

  • naive_resid_cov: The raw (unshrunk) residual covariance matrix.

Arguments

localPCA_results

A list containing the results from local PCA, with components:

  • loadings: a list where each element is a \(p × m\) matrix of factor loadings.

  • f_hat: a \(T × m\) matrix of estimated factors.

  • weights: a list of kernel weight vectors.

returns

A numeric matrix of asset returns with dimensions \(T × p\).

M0

Integer. The number of observations to leave out between the two sub-samples in the adaptive thresholding procedure. Default is 10.

rho_grid

A numeric vector of candidate shrinkage parameters \(\rho\) used in adaptive_poet_rho(). Default is seq(0.005, 2, length.out = 30).

floor_value

A small positive number specifying the lower bound for eigenvalues in the final positive semidefinite repair. Default is 1e-12.

epsilon2

A small positive tuning parameter for the adaptive thresholding. Default is 1e-6.

Details

The function follows these steps:

  1. **Local Residuals:** Extract the local loadings \(\Lambda_t\) from the last element of localPCA_results\$loadings and factors \(\hat{F}\) from localPCA_results\$f_hat. Let \(w_t\) denote the corresponding kernel weights. The local residuals are computed as: $$U_{\text{local}} = R - F \Lambda_t,$$ where \(R\) is the returns matrix.

  2. **Adaptive Thresholding:** The function calls adaptive_poet_rho() on \(U_{\text{local}} \)to select an optimal shrinkage parameter \(\hat{\rho}_t\).

  3. **Residual Covariance Estimation:** The raw residual covariance is computed as: $$S_{u,\text{raw}} = \frac{1}{T} U_{\text{local}}^\top U_{\text{local}},$$ and a threshold is set as: $$\text{threshold} = \hat{\rho}_t × \text{mean}(|S_{u,\text{raw}}|),$$ where the mean is taken over the off-diagonal elements. Soft-thresholding is then applied to obtain the shrunk residual covariance matrix \(\hat{S}_u\).

  4. **Total Covariance Estimation:** The final covariance matrix is constructed by combining the factor component with the shrunk residual covariance: $$\Sigma_R(t) = \Lambda_t \left(\frac{F^\top F}{T}\right) \Lambda_t^\top + \hat{S}_u.$$

  5. **PSD Repair:** A final positive semidefinite repair is performed by flooring eigenvalues at floor_value and symmetrizing the matrix.