Title: Wavelet Quantile Correlation Analysis
Version: 0.1.2
Date: 2025-06-12
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.
Depends: R (≥ 4.0)
Imports: waveslim, QCSIS, stats, lattice, grid, viridisLite
License: GPL-3
Encoding: UTF-8
RoxygenNote: 7.3.2
Suggests: knitr, rmarkdown, testthat (≥ 3.0.0)
VignetteBuilder: knitr
Config/testthat/edition: 3
NeedsCompilation: no
Packaged: 2025-06-17 05:19:13 UTC; Anoop S Kumar
Author: Anoop S Kumar [aut, cre]
Maintainer: Anoop S Kumar <akumar.sasikumar@gmail.com>
Repository: CRAN
Date/Publication: 2025-06-18 08:40:02 UTC

Apply Quantile Correlation Analysis

Description

Apply Quantile Correlation Analysis

Usage

apply_quantile_correlation(data, quantiles, wf = "la8", J = 8, n_sim = 1000)

Arguments

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.

Value

A combined data.frame of quantile correlation results, with one row per level-quantile-series combination.

Examples

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)

Plot Wavelet Quantile Correlation Heatmap

Description

Create a heatmap of estimated quantile-wavelet correlations with white borders for cells where the estimate lies outside its 95% confidence interval.

Usage

plot_quantile_heatmap(
  df,
  label_levels = TRUE,
  palette = viridisLite::viridis(100)
)

Arguments

df

Data frame with columns Level, Quantile, Estimated_QC, CI_Lower, and CI_Upper.

label_levels

Logical; if TRUE, label the y-axis with level numbers.

palette

Color palette vector for col.regions; default uses viridisLite::viridis(100).

Value

A lattice levelplot object (invisibly).

Examples

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

Description

Quantile Correlation Analysis

Usage

quantile_correlation_analysis(x, y, quantiles, wf = "la8", J = 8, n_sim = 1000)

Arguments

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.

Value

Data frame with quantile correlation estimates and confidence intervals for one pair of series.

Examples

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)