| Title: | Wavelet Quantile Correlation Analysis |
|---|---|
| Description: | Estimate and plot wavelet quantile correlations(Kumar and Padakandla,2022) between two time series. Wavelet quantile correlation is used to capture the dependency between two time series across quantiles and different frequencies. This method is useful in identifying potential hedges and safe-haven instruments for investment purposes. See Kumar and Padakandla(2022) <doi:10.1016/j.frl.2022.102707> for further details. |
| Authors: | Anoop S Kumar [aut, cre] |
| Maintainer: | Anoop S Kumar <[email protected]> |
| License: | GPL-3 |
| Version: | 0.1.2 |
| Built: | 2026-05-15 06:38:44 UTC |
| Source: | https://github.com/cran/wqc |
Apply Quantile Correlation Analysis
apply_quantile_correlation(data, quantiles, wf = "la8", J = 8, n_sim = 1000)apply_quantile_correlation(data, quantiles, wf = "la8", J = 8, n_sim = 1000)
data |
Data frame containing the time series data. The first column is the reference series; subsequent columns are the target series. |
quantiles |
Numeric vector of quantiles. |
wf |
Wavelet family name. |
J |
Decomposition level. |
n_sim |
Number of simulations for confidence intervals. |
A combined data.frame of quantile correlation results, with one row per level-quantile-series combination.
data <- data.frame(x = rnorm(1000), y = rnorm(1000), z = rnorm(1000)) quantiles <- c(0.05, 0.5, 0.95) res_df <- apply_quantile_correlation(data, quantiles,n_sim=10) head(res_df)data <- data.frame(x = rnorm(1000), y = rnorm(1000), z = rnorm(1000)) quantiles <- c(0.05, 0.5, 0.95) res_df <- apply_quantile_correlation(data, quantiles,n_sim=10) head(res_df)
Create a heatmap of estimated quantile-wavelet correlations with white borders for cells where the estimate lies outside its 95% confidence interval.
plot_quantile_heatmap( df, label_levels = TRUE, palette = viridisLite::viridis(100) )plot_quantile_heatmap( df, label_levels = TRUE, palette = viridisLite::viridis(100) )
df |
Data frame with columns |
label_levels |
Logical; if |
palette |
Color palette vector for |
A lattice levelplot object (invisibly).
df <- data.frame( Level = rep(1:2, each = 3), Quantile = rep(c(0.1, 0.5, 0.9), times = 2), Estimated_QC = runif(6, -1, 1), CI_Lower = rep(-0.5, 6), CI_Upper = rep(0.5, 6) ) # Use :: for namespace clarity, avoid library() calls plot_quantile_heatmap(df, label_levels = TRUE, palette = viridisLite::viridis(100))df <- data.frame( Level = rep(1:2, each = 3), Quantile = rep(c(0.1, 0.5, 0.9), times = 2), Estimated_QC = runif(6, -1, 1), CI_Lower = rep(-0.5, 6), CI_Upper = rep(0.5, 6) ) # Use :: for namespace clarity, avoid library() calls plot_quantile_heatmap(df, label_levels = TRUE, palette = viridisLite::viridis(100))
Quantile Correlation Analysis
quantile_correlation_analysis(x, y, quantiles, wf = "la8", J = 8, n_sim = 1000)quantile_correlation_analysis(x, y, quantiles, wf = "la8", J = 8, n_sim = 1000)
x |
Numeric vector for the first time series. |
y |
Numeric vector for the second time series. |
quantiles |
Numeric vector of quantiles. |
wf |
Wavelet family name. |
J |
Decomposition level. |
n_sim |
Number of simulations for confidence intervals. |
Data frame with quantile correlation estimates and confidence intervals for one pair of series.
data <- data.frame(x = rnorm(1000), y = rnorm(1000)) quantiles <- c(0.05, 0.5, 0.95) result <- quantile_correlation_analysis(data$x, data$y, quantiles,n_sim=10) head(result)data <- data.frame(x = rnorm(1000), y = rnorm(1000)) quantiles <- c(0.05, 0.5, 0.95) result <- quantile_correlation_analysis(data$x, data$y, quantiles,n_sim=10) head(result)