Package 'solvency2rfr'

Title: 'EIOPA' Risk-Free Interest Rate Term Structures for Solvency II
Description: Downloads and parses the risk-free interest rate ('RFR') term structures published monthly by the European Insurance and Occupational Pensions Authority ('EIOPA') for Solvency II calculations. Provides a tidy data frame interface to the data, accessed via the official 'EIOPA' feed at <https://www.eiopa.europa.eu/feed/53/rss_en>.
Authors: Jan-Hendrik Weinert [aut, cre] (ORCID: <https://orcid.org/0009-0005-2071-6502>)
Maintainer: Jan-Hendrik Weinert <[email protected]>
License: MIT + file LICENSE
Version: 0.1.0
Built: 2026-05-14 12:33:05 UTC
Source: https://github.com/cran/solvency2rfr

Help Index


List available EIOPA RFR publications

Description

Fetches the EIOPA RSS feed and returns a tibble of all available risk-free rate publications with their reference dates and download URLs.

Usage

rfr_index(feed_url = rfr_feed_url())

Arguments

feed_url

The URL of the EIOPA RSS feed. Defaults to the official feed URL. Override only for testing.

Details

The EIOPA RSS feed contains monthly RFR publications as well as background documents (technical documentation, UFR reports, etc.). rfr_index() filters the feed to return only the monthly ZIP publications and excludes PDF, XLSX, and other document types.

An internet connection is required.

Value

A tibble::tibble() with columns:

  • date (Date): The reference date of the publication (end of month).

  • title (character): The publication title (e.g. "April 2026").

  • url (character): Direct download URL for the ZIP file.

Examples

idx <- rfr_index()
head(idx)

Download EIOPA RFR term structures as a tidy tibble

Description

Downloads the monthly ZIP file for a given reference date, extracts the Term_Structures.xlsx file, and returns the selected interest rate curve as a tidy tibble.

Usage

rfr_term_structures(
  date = NULL,
  curve = "spot_no_VA",
  feed_url = rfr_feed_url()
)

Arguments

date

A Date object or a character string in "YYYY-MM-DD" format specifying the reference date (end of month). Use rfr_index() to see available dates. Defaults to the most recent available publication.

curve

One of "spot_no_VA" (default), "spot_with_VA", "spot_no_VA_up", "spot_no_VA_down", "spot_with_VA_up", "spot_with_VA_down". Selects which rate curve to return.

feed_url

The URL of the EIOPA RSS feed. Rarely needs to be changed.

Details

The EIOPA RFR term structures are published around the 5th of each month for the previous month-end. An internet connection is required.

Rates are returned as decimals, not percentages.

Value

A tibble::tibble() with columns:

  • date (Date): The reference date.

  • country (character): Country or currency area name (e.g. "Euro", "Germany", "Switzerland").

  • maturity (integer): Maturity in years (1 to 150).

  • rate (double): Annual spot rate as a decimal (e.g. 0.0268 for 2.68 %).

See Also

rfr_index() to list all available publications.

Examples

# Get the most recent term structures
rfr <- rfr_term_structures()
head(rfr)

# Get a specific month
rfr <- rfr_term_structures("2026-04-30")

# Get the curve including volatility adjustment
rfr_va <- rfr_term_structures(curve = "spot_with_VA")