Skip to contents

Introduction

The WaveQTE package implements Wavelet-based Quantile Transfer Entropy analysis for financial time series. This vignette demonstrates basic usage of the package.

Installation

# install.packages("devtools")
devtools::install_github("avishekb9/WaveQTE")
library(WaveQTE)

Data Preparation

First, let’s get some financial data:

# Define symbols and date range
symbols <- c("AAPL", "MSFT", "JPM")
start_date <- "2019-01-01"
end_date <- "2023-12-31"

# Get data
returns <- get_stock_data(symbols, start_date, end_date)

# Process returns
returns <- process_returns(returns)

# Calculate summary statistics
stats <- calculate_summary_stats(returns)
print_summary_stats(stats)

Wavelet Decomposition

Perform wavelet decomposition on the return series:

# Decompose each series
wave_decomp <- lapply(1:ncol(returns), function(i) {
  wavelet_decompose(returns[,i])
})

# Analyze variance contributions
var_analysis <- lapply(wave_decomp, analyze_wavelet_variance)

Quantile Transfer Entropy Analysis

Calculate QTE at different scales and quantile levels:

# Define parameters
tau_levels <- c(0.1, 0.25, 0.5, 0.75, 0.9)

# Calculate multiscale QTE
qte_results <- calculate_multiscale_qte(
  wave_decomp[[1]], 
  wave_decomp[[2]], 
  tau_levels
)

# Visualize results
plot_qte_heatmap(qte_results)

Network Analysis

Create and analyze QTE-based networks:

# Create network for a specific scale
net <- create_qte_network(returns, wave_decomp, scale = 1, tau = 0.5)

# Calculate network metrics
metrics <- calculate_network_metrics(net)

# Visualize network
plot_enhanced_network(net, scale = 1, tau = 0.5)

Saving Results

Save analysis results for later use:

# Save results
save_results(list(
  qte = qte_results,
  network = net,
  metrics = metrics
), "analysis_results.RData")

Further Reading

For more advanced features, see: - Vignette: “Financial Contagion Analysis” - Vignette: “Advanced Features” - Package documentation: ?WaveQTE