{
  "_id": "6a105d75acfb0bcc41ca4aff",
  "Package": "contagionchannels",
  "Type": "Package",
  "Title": "Two-Stage Detection and Attribution of Cross-Border Financial\nContagion Channels",
  "Version": "0.1.3",
  "Date": "2026-04-30",
  "Authors@R": "c(\nperson(given = \"Avishek\", family = \"Bhandari\", role = c(\"aut\",\"cre\"),\nemail = \"avishekb@iitbbs.ac.in\",\ncomment = \"Indian Institute of Technology Bhubaneswar\"),\nperson(given = \"Ipsita\", family = \"Parida\", role = \"aut\",\nemail = \"a23hs09014@iitbbs.ac.in\",\ncomment = \"Indian Institute of Technology Bhubaneswar\"),\nperson(given = \"Hitesh Kumar\", family = \"Sahu\", role = \"aut\",\nemail = \"a23hs09012@iitbbs.ac.in\",\ncomment = \"Indian Institute of Technology Bhubaneswar\"))",
  "Description": "Implementation of a two-stage framework for the joint\ndetection-and-attribution of cross-border financial contagion.\nStage one detects directional information flows between equity\nmarkets via Wavelet-Quantile Transfer Entropy, combining\nmaximal-overlap discrete wavelet decomposition (Percival and\nWalden, 2000, ISBN:9780521685085) with the transfer-entropy\nestimator of Schreiber (2000) <doi:10.1103/PhysRevLett.85.461>\nand quantile conditioning following Han, Linton, Oka and Whang\n(2016) <doi:10.1016/j.jeconom.2016.03.001>. Stage two\nattributes each significant directional link to one of five\nmutually exclusive transmission channels (Trade, Financial,\nGeopolitical, Behavioural, Monetary Policy) through a\nmulti-method structural identification architecture combining\ninstrumental-variables two-stage least squares with\nchannel-specific external instruments (Stock and Watson, 2018)\n<doi:10.1111/ecoj.12593>, LASSO-based instrument selection\n(Belloni, Chernozhukov and Hansen, 2014)\n<doi:10.1093/restud/rdt044>, local projections (Jorda, 2005)\n<doi:10.1257/0002828053828518>, heteroskedasticity-based\nidentification (Rigobon, 2003)\n<doi:10.1162/003465303772815727>, and the Cinelli-Hazlett\n(2020) <doi:10.1111/rssb.12348> robustness-value sensitivity\nbound. Bundled datasets and replication scripts reproduce the\nheadline findings of Bhandari, Parida and Sahu (2026)\n<doi:10.48550/arXiv.2604.26546>; the package is general-purpose\nand accommodates user-supplied returns and channel proxies.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.3.3",
  "URL": "https://github.com/avishekb9/contagionchannels",
  "BugReports": "https://github.com/avishekb9/contagionchannels/issues",
  "Config/testthat/edition": "3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-08 17:16:58 UTC",
    "User": "root"
  },
  "Author": "Avishek Bhandari [aut, cre] (Indian Institute of Technology\nBhubaneswar), Ipsita Parida [aut] (Indian Institute of\nTechnology Bhubaneswar), Hitesh Kumar Sahu [aut] (Indian\nInstitute of Technology Bhubaneswar)",
  "Maintainer": "Avishek Bhandari <avishekb@iitbbs.ac.in>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-05-08 15:55:36 UTC",
  "RemoteUrl": "https://github.com/cran/contagionchannels",
  "RemoteRef": "HEAD",
  "RemoteSha": "6ca35bfbde678b5be3f3be7aa4cc6829bd9d380f",
  "MD5sum": "bed6798b3d375d892ff3693dba729345",
  "_user": "cran",
  "_type": "src",
  "_file": "contagionchannels_0.1.3.tar.gz",
  "_fileid": "c142b778c0bcedbdea8c59d681b7f5bb45f3f30c887cb26be9d4641952d08cf9",
  "_filesize": 2697558,
  "_sha256": "c142b778c0bcedbdea8c59d681b7f5bb45f3f30c887cb26be9d4641952d08cf9",
  "_created": "2026-05-08T17:16:58.000Z",
  "_published": "2026-05-22T13:43:17.350Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77391716845,
      "time": 157,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6884767380"
    },
    {
      "job": 77391717095,
      "time": 144,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6884762432"
    },
    {
      "job": 77391716686,
      "time": 242,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6884718441"
    },
    {
      "job": 77391716312,
      "time": 131,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7161971096"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/25569002309",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/contagionchannels",
  "_commit": {
    "id": "6ca35bfbde678b5be3f3be7aa4cc6829bd9d380f",
    "author": "Avishek Bhandari <avishekb@iitbbs.ac.in>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.3\n",
    "time": 1778255736
  },
  "_maintainer": {
    "name": "Avishek Bhandari",
    "email": "avishekb@iitbbs.ac.in",
    "login": "avishekb9",
    "uuid": 123537056
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "xts",
      "role": "Imports"
    },
    {
      "package": "zoo",
      "role": "Imports"
    },
    {
      "package": "waveslim",
      "role": "Imports"
    },
    {
      "package": "quantreg",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "hdm",
      "role": "Suggests"
    },
    {
      "package": "glmnet",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "RColorBrewer",
      "role": "Suggests"
    },
    {
      "package": "viridis",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    },
    {
      "package": "readxl",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-19",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.3",
      "date": "2026-05-08"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "avishekb9",
      "count": 1,
      "uuid": 123537056
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/contagionchannels"
  },
  "_devurl": "https://github.com/avishekb9/contagionchannels",
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contagionchannels.html",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.3",
      "date": "2026-05-08"
    }
  ],
  "_exports": [
    "build_channel_composites",
    "build_lag",
    "build_network",
    "cinelli_hazlett_rv",
    "compute_wqte_matrix",
    "iv_2sls_attribute",
    "lasso_iv_attribute",
    "load_paper_data",
    "local_projections",
    "modwt_detail",
    "network_summary",
    "orthogonalise_residual",
    "period_subset",
    "plot_attribution_evolution",
    "plot_attribution_stack",
    "plot_qte_intensity",
    "plot_robustness_value",
    "qte_pair",
    "rigobon_id",
    "run_contagion_pipeline",
    "walktrap_communities",
    "zscore"
  ],
  "_datasets": [
    {
      "name": "channel_proxies",
      "title": "Channel-Proxy Daily Series",
      "object": "channel_proxies",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Date",
        "vix",
        "hy_spread",
        "stress_index",
        "usd_index",
        "gpr",
        "geo_events",
        "vix_slope",
        "fear_proxy",
        "sentiment",
        "fed_rate",
        "dgs10",
        "term_spread",
        "qe_dummy"
      ],
      "rows": 5036,
      "table": true,
      "tojson": true
    },
    {
      "name": "crisis_periods",
      "title": "Crisis Sub-Period Definitions",
      "object": "crisis_periods",
      "class": [
        "list"
      ],
      "fields": [],
      "table": true,
      "tojson": true
    },
    {
      "name": "g20_returns",
      "title": "G20 Equity-Market Daily Log-Returns",
      "object": "g20_returns",
      "class": [
        "xts",
        "zoo"
      ],
      "fields": [
        "Argentina",
        "Australia",
        "Brazil",
        "Canada",
        "China",
        "France",
        "Germany",
        "India",
        "Indonesia",
        "Italy",
        "Japan",
        "Mexico",
        "Russia",
        "SouthAfrica",
        "SouthKorea",
        "Turkey",
        "UK",
        "USA"
      ],
      "rows": 5036,
      "table": true,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "build_channel_composites",
      "title": "Construct the Five-Channel Composites",
      "topics": [
        "build_channel_composites"
      ]
    },
    {
      "page": "build_lag",
      "title": "Build a Lagged Vector with Leading NAs",
      "topics": [
        "build_lag"
      ]
    },
    {
      "page": "build_network",
      "title": "Construct a Directed Contagion Network from a WQTE Flow Matrix",
      "topics": [
        "build_network"
      ]
    },
    {
      "page": "channel_proxies",
      "title": "Channel-Proxy Daily Series",
      "topics": [
        "channel_proxies"
      ]
    },
    {
      "page": "cinelli_hazlett_rv",
      "title": "Cinelli-Hazlett Robustness Value",
      "topics": [
        "cinelli_hazlett_rv"
      ]
    },
    {
      "page": "compute_wqte_matrix",
      "title": "Wavelet-Quantile Transfer Entropy Matrix",
      "topics": [
        "compute_wqte_matrix"
      ]
    },
    {
      "page": "crisis_periods",
      "title": "Crisis Sub-Period Definitions",
      "topics": [
        "crisis_periods"
      ]
    },
    {
      "page": "g20_returns",
      "title": "G20 Equity-Market Daily Log-Returns",
      "topics": [
        "g20_returns"
      ]
    },
    {
      "page": "iv_2sls_attribute",
      "title": "Five-Channel IV/2SLS Channel Attribution for One Bilateral Link",
      "topics": [
        "iv_2sls_attribute"
      ]
    },
    {
      "page": "lasso_iv_attribute",
      "title": "LASSO-Based Instrument Selection IV Attribution (Belloni-Chernozhukov-Hansen)",
      "topics": [
        "lasso_iv_attribute"
      ]
    },
    {
      "page": "load_paper_data",
      "title": "Load the Paper's Bundled Data",
      "topics": [
        "load_paper_data"
      ]
    },
    {
      "page": "local_projections",
      "title": "Local-Projection Channel Attribution at Multiple Horizons",
      "topics": [
        "local_projections"
      ]
    },
    {
      "page": "modwt_detail",
      "title": "MODWT Wavelet Detail at a Specified Scale",
      "topics": [
        "modwt_detail"
      ]
    },
    {
      "page": "network_summary",
      "title": "Summary Statistics of a Contagion Network",
      "topics": [
        "network_summary"
      ]
    },
    {
      "page": "orthogonalise_residual",
      "title": "Orthogonalise One Series Against Another",
      "topics": [
        "orthogonalise_residual"
      ]
    },
    {
      "page": "period_subset",
      "title": "Subset a Returns and Channel Panel by Period",
      "topics": [
        "period_subset"
      ]
    },
    {
      "page": "plot_attribution_evolution",
      "title": "Evolution-of-Shares Line Plot",
      "topics": [
        "plot_attribution_evolution"
      ]
    },
    {
      "page": "plot_attribution_stack",
      "title": "Stacked Bar Plot of Channel-Attribution Shares",
      "topics": [
        "plot_attribution_stack"
      ]
    },
    {
      "page": "plot_qte_intensity",
      "title": "Two-Panel QTE Intensity Plot",
      "topics": [
        "plot_qte_intensity"
      ]
    },
    {
      "page": "plot_robustness_value",
      "title": "Robustness-Value Heatmap",
      "topics": [
        "plot_robustness_value"
      ]
    },
    {
      "page": "qte_pair",
      "title": "Pairwise Wavelet-Quantile Transfer Entropy",
      "topics": [
        "qte_pair"
      ]
    },
    {
      "page": "rigobon_id",
      "title": "Heteroskedasticity-Based Identification (Rigobon 2003)",
      "topics": [
        "rigobon_id"
      ]
    },
    {
      "page": "run_contagion_pipeline",
      "title": "End-to-End Contagion-Channel Pipeline",
      "topics": [
        "run_contagion_pipeline"
      ]
    },
    {
      "page": "walktrap_communities",
      "title": "Walktrap Community Detection on a Contagion Network",
      "topics": [
        "walktrap_communities"
      ]
    },
    {
      "page": "zscore",
      "title": "Z-score Standardisation",
      "topics": [
        "zscore"
      ]
    }
  ],
  "_readme": "https://github.com/cran/contagionchannels/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "glue",
    "igraph",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "MatrixModels",
    "multitaper",
    "pkgconfig",
    "quantreg",
    "rlang",
    "SparseM",
    "survival",
    "vctrs",
    "waveslim",
    "xts",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "methodology.Rmd",
      "filename": "methodology.html",
      "title": "Methodology Guide",
      "author": "Avishek Bhandari",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "1. The detection-attribution distinction",
        "2. Stage 1: WQTE math intuition",
        "Transfer entropy",
        "Wavelet decomposition",
        "Quantile conditioning",
        "Bias correction",
        "3. Stage 2: why multi-method identification?",
        "4. IV/2SLS with channel-specific instruments",
        "5. LASSO instrument selection",
        "6. Local projections",
        "7. Rigobon heteroskedasticity-based identification",
        "8. Cinelli-Hazlett robustness value",
        "9. Identification-status classification",
        "Session info"
      ],
      "created": "2026-05-08 15:55:36",
      "modified": "2026-05-08 15:55:36",
      "commits": 1
    },
    {
      "source": "replication.Rmd",
      "filename": "replication.html",
      "title": "Replicating the Paper Results",
      "author": "Avishek Bhandari",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "1. Setup",
        "2. Loading the bundled datasets",
        "3. Building the v2 channel composites",
        "4. Stage 1: WQTE detection",
        "Absolute thresholding",
        "5. Stage 1 results: density and centrality (Table 1)",
        "6. Stage 2: IV/2SLS attribution (Table 2)",
        "7. Cross-method comparison: LP and Rigobon (Table 6)",
        "Sargan over-identification",
        "8. Bootstrap confidence intervals",
        "9. Cinelli-Hazlett robustness values",
        "10. Visualisation walkthrough (Figures 1-7)",
        "11. Walktrap communities",
        "12. End-to-end pipeline",
        "Session info"
      ],
      "created": "2026-05-08 15:55:36",
      "modified": "2026-05-08 15:55:36",
      "commits": 1
    },
    {
      "source": "custom_data.Rmd",
      "filename": "custom_data.html",
      "title": "Using Custom Datasets",
      "author": "Avishek Bhandari",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "1. Required data structure",
        "2. Custom market list and crisis periods",
        "3. Custom channel composites",
        "4. Calling the pipeline",
        "5. Adapting visualisations for custom data",
        "6. Worked example: synthetic five-market panel",
        "Common pitfalls",
        "Session info"
      ],
      "created": "2026-05-08 15:55:36",
      "modified": "2026-05-08 15:55:36",
      "commits": 1
    }
  ],
  "_score": 3.1760912590556813,
  "_indexed": true,
  "_nocasepkg": "contagionchannels",
  "_universes": [
    "cran",
    "avishekb9"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-05-08T17:19:30.000Z",
      "distro": "noble",
      "commit": "6ca35bfbde678b5be3f3be7aa4cc6829bd9d380f",
      "fileid": "475fbc6ed52f1c9581224c4cd9e69b96033b345c05a2198384f2b0f647a55443",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25569002309"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-05-08T17:19:14.000Z",
      "distro": "noble",
      "commit": "6ca35bfbde678b5be3f3be7aa4cc6829bd9d380f",
      "fileid": "29c38f8bf635e031a7545e45a54aab696ad43c933b82d993a2fbfa9c72b58915",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25569002309"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.3",
      "date": "2026-05-22T13:42:55.000Z",
      "commit": "6ca35bfbde678b5be3f3be7aa4cc6829bd9d380f",
      "fileid": "1c6e07685202951b87fd1ec88ec6a46be291e980273021abfc3adffc2d6c27df",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25569002309"
    }
  ]
}