{
  "_id": "6a2b4500578398594318e626",
  "Package": "MacroFilters",
  "Title": "Robust Trend-Cycle Decomposition for Macroeconomic Time Series",
  "Version": "0.2.1",
  "Authors@R": "person(\"Michal\", \"Kinel\", , \"michal.kinel@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0009-0007-3295-7199\"))",
  "Description": "Provides high-performance tools for macroeconomic trend\nextraction and filtering, specifically designed to solve the\nend-point problem in real-time. Implements the MacroBoost\nHybrid (MBH) filter using penalized P-splines and gradient\nboosting. Unlike the standard Hodrick-Prescott filter,\n'MacroFilters' utilizes component-wise L2-boosting with robust\nloss functions (Huber) to handle extreme transient shocks\n(e.g., COVID-19) without inducing spurious trend shifts. The\nalgorithm includes an automated two-layer diagnostic stage for\nunit roots and structural breaks, optimized via corrected AICc\nfor computational efficiency. Methodology detailed in Kinel\n(2026) <doi:10.2139/ssrn.6371138>.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "LazyData": "true",
  "URL": "https://github.com/michal0091/MacroFilters,\nhttps://michal0091.github.io/MacroFilters/",
  "BugReports": "https://github.com/michal0091/MacroFilters/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-11 23:26:46 UTC",
    "User": "root"
  },
  "Author": "Michal Kinel [aut, cre] (ORCID:\n<https://orcid.org/0009-0007-3295-7199>)",
  "Maintainer": "Michal Kinel <michal.kinel@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-06-11 21:00:02 UTC",
  "RemoteUrl": "https://github.com/cran/MacroFilters",
  "RemoteRef": "HEAD",
  "RemoteSha": "5acb5e5aa302e0cfc5439bcc1920df872d756cb2",
  "MD5sum": "d60e5f1302394debad89be58c2d79f02",
  "_user": "cran",
  "_type": "src",
  "_file": "MacroFilters_0.2.1.tar.gz",
  "_fileid": "05255b7e4cde255e8729af154a2619ed98677ebce18d37da2c92815490f9cef5",
  "_filesize": 2007950,
  "_sha256": "05255b7e4cde255e8729af154a2619ed98677ebce18d37da2c92815490f9cef5",
  "_created": "2026-06-11T23:26:46.000Z",
  "_published": "2026-06-11T23:30:08.558Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80926831582,
      "time": 142,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7579398157"
    },
    {
      "job": 80926831572,
      "time": 165,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7579404047"
    },
    {
      "job": 80926304460,
      "time": 250,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7579363588"
    },
    {
      "job": 80926831559,
      "time": 118,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7579392168"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/27383768712",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/MacroFilters",
  "_commit": {
    "id": "5acb5e5aa302e0cfc5439bcc1920df872d756cb2",
    "author": "Michal Kinel <michal.kinel@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.2.1\n",
    "time": 1781211602
  },
  "_maintainer": {
    "name": "Michal Kinel",
    "email": "michal.kinel@gmail.com",
    "login": "michal0091",
    "mastodon": "@miki_peltzer@techhub.social",
    "twitter": "@nico_kinel",
    "description": "Der Weltbürger. Data Scientist & Economist. Datos y economía amigos inseparables.\n#R #rstats #rgis",
    "uuid": 36136546
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "mboost",
      "role": "Imports"
    },
    {
      "package": "tseries",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    },
    {
      "package": "strucchange",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "usethis",
      "role": "Suggests"
    },
    {
      "package": "xts",
      "role": "Suggests"
    },
    {
      "package": "zoo",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-24",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.0",
      "date": "2026-05-27"
    },
    {
      "name": "0.2.1",
      "date": "2026-06-11"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "michal0091",
      "count": 2,
      "uuid": 36136546
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 325,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/MacroFilters"
  },
  "_devurl": "https://github.com/michal0091/macrofilters",
  "_pkgdown": "https://michal0091.github.io/MacroFilters/",
  "_searchresults": 8,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/MacroFilters.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/michal0091/macrofilters",
  "_realowner": "michal0091",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-05-27"
    }
  ],
  "_exports": [
    "autoplot",
    "bhp_filter",
    "hamilton_filter",
    "hp_filter",
    "mbh_filter"
  ],
  "_datasets": [
    {
      "name": "es_gdp",
      "title": "Spain Real GDP — FRED Vintage",
      "object": "es_gdp",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "date",
        "gdp_real",
        "gdp_log"
      ],
      "rows": 125,
      "table": true,
      "tojson": true
    },
    {
      "name": "fr_gdp",
      "title": "France Real GDP — FRED Vintage",
      "object": "fr_gdp",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "date",
        "gdp_real",
        "gdp_log"
      ],
      "rows": 185,
      "table": true,
      "tojson": true
    },
    {
      "name": "us_gdp_vintage",
      "title": "US Real GDP — FRED Vintage",
      "object": "us_gdp_vintage",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "date",
        "gdp_real",
        "gdp_log"
      ],
      "rows": 316,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "autoplot.macrofilter",
      "title": "Plot a macrofilter decomposition with ggplot2",
      "topics": [
        "autoplot.macrofilter"
      ]
    },
    {
      "page": "bhp_filter",
      "title": "Boosted HP Filter",
      "topics": [
        "bhp_filter"
      ]
    },
    {
      "page": "es_gdp",
      "title": "Spain Real GDP — FRED Vintage",
      "topics": [
        "es_gdp"
      ]
    },
    {
      "page": "fr_gdp",
      "title": "France Real GDP — FRED Vintage",
      "topics": [
        "fr_gdp"
      ]
    },
    {
      "page": "hamilton_filter",
      "title": "Hamilton Filter",
      "topics": [
        "hamilton_filter"
      ]
    },
    {
      "page": "hp_filter",
      "title": "Hodrick-Prescott Filter (Sparse Matrix Implementation)",
      "topics": [
        "hp_filter"
      ]
    },
    {
      "page": "mbh_filter",
      "title": "MacroBoost Hybrid (MBH) Filter",
      "topics": [
        "mbh_filter"
      ]
    },
    {
      "page": "us_gdp_vintage",
      "title": "US Real GDP — FRED Vintage",
      "topics": [
        "us_gdp_vintage"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/MacroFilters/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/MacroFilters/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "curl",
    "data.table",
    "farver",
    "Formula",
    "ggplot2",
    "glue",
    "gtable",
    "inum",
    "isoband",
    "jsonlite",
    "labeling",
    "lattice",
    "libcoin",
    "lifecycle",
    "Matrix",
    "mboost",
    "mvtnorm",
    "nnls",
    "partykit",
    "quadprog",
    "quantmod",
    "R6",
    "RColorBrewer",
    "rlang",
    "rpart",
    "S7",
    "scales",
    "stabs",
    "survival",
    "tseries",
    "TTR",
    "vctrs",
    "viridisLite",
    "withr",
    "xts",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "tuning_mbh.Rmd",
      "filename": "tuning_mbh.html",
      "title": "Hyperparameter Tuning for the MacroBoost Hybrid Filter",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1  Anatomy of the MBH Trifecta",
        "1.1  mstop — iteration budget",
        "1.2  nu — shrinkage",
        "1.3  knots — spline flexibility",
        "2  Auto-calibration of Huber Delta d",
        "2.1  Scale invariance",
        "2.2  Scale-mismatch warning for log-level input",
        "3  Overriding d for High-Volatility Series",
        "4  Computational Trade-off Benchmark",
        "Practical guidance",
        "5  Summary"
      ],
      "created": "2026-05-27 22:14:04",
      "modified": "2026-06-11 21:00:02",
      "commits": 2
    },
    {
      "source": "introduction.Rmd",
      "filename": "introduction.html",
      "title": "Introduction to MacroFilters",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. Introduction: Trend-Cycle Decomposition",
        "The outlier problem",
        "2. Input Agnosticism: Bring Your Own Class",
        "Example: same filter, two input formats",
        "3. The Filter Arsenal",
        "3.1 hp_filter() — Sparse Hodrick-Prescott",
        "3.2 hamilton_filter() — Regression-Based Alternative",
        "3.3 bhp_filter() — Boosted HP",
        "4. The Crown Jewel: mbh_filter()",
        "The Problem with Squared Loss",
        "The MBH Solution: Huber Loss + Boosting",
        "Additive Model",
        "Parameters",
        "Quick example",
        "5. The macrofilter S3 Class",
        "Printing",
        "Accessing components",
        "Inspecting metadata",
        "Plotting cycles side by side",
        "References"
      ],
      "created": "2026-05-27 22:14:04",
      "modified": "2026-06-11 21:00:02",
      "commits": 2
    },
    {
      "source": "real_time_revisions.Rmd",
      "filename": "real_time_revisions.html",
      "title": "Solving the End-Point Problem in Real-Time",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1  The End-Point Problem",
        "2  Expanding-Window Simulation",
        "3  The Role of boundary.knots",
        "4  Vintage Fan Chart",
        "5  The Backward Revision Test",
        "Summary"
      ],
      "created": "2026-05-27 22:14:04",
      "modified": "2026-06-11 21:00:02",
      "commits": 2
    },
    {
      "source": "uncertainty_bands.Rmd",
      "filename": "uncertainty_bands.html",
      "title": "Uncertainty Bands via Block Bootstrap",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. Why quantify trend uncertainty?",
        "2. The mechanics",
        "3. Bands for every filter",
        "Reading the end-point fan",
        "A note on the Hamilton band",
        "4. References"
      ],
      "created": "2026-06-11 21:00:02",
      "modified": "2026-06-11 21:00:02",
      "commits": 1
    }
  ],
  "_score": 3.6020599913279625,
  "_indexed": false,
  "_nocasepkg": "macrofilters",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://michal0091.r-universe.dev/MacroFilters",
  "_previous": "0.1.0",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-06-11T23:28:52.000Z",
      "distro": "noble",
      "commit": "5acb5e5aa302e0cfc5439bcc1920df872d756cb2",
      "fileid": "95c9bcb2555625880646b02458892e1ea9dd29fbf94ae9713e7bd892f5019c07",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27383768712"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-06-11T23:29:05.000Z",
      "distro": "noble",
      "commit": "5acb5e5aa302e0cfc5439bcc1920df872d756cb2",
      "fileid": "b4ef945fa57e0f475f34d8169b5a5a454777a531f1a83f6625cacbd566325e14",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27383768712"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.1",
      "date": "2026-06-11T23:29:04.000Z",
      "commit": "5acb5e5aa302e0cfc5439bcc1920df872d756cb2",
      "fileid": "351392949b77576b4250ca6ee430260a2a175d6b5597137fd4ee51e8d69ff5c7",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27383768712"
    }
  ]
}