refactor roll_diffs() for speed / better interface
Survival plots
add survival curve plots using Human Mortality Database (HMD) empirical data and EUROPOP2023 projections
Fixes
skip unavailable funds, indices when calculating differences
ensure y-limits in rolling-difference plots include the last 30 days (even if outside quantiles)
make roll_diffs() skip benchmarks (in addition to funds) that are not found in supplied df
more robust gg_params list flattening
date breaks on fixed months, quarter or biannual (once plot >3 yrs)
Tests
add rolling test
Vignettes, examples, translations
add life vignette
add more example scripts; translate more index names in common_spec
fix glob_funds example to include EUR indices
fix Bulgarian translation: wrong y-axis label on log-return charts
translate all examples to Bulgarian
fundsr 0.1.0
Configuration
fundsr_options() provides a validated wrapper around options() for setting common fundsr.* options (data directories, export settings, URL registry, and more).
add_fund_urls() adds/updates the fund download registry (option fundsr.fund_urls).
Import and storage
Internal caching/storage for imported time series via a storage environment (get_storage(), clear_storage(), store_timeseries()), with optional forced refresh via options(fundsr.reload = TRUE).
join_env() combines multiple tables stored in an environment, with optional “late” left-joins and optional coalescing of .x/.y join columns.
Rolling differences
roll_diffs() computes rolling, annualized tracking differences for fund–index pairs with either log-return or CAGR-style variants, producing <fund>_rd columns.
Plotting and export
plot_roll_diffs() visualizes rolling tracking-difference series with quantile-based y-limits and bps axis labeling.
run_plots() generates plot sets from a specification, producing both CAGR and log-return variants.
Optional direct PNG export via ggplot2::ggsave() without Inkscape (lower quality; controlled by fundsr.internal_png).
Xetra Liquidity Measure (XLM) support: read and plot XLM time series (read_xlm_directory(), plot_xlms()), with optional back-translation of displayed tickers using options(fundsr.xetra_map).
Internationalization
Chart elements are available in two languages (English and Bulgarian), with language selection based on LANGUAGE / LC_MESSAGES.
Language-aware user-supplied strings are supported via named vectors keyed by language code.
Utilities
reset_state() clears cached storage, loader registry, queued exports, and XLM bookkeeping for the current session.