{
  "_id": "6a16949bacfb0bcc41d7a451",
  "Type": "Package",
  "Package": "fundsr",
  "Title": "Rolling Differences (CAGR and Log), Survival and Other Financial\nPlanning Plots",
  "Version": "0.5.0",
  "Authors@R": "person(\"Stanislav\", \"Traykov\", , \"st@gmuf.com\", role = c(\"aut\", \"cre\"))",
  "Description": "A small tidyverse-based framework for importing and\nplotting UCITS ETF and index data, ETF liquidity measures, as\nwell as survival curves and other plots related to financial\nplanning.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "URL": "https://stantraykov.github.io/fundsr/,\nhttps://github.com/StanTraykov/fundsr",
  "BugReports": "https://github.com/StanTraykov/fundsr/issues",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libicu-dev libxml2-dev libx11-dev",
  "Repository": "https://stantraykov.r-universe.dev",
  "Date/Publication": "2026-03-28 05:51:23 UTC",
  "RemoteUrl": "https://github.com/StanTraykov/fundsr",
  "RemoteRef": "v0.5.0",
  "RemoteSha": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-27 06:46:23 UTC",
    "User": "root"
  },
  "Author": "Stanislav Traykov [aut, cre]",
  "Maintainer": "Stanislav Traykov <st@gmuf.com>",
  "MD5sum": "53d87b3020b3bc4b58b7a4d72888f817",
  "_user": "stantraykov",
  "_type": "src",
  "_file": "fundsr_0.5.0.tar.gz",
  "_fileid": "8c4f5c3e7b04b3deaef5f9991aa729293b7066d97838586a62b573ecffa41da1",
  "_filesize": 1647788,
  "_sha256": "8c4f5c3e7b04b3deaef5f9991aa729293b7066d97838586a62b573ecffa41da1",
  "_created": "2026-05-27T06:46:23.000Z",
  "_published": "2026-05-27T06:52:11.664Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78022675317,
      "time": 156,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7233728416"
    },
    {
      "job": 78022675376,
      "time": 147,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233726522"
    },
    {
      "job": 78022675305,
      "time": 144,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7233765676"
    },
    {
      "job": 78022675313,
      "time": 122,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233742517"
    },
    {
      "job": 78022237022,
      "time": 206,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233687837"
    },
    {
      "job": 78022675299,
      "time": 150,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233726286"
    },
    {
      "job": 78022675411,
      "time": 87,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7233710644"
    },
    {
      "job": 78022675328,
      "time": 105,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7233714773"
    },
    {
      "job": 78022675327,
      "time": 88,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233710951"
    }
  ],
  "_buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/StanTraykov/fundsr",
  "_commit": {
    "id": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
    "author": "Stan Traykov <st@gmuf.com>",
    "committer": "Stan Traykov <st@gmuf.com>",
    "message": "Increment version number to 0.5.0\n",
    "time": 1774677083
  },
  "_maintainer": {
    "name": "Stanislav Traykov",
    "email": "st@gmuf.com",
    "login": "stantraykov",
    "description": "",
    "uuid": 36573153
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "readr",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "DiagrammeR",
      "role": "Suggests"
    },
    {
      "package": "kableExtra",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "stantraykov",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-13",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.5.0",
      "date": "2026-03-28"
    }
  ],
  "_topics": [
    "data-visualization",
    "diy-investing",
    "etfs",
    "finance",
    "financial-planning",
    "index-funds",
    "investing",
    "liquidity",
    "personal-finance",
    "survival-curves",
    "tidyverse",
    "tracking-differences"
  ],
  "_stars": 5,
  "_contributors": [
    {
      "user": "stantraykov",
      "count": 5,
      "uuid": 36573153
    }
  ],
  "_userbio": {
    "uuid": 36573153,
    "type": "user",
    "name": "Stanislav Traykov"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/fundsr"
  },
  "_devurl": "https://github.com/stantraykov/fundsr",
  "_pkgdown": "https://stantraykov.github.io/fundsr/",
  "_searchresults": 5,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/fundsr.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "add_data_loader",
    "add_fund_index_map",
    "add_fund_urls",
    "adjust_for_split",
    "build_all_series",
    "chance_alive",
    "chance_alive_es_aasmr",
    "clear_data_loaders",
    "clear_fund_index_map",
    "clear_inkscape_queue",
    "clear_storage",
    "download_fund_data",
    "export_pngs",
    "fundsr_default_session",
    "fundsr_example_data",
    "fundsr_options",
    "fundsr_session",
    "get_fund_index_map",
    "get_storage",
    "import_fund",
    "join_env",
    "load_fund",
    "plot_chance_alive",
    "plot_chance_alive_es_aasmr",
    "plot_roll_diffs",
    "read_es_aasmr",
    "read_life_table",
    "read_timeseries",
    "read_timeseries_excel",
    "reset_state",
    "roll_diffs",
    "run_data_loaders",
    "run_plots",
    "save_plot",
    "store_timeseries"
  ],
  "_help": [
    {
      "page": "add_data_loader",
      "title": "Register a data loader",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "add_data_loader"
      ]
    },
    {
      "page": "add_fund_index_map",
      "title": "Add to fund-index map",
      "concept": [
        "fund-index map functions"
      ],
      "topics": [
        "add_fund_index_map"
      ]
    },
    {
      "page": "add_fund_urls",
      "title": "Add entries to the fund download list",
      "concept": [
        "download functions"
      ],
      "topics": [
        "add_fund_urls"
      ]
    },
    {
      "page": "adjust_for_split",
      "title": "Adjust a time series for a stock split",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "adjust_for_split"
      ]
    },
    {
      "page": "build_all_series",
      "title": "Run all registered data loaders and join all loaded series into a big tibble.",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "build_all_series"
      ]
    },
    {
      "page": "chance_alive",
      "title": "Compute conditional survival (chance alive) by age",
      "concept": [
        "survival curve functions"
      ],
      "topics": [
        "chance_alive"
      ]
    },
    {
      "page": "chance_alive_es_aasmr",
      "title": "Compute cohort-style survival from Eurostat EUROPOP2023 mortality assumptions",
      "concept": [
        "survival curve functions"
      ],
      "topics": [
        "chance_alive_es_aasmr"
      ]
    },
    {
      "page": "clear_data_loaders",
      "title": "Clear registered data loaders",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "clear_data_loaders"
      ]
    },
    {
      "page": "clear_fund_index_map",
      "title": "Clear fund-index map",
      "concept": [
        "fund-index map functions"
      ],
      "topics": [
        "clear_fund_index_map"
      ]
    },
    {
      "page": "clear_inkscape_queue",
      "title": "Clear queued Inkscape exports",
      "concept": [
        "plot export utilities"
      ],
      "topics": [
        "clear_inkscape_queue"
      ]
    },
    {
      "page": "clear_storage",
      "title": "Clear storage",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "clear_storage"
      ]
    },
    {
      "page": "download_fund_data",
      "title": "Download fund data according to the configured download list",
      "concept": [
        "download functions"
      ],
      "topics": [
        "download_fund_data"
      ]
    },
    {
      "page": "export_pngs",
      "title": "Export queued SVGs to PNG via Inkscape",
      "concept": [
        "plot export utilities"
      ],
      "topics": [
        "export_pngs"
      ]
    },
    {
      "page": "fundsr_default_session",
      "title": "Get the default fundsr session",
      "concept": [
        "config functions"
      ],
      "topics": [
        "fundsr_default_session"
      ]
    },
    {
      "page": "fundsr_example_data",
      "title": "Get the path to an example file shipped with the package.",
      "concept": [
        "example helpers"
      ],
      "topics": [
        "fundsr_example_data"
      ]
    },
    {
      "page": "fundsr_options",
      "title": "Set fundsr package options",
      "concept": [
        "config functions"
      ],
      "topics": [
        "fundsr_options"
      ]
    },
    {
      "page": "fundsr_session",
      "title": "Create a fundsr session",
      "concept": [
        "config functions"
      ],
      "topics": [
        "fundsr_session"
      ]
    },
    {
      "page": "get_fund_index_map",
      "title": "Get the internal fund index map",
      "concept": [
        "fund-index map functions"
      ],
      "topics": [
        "get_fund_index_map"
      ]
    },
    {
      "page": "get_storage",
      "title": "Get the internal fund storage",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "get_storage"
      ]
    },
    {
      "page": "import_fund",
      "title": "Import a fund's NAV data and optionally register its benchmark mapping",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "import_fund"
      ]
    },
    {
      "page": "join_env",
      "title": "Join all data frames in an environment with optional late joins",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "join_env"
      ]
    },
    {
      "page": "load_fund",
      "title": "Deprecated alias for 'import_fund()'.",
      "concept": [
        "deprecated functions"
      ],
      "topics": [
        "load_fund"
      ]
    },
    {
      "page": "plot_chance_alive",
      "title": "Plot chance alive by age",
      "concept": [
        "survival curve functions"
      ],
      "topics": [
        "plot_chance_alive"
      ]
    },
    {
      "page": "plot_chance_alive_es_aasmr",
      "title": "Plot cohort-style survival from Eurostat EUROPOP2023 assumptions",
      "concept": [
        "survival curve functions"
      ],
      "topics": [
        "plot_chance_alive_es_aasmr"
      ]
    },
    {
      "page": "plot_roll_diffs",
      "title": "Plot rolling return differences against benchmark",
      "concept": [
        "rolling difference functions"
      ],
      "topics": [
        "plot_roll_diffs"
      ]
    },
    {
      "page": "read_es_aasmr",
      "title": "Read Eurostat EUROPOP2023 mortality-assumption table (proj_23naasmr)",
      "concept": [
        "survival curve functions"
      ],
      "topics": [
        "read_es_aasmr"
      ]
    },
    {
      "page": "read_life_table",
      "title": "Read HMD period life tables (1x1) from disk",
      "concept": [
        "survival curve functions"
      ],
      "topics": [
        "read_life_table"
      ]
    },
    {
      "page": "read_timeseries",
      "title": "Read a time series file (CSV/TSV) with a date + one or more value columns",
      "concept": [
        "fund/index file readers"
      ],
      "topics": [
        "read_timeseries"
      ]
    },
    {
      "page": "read_timeseries_excel",
      "title": "Read a time series from an Excel workbook",
      "concept": [
        "fund/index file readers"
      ],
      "topics": [
        "read_timeseries_excel"
      ]
    },
    {
      "page": "reset_state",
      "title": "Clear fundsr session state",
      "concept": [
        "config functions"
      ],
      "topics": [
        "reset_state"
      ]
    },
    {
      "page": "roll_diffs",
      "title": "Compute rolling annualized tracking difference statistics",
      "concept": [
        "rolling difference functions"
      ],
      "topics": [
        "roll_diffs"
      ]
    },
    {
      "page": "run_data_loaders",
      "title": "Run registered data loaders",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "run_data_loaders"
      ]
    },
    {
      "page": "run_plots",
      "title": "Generate and export rolling-differences from a specification",
      "concept": [
        "plot export utilities"
      ],
      "topics": [
        "run_plots"
      ]
    },
    {
      "page": "save_plot",
      "title": "Save a plot as SVG and/or PNG and queue for Inkscape conversion",
      "concept": [
        "plot export utilities"
      ],
      "topics": [
        "save_plot"
      ]
    },
    {
      "page": "store_timeseries",
      "title": "Store a cached object in the package storage environment",
      "concept": [
        "fund/index workflow functions"
      ],
      "topics": [
        "store_timeseries"
      ]
    }
  ],
  "_pkglogo": "https://github.com/StanTraykov/fundsr/raw/v0.5.0/man/figures/logo.png",
  "_readme": "https://github.com/StanTraykov/fundsr/raw/v0.5.0/README.md",
  "_rundeps": [
    "bit",
    "bit64",
    "cellranger",
    "cli",
    "clipr",
    "cpp11",
    "crayon",
    "dplyr",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "hms",
    "isoband",
    "labeling",
    "lifecycle",
    "lubridate",
    "magrittr",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "purrr",
    "R6",
    "RColorBrewer",
    "readr",
    "readxl",
    "rematch",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "tzdb",
    "utf8",
    "vctrs",
    "viridisLite",
    "vroom",
    "withr",
    "xml2"
  ],
  "_vignettes": [
    {
      "source": "importing-and-computing-differences.Rmd",
      "filename": "importing-and-computing-differences.html",
      "title": "Importing Data and Computing Rolling Differences",
      "author": "Stanislav Traykov",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The master table",
        "Setup",
        "Importing",
        "store_timeseries()",
        "import_fund()",
        "Building the master table",
        "Advanced joining",
        "Downloading NAV histories",
        "Retrieving benchmarks from fund files",
        "Using data loaders",
        "Resetting and reloading",
        "Calculating differences",
        "Plotting",
        "Output"
      ],
      "created": "2026-03-28 05:23:05",
      "modified": "2026-03-28 05:23:05",
      "commits": 1
    }
  ],
  "_score": 3.3979400086720375,
  "_indexed": true,
  "_nocasepkg": "fundsr",
  "_universes": [
    "stantraykov"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-05-27T06:48:51.000Z",
      "distro": "noble",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "6627b0f39f0ed4cb534e1c48d83b23daf8e1e42c55835f758053e464cd7cff0b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-05-27T06:48:45.000Z",
      "distro": "noble",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "4bc8b4378aa92bf709c21a4b8c1108fa57dbc492c381bbe2e57f8e8258c1cc47",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-05-27T06:51:25.000Z",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "0322795567a1edadd436d3e1fc58c4aba59c8ae2eb978341a8057965347a4f52",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-05-27T06:49:55.000Z",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "091fac52d9ca4f6fda441ba21c6fce9ce0c2793f59686db275a7927c0f296506",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.5.0",
      "date": "2026-05-27T06:49:07.000Z",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "1d4a9a07587c373ba79d67d2607c2b3a17a902e0753ccb0a1c67097df7504d03",
      "status": "success",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-05-27T06:47:38.000Z",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "e3c4cd92715d9fb868a2e17fd0b74beae1c3e414ca2abdad1fb9120dad981ee5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-05-27T06:47:52.000Z",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "73e5e4183de8cebdfc5f3bad6a4e7d6c84071c12b349cfcddb28ccc09f400589",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-05-27T06:47:38.000Z",
      "commit": "c13c9e33067ccc0bd9ae6d47b8538d3f6952661f",
      "fileid": "a386c02316e4b0afc214a8aff178263c97e23258e26a83f00039823f09f427b3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/stantraykov/actions/runs/26495360170"
    }
  ]
}