{
  "_id": "6a104693acfb0bcc41c9eb6a",
  "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",
  "Config/pak/sysreqs": "libglpk-dev libxml2-dev",
  "Repository": "https://avishekb9.r-universe.dev",
  "Date/Publication": "2026-05-10 17:05:40 UTC",
  "RemoteUrl": "https://github.com/avishekb9/contagionchannels",
  "RemoteRef": "HEAD",
  "RemoteSha": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-10 17:54:03 UTC",
    "User": "root"
  },
  "Author": "Avishek Bhandari [aut, cre] (Indian Institute of Technology\nBhubaneswar),\nIpsita Parida [aut] (Indian Institute of Technology Bhubaneswar),\nHitesh Kumar Sahu [aut] (Indian Institute of Technology Bhubaneswar)",
  "Maintainer": "Avishek Bhandari <avishekb@iitbbs.ac.in>",
  "MD5sum": "5a3b106286576a2a095b2c6d0789456d",
  "_user": "avishekb9",
  "_type": "src",
  "_file": "contagionchannels_0.1.3.tar.gz",
  "_fileid": "e95baa27308173b26e9c9c4bab3386a1bec9dba05ea6446465d906090efdeec3",
  "_filesize": 2697143,
  "_sha256": "e95baa27308173b26e9c9c4bab3386a1bec9dba05ea6446465d906090efdeec3",
  "_created": "2026-05-10T17:54:03.000Z",
  "_published": "2026-05-22T12:05:39.065Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77375846743,
      "time": 156,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6905748544"
    },
    {
      "job": 77375846991,
      "time": 163,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6905749349"
    },
    {
      "job": 77375846726,
      "time": 114,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6905744083"
    },
    {
      "job": 77375846831,
      "time": 95,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6905742290"
    },
    {
      "job": 77375846482,
      "time": 215,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6905732095"
    },
    {
      "job": 77375846141,
      "time": 131,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7160048841"
    },
    {
      "job": 77375846944,
      "time": 127,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6905745783"
    },
    {
      "job": 77375846824,
      "time": 104,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6905743149"
    },
    {
      "job": 77375847091,
      "time": 106,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6905743487"
    }
  ],
  "_buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/avishekb9/contagionchannels",
  "_commit": {
    "id": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
    "author": "Avishek Bhandari <avishekb@iitbbs.ac.in>",
    "committer": "Avishek Bhandari <avishekb@iitbbs.ac.in>",
    "message": "README: announce CRAN release; add CRAN status + downloads badges\n\nThe package is now on CRAN as of 2026-05-08. Updated the install\ninstructions to lead with install.packages('contagionchannels') and\nrecommended remotes::install_github() for the development version.\nAdded CRAN status and CRAN-downloads badges to the header.\n\nThis is a GitHub-side documentation tweak only -- no CRAN resubmission\nis warranted (and CRAN policy explicitly discourages submitting new\nversions for cosmetic changes).\n",
    "time": 1778432740
  },
  "_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": "avishekb9",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-18",
      "n": 4
    },
    {
      "week": "2026-19",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v0.1.1",
      "date": "2026-04-30"
    },
    {
      "name": "v0.1.2",
      "date": "2026-04-30"
    },
    {
      "name": "v0.1.3",
      "date": "2026-05-05"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "avishekb9",
      "count": 6,
      "uuid": 123537056
    }
  ],
  "_userbio": {
    "uuid": 123537056,
    "type": "user",
    "name": "Avishek Bhandari"
  },
  "_downloads": {
    "count": 36,
    "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"
  ],
  "_homeurl": "https://github.com/avishekb9/contagionchannels",
  "_realowner": "avishekb9",
  "_cranurl": true,
  "_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/avishekb9/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-04-29 12:23:36",
      "modified": "2026-04-29 12:44:03",
      "commits": 2
    },
    {
      "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-04-29 12:23:36",
      "modified": "2026-04-29 12:23: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-04-29 12:23:36",
      "modified": "2026-04-29 12:23:36",
      "commits": 1
    }
  ],
  "_score": 4.477121254719663,
  "_indexed": true,
  "_nocasepkg": "contagionchannels",
  "_universes": [
    "avishekb9"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-05-10T17:56:26.000Z",
      "distro": "noble",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "e1ee70162ed786b1e6cbfad812872c40f28bd45ec3b43a14006dbdef32b52e8e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-05-10T17:56:27.000Z",
      "distro": "noble",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "5a024a6a23293f5abe527ad8f34ded65360a86ba3d99748919dbcdc64a8c6db9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-05-10T17:55:49.000Z",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "c3b793d263e4f853ad5bb4bd5095d9dcb33fcab9b33fb894daf676d479c40dfd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-05-10T17:55:32.000Z",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "756814c6081e84e19acb6ee65bb83c1841c7d6b45db5de63654f1403e26d3b04",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-05-10T17:55:48.000Z",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "4e483e9fc2f3b5cf4326c0d2526ac9826dee139453af56b7c0b7da6abb76b090",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-05-10T17:55:22.000Z",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "15e5479f35412cddcc3214e044f6883488700053aafea79d229b75a4e33e90db",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-05-10T17:55:29.000Z",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "02875dbdfd498e534f77b2b7c532897d88426805b8f05a9fa00ad5b1b325e7a0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.3",
      "date": "2026-05-22T12:05:16.000Z",
      "commit": "1b8bd0d9845735a6768d845ced6800a0250b1f1d",
      "fileid": "26449aacbaab9e314f2804ce6af9591a75a9e065b6bbfbc39a3a2c50e71c9d82",
      "status": "success",
      "buildurl": "https://github.com/r-universe/avishekb9/actions/runs/25635584370"
    }
  ]
}