| Type: | Package |
| Title: | Offline Solvency II Calculations and Regulatory Parameters |
| Version: | 0.5.1 |
| Description: | Native, offline components for insurance solvency calculations under Solvency II, including valuation, technical provisions, market and underwriting risks, capital aggregation, own funds, groups and archived reporting checks. Provides explicit dated rule profiles, regulatory parameters, correlation matrices, synthetic reference cases, local discount curve adapters and traceable analyst overrides. Implements components of Directive 2009/138/EC, European Parliament and Council (2009) https://eur-lex.europa.eu/eli/dir/2009/138/oj, and Delegated Regulation (EU) 2015/35, European Commission (2014) https://eur-lex.europa.eu/eli/reg_del/2015/35/oj. Users provide portfolio inputs, market observations and model results; no network connection or 'Python' runtime is required. |
| License: | GPL (≥ 3) |
| Encoding: | UTF-8 |
| Depends: | R (≥ 4.1.0) |
| Imports: | jsonlite, digest, gmp, Rmpfr, xml2 |
| Suggests: | testthat (≥ 3.0.0), knitr, rmarkdown |
| VignetteBuilder: | knitr |
| Config/testthat/edition: | 3 |
| RoxygenNote: | 7.3.1 |
| URL: | https://github.com/rds0001/solvency2-r |
| BugReports: | https://github.com/rds0001/solvency2-r/issues |
| NeedsCompilation: | no |
| Packaged: | 2026-10-08 05:59:39 UTC; qwert123 |
| Author: | Dimitrios Geromichalos [cre], RiskDataScience GmbH [aut, cph] |
| Maintainer: | Dimitrios Geromichalos <riskdatascience@web.de> |
| Repository: | CRAN |
| Date/Publication: | 2026-10-20 14:10:02 UTC |
Offline Solvency II Calculations and Regulatory Parameters
Description
Native R components for insurance solvency analysis, with explicit rule profiles, regulatory parameters, synthetic reference data and auditable results. Individual formulas can be used independently of the graph engine.
Getting started
Create a Context() to select valuation date, information date, currency and
rule profile. Call a granular function such as intangible_risk() and inspect
its value, unit, sources, details and status. Monetary amounts use the
context currency, without an implicit thousands multiplier. Rates and ratios
are decimal fractions unless the individual help page states otherwise.
Finding functions and data
api_catalogue() lists the reference API and coverage() describes the
supported scope. rule_profiles() exposes dated rule sets. parameter()
reads scalars, tables and correlation or catastrophe resources.
reference_cases(), reference_case(), reference_portfolios() and
reference_dataset() provide synthetic inputs and fixed expected outcomes.
vignette("getting-started", package = "solvency2") introduces the workflow;
documentation() provides additional installed, offline documentation.
Main interfaces
Valuation and capital calculations include best_estimate_cashflows(),
aggregate_risk(), basic_scr(), scr_standard_formula() and mcr_combined().
Use Engine() or calculate() for explicitly linked calculations.
DiscountCurve() and the local JSON/CSV adapters accept user-supplied curves.
NumericOverride() records context-local sensitivities without changing
installed regulatory resources. reporting_catalog(), reporting_data(),
reporting_bound_rule_check() and reporting_instance() expose archived
definitions, component checks and draft XBRL generation.
Scope and responsibility
Runtime is offline. The package does not obtain market observations, develop
insurer-specific internal models, infer approvals or submit filings.
Synthetic examples are not production market data. Profile validity and
documented qualification limits remain explicit; a successful calculation or
software test is not supervisory approval. Invalid or unsupported inputs
produce structured CalculationError() conditions. See the individual
function's assumptions and documentation("LIMITATIONS") before use.
Author(s)
Maintainer: Dimitrios Geromichalos riskdatascience@web.de
Authors:
RiskDataScience GmbH [copyright holder]
References
European Parliament and Council (2009), Directive 2009/138/EC, https://eur-lex.europa.eu/eli/dir/2009/138/oj. European Commission (2014), Delegated Regulation (EU) 2015/35, https://eur-lex.europa.eu/eli/reg_del/2015/35/oj.
See Also
Context(), api_catalogue(), documentation()
Examples
ctx <- Context("2025-01-17", "2026-09-23", "EUR",
"EU-S2-DOCUMENTS-2024-2025-v0.1")
charge <- intangible_risk(100, context = ctx)
charge$value
charge$unit
parameter("scalars/intangible", context = ctx)$value
Structured calculation failure
Description
Structured calculation failure
Usage
CalculationError(code, field, message)
Arguments
code |
Machine-readable error code. |
field |
Offending input or resource field. |
message |
Human-readable explanation. |
Value
An R condition inheriting from CalculationError, s2_error, error
and condition. Constructing it does not signal it; use stop() to signal.
Examples
error <- CalculationError("INVALID_INPUT", "amount", "finite amount required")
error$code
Explicit calculation context
Description
Select a dated rule profile and optional numeric analyst overrides. No current date, currency, rule profile or external approval is inferred.
Usage
Context(
as_of,
known_at,
currency,
profile_id,
mode = "REFERENCE_ONLY",
overrides = list()
)
Arguments
as_of, known_at |
ISO dates for valuation and information availability. |
currency |
Three-letter uppercase currency identifier. |
profile_id |
Explicit profile identifier; inspect |
mode |
Must be |
overrides |
List of |
Value
An immutable-by-convention S3 Context list. Functions validate it
before calculation; modifying a copy does not affect other contexts.
See Also
Examples
context <- Context("2025-01-17", "2026-09-23", "EUR",
"EU-S2-DOCUMENTS-2024-2025-v0.1")
intangible_risk(100, context = context)$value
Explicit local discount curve
Description
Explicit local discount curve
Usage
DiscountCurve(curve_id, as_of, currency, curve_kind, source_reference, points)
discount_curve_factor(curve, payment_date)
discount_curve_to_dict(curve)
discount_curve_from_dict(payload)
Arguments
curve_id |
Nonempty identifier supplied by the user. |
as_of |
Canonical valuation date, |
currency |
Uppercase three-letter currency. |
curve_kind |
One of |
source_reference |
User-owned provenance, not an instruction to download. |
points |
Ordered list of two-element lists containing payment date and discount factor. Factors must be positive; values above one are permitted. |
curve |
|
payment_date |
Exact canonical payment date. |
payload |
Exact version-1 schema with metadata and |
Details
Points are sorted by date and duplicate dates rejected. No interpolation, day-count convention, currency conversion or approval is inferred. A copy can be edited, but adapters revalidate it before use.
Value
A DiscountCurve list. Use discount_curve_factor() for exact lookup
and discount_curve_to_dict() for the version-1 JSON-compatible schema.
Examples
curve <- DiscountCurve("example", "2025-01-17", "EUR", "custom",
"synthetic example", list(list("2026-01-17", 0.97)))
discount_curve_factor(curve, "2026-01-17")
Execute a dependency graph of granular calculations
Description
Execute a dependency graph of granular calculations
Usage
Engine()
calculate(nodes, context)
Arguments
nodes |
Named list of nodes, each containing |
context |
Explicit |
Details
Cycles and missing dependencies raise structured conditions. Cached
numeric results do not suppress synthetic-data provenance. Outputs retain
PARTIAL status: combining reference components does not approve an SCR.
Value
Engine() returns an object with a run(nodes, context) function
and an instance-local cache. calculate() returns a list containing
results, execution order, cache hits, coverage and profile scope.
Examples
ctx <- Context("2025-01-17", "2026-09-23", "EUR",
"EU-S2-DOCUMENTS-2024-2025-v0.1")
nodes <- list(charge = list("function" = "intangible_risk",
inputs = list(value = 100)))
# Use a source reference's exact input names:
case <- Filter(function(x) x[["function"]] == "intangible_risk" &&
is.null(x$expected_error), reference_cases()$cases)[[1]]
nodes$charge$inputs <- case$kwargs
calculate(nodes, ctx)$results$charge$value
A traceable numeric analyst override
Description
A traceable numeric analyst override
Usage
NumericOverride(resource, path, value, reason)
Arguments
resource |
Logical resource name, for example |
path |
List of JSON keys and zero-based integer array indices. |
value |
Finite numeric replacement. |
reason |
Nonempty explanation recorded with the result. |
Details
Symmetric matrix entries are mirrored; supply only one side. Overrides never remove applicability or unsupported-source guards.
Value
A NumericOverride list, to include in Context()'s overrides.
See Also
Examples
change <- NumericOverride("profile.json",
list("scalars", "intangible", "value"), 0.7, "Synthetic sensitivity")
context <- Context("2025-01-17", "2026-09-23", "EUR",
"EU-S2-DOCUMENTS-2024-2025-v0.1", overrides = list(change))
intangible_risk(100, context = context)$value
Aggregate already determined module charges using an explicit regulatory matrix.
Description
Aggregate already determined module charges using an explicit regulatory matrix.
Usage
aggregate_risk(components, matrix_id, context, ...)
Arguments
components |
Components. Reference type: |
matrix_id |
Matrix id. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("default-baseline-matrix-3-4")
result <- do.call(aggregate_risk,
c(case$kwargs, list(context = context)))
result$value
Catalogue of Golden Source APIs
Description
Catalogue of Golden Source APIs
Usage
api_catalogue()
Value
Named list of functions, domains, source signatures and contracts. Source signatures use Python notation; the R help pages give R signatures.
Examples
names(api_catalogue())
Return eligibility for the CHOSEN route, never an internally modelled CQS.
Description
Route3 excludes already assigned176a(1)-CQS2 instruments, not every instrument that might hypothetically qualify for2. Choice and substantive assessments are explicit external inputs. Existing numeric screens remain authoritative for their limited arithmetic and profile-specific analyst overrides.
Usage
assigned_credit_eligibility_screen(
issuer_financials,
yield_inputs,
conditions,
target_cqs,
qualification_reference,
context,
assessment = NULL,
...
)
Arguments
issuer_financials |
Issuer financials. Reference type: |
yield_inputs |
Yield inputs. Reference type: |
conditions |
Conditions. Reference type: |
target_cqs |
Target cqs. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
assessment |
Assessment. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("assigned-credit-eligibility-baseline-financial-fails")
result <- do.call(assigned_credit_eligibility_screen,
c(case$kwargs, list(context = context)))
result$value
Screen seven numeric issuer criteria on qualified EUR financial values.
Description
Rows are oldest to newest, consecutive completed financial years. All supplied rows are validated; only the latest prescribed windows are used. EUR inputs remain EUR even if Context.currency differs. Definitions, chronology, latest-value alignment and currency-revenue scope are external. A pass does not satisfy other Article176a conditions or assign a CQS.
Usage
assigned_credit_issuer_financial_screen(
financial_years,
latest_financials,
eligible_currency_revenue_share,
years_without_credit_event,
qualification_reference,
context,
...
)
Arguments
financial_years |
Financial years. Reference type: |
latest_financials |
Latest financials. Reference type: |
eligible_currency_revenue_share |
Eligible currency revenue share. Reference type: |
years_without_credit_event |
Years without credit event. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("assigned-credit-baseline-one-small-year")
result <- do.call(assigned_credit_issuer_financial_screen,
c(case$kwargs, list(context = context)))
result$value
Check every qualified issue against both prescribed yield ceilings.
Description
Index keys are 2/4 or 3/4, not sorted by observed yield. All rates are absolute decimal rates, allowing negative yields. Complete comparable own issues, issue-date indices, maturity/currency and any adjustments under paragraphs8/9 must be supplied and qualified externally.
Usage
assigned_credit_yield_screen(
yield_observations,
index_yields,
current_issue_id,
target_cqs,
qualification_reference,
context,
...
)
Arguments
yield_observations |
Yield observations. Reference type: |
index_yields |
Index yields. Reference type: |
current_issue_id |
Current issue id. Reference type: |
target_cqs |
Target cqs. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("assigned-credit-baseline-yield-not-capped-at-one")
result <- do.call(assigned_credit_yield_screen,
c(case$kwargs, list(context = context)))
result$value
Five-module aggregation plus the charge on recognised intangible assets.
Description
Five-module aggregation plus the charge on recognised intangible assets.
Usage
basic_scr(components, intangible_charge, context, ...)
Arguments
components |
Components. Reference type: |
intangible_charge |
Intangible charge. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("bscr-2027-five-modules")
result <- do.call(basic_scr,
c(case$kwargs, list(context = context)))
result$value
Check declared data-deficiency exception, not create an approximation.
Description
Inadequate internal processes cannot justify this exception. Neither an invented materiality percentage nor a preferred actuarial model is supplied.
Usage
best_estimate_approximation_conditions(
conditions,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("be-approx-baseline-combination-31")
result <- do.call(best_estimate_approximation_conditions,
c(case$kwargs, list(context = context)))
result$value
Discount already probability-weighted, gross-of-reinsurance cashflows.
Description
No projection model, curve interpolation or compounding convention is invented here. Discount factors must match the payment dates and currency. Inflows include premiums, not separately valued reinsurance recoverables.
Usage
best_estimate_cashflows(
cashflows,
runoff_complete,
cashflow_reference,
curve_reference,
context,
...
)
Arguments
cashflows |
Cashflows. Reference type: |
runoff_complete |
Runoff complete. Reference type: |
cashflow_reference |
Cashflow reference. Reference type: |
curve_reference |
Curve reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("be-at-valuation-date")
result <- do.call(best_estimate_cashflows,
c(case$kwargs, list(context = context)))
result$value
Select entire qualified obligations, never truncate by a payment date.
Description
Every row identifies a disjoint obligation or contract part. Its evidence qualifies legal enforceability, unilateral rights, full-risk reflection, profile-specific life rules, discernibility and any unbundling. Accepted reinsurance is assessed independently of underlying contract boundaries. These substantive qualifications remain external, not certified here.
Usage
best_estimate_contract_cashflows(
obligations,
runoff_complete,
cashflow_reference,
curve_reference,
context,
...
)
Arguments
obligations |
Obligations. Reference type: |
runoff_complete |
Runoff complete. Reference type: |
cashflow_reference |
Cashflow reference. Reference type: |
curve_reference |
Curve reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Article18(5)(c) is cross-checked against the same-version English text; the incomplete German source is preserved. Paid premiums, discernible cover/guarantee or enforceable future premiums disapply this exception. Unbundled parts are independently qualified, not inferred from cash flows.
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("contract-exception-baseline-enforceable")
result <- do.call(best_estimate_contract_cashflows,
c(case$kwargs, list(context = context)))
result$value
Bind a local discount curve to externally projected cashflows
Description
Bind a local discount curve to externally projected cashflows
Usage
best_estimate_with_curve(
cashflows,
curve,
runoff_complete,
cashflow_reference,
context
)
Arguments
cashflows |
Named list keyed by payment date with |
curve |
Validated |
runoff_complete |
Explicit completeness declaration. |
cashflow_reference |
External cashflow provenance. |
context |
Explicit |
Value
A Result, including the user curve's metadata and content hash.
Examples
ctx <- Context("2025-01-17", "2026-09-23", "EUR", "EU-S2-DOCUMENTS-2024-2025-v0.1")
curve <- DiscountCurve("example", ctx$as_of, "EUR", "custom",
"synthetic example", list(list("2026-01-17", 0.97)))
best_estimate_with_curve(list("2026-01-17" = list(expected_inflows = 0,
expected_outflows = 100)), curve, TRUE, "synthetic cashflows", ctx)$value
Use modified duration, floored at1; floats need externally assessed equivalent fixed duration.
Description
Assigned CQS eligibility and exclusions are external. The published CQS4 jump above20 years is retained, not interpolated away. The 2027 scope explicitly excludes defaulted and forborne loans; callers must qualify that scope before supplying a position to this factor API.
Usage
bond_spread_stress(
modified_duration,
category,
classification_reference,
credit_quality_step = NULL,
context,
assigned_eligibility = NULL,
coinvestment = NULL,
...
)
Arguments
modified_duration |
Modified duration. Reference type: |
category |
Category. Reference type: |
classification_reference |
Classification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
context |
Explicit |
assigned_eligibility |
Assigned eligibility. Reference type: |
coinvestment |
Coinvestment. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("simplified-market-baseline-captive-quality")
result <- do.call(bond_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Prescribed add-on arithmetic, not a supervisory imposition or risk model.
Description
SCR inputs exclude prior/concurrent add-ons. Modified valuations and any permitted offsetting under283(7) are externally qualified. Article279's risk-profile significance thresholds are separate from imposing an add-on. No quantitative governance/additional2027 Article37(1)e formula is invented.
Usage
capital_add_on_amount(
base_scr,
modified_scr,
method,
qualification_reference,
context,
base_eligible_own_funds = NULL,
modified_eligible_own_funds = NULL,
rebuttal_established = NULL,
...
)
Arguments
base_scr |
Base scr. Reference type: |
modified_scr |
Modified scr. Reference type: |
method |
Method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
base_eligible_own_funds |
Base eligible own funds. Reference type: |
modified_eligible_own_funds |
Modified eligible own funds. Reference type: |
rebuttal_established |
Rebuttal established. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("capital-addon-baseline-risk-zero-base")
result <- do.call(capital_add_on_amount,
c(case$kwargs, list(context = context)))
result$value
Select notification/plan duties using externally established breach facts.
Description
Future MCR plans also respond to prospective breach; historical MCR and SCR plans here respond to actual breach. No grace period for notification, calendar deadline, automatic extension, filing or approval is produced. Optional Article136 evidence adds its independent notification trigger; absence is not evidence that financial deterioration has been ruled out. Combined-group minimum breaches use233a(6) only in the2027 profile; SCR own funds never substitute for minimum-eligible basic own funds.
Usage
capital_breach_requirements(
capital_requirement,
actual_breach,
breach_risk_within_horizon,
qualification_reference,
deterioration = NULL,
consolidated_own_funds = NULL,
consolidated_scr = NULL,
transition_measures = NULL,
transition_plan_active = NULL,
context,
...
)
Arguments
capital_requirement |
Capital requirement. Reference type: |
actual_breach |
Actual breach. Reference type: |
breach_risk_within_horizon |
Breach risk within horizon. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
deterioration |
Deterioration. Reference type: |
consolidated_own_funds |
Consolidated own funds. Reference type: |
consolidated_scr |
Consolidated scr. Reference type: |
transition_measures |
Transition measures. Reference type: |
transition_plan_active |
Transition plan active. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("capital-breach-baseline-scr-11")
result <- do.call(capital_breach_requirements,
c(case$kwargs, list(context = context)))
result$value
Inventory the five common plan contents; do not project or approve them.
Description
Inventory the five common plan contents; do not project or approve them.
Usage
capital_recovery_plan_evidence_check(
evidence,
plan_kind,
assessment_reference,
scope_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
plan_kind |
Plan kind. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
scope_reference |
Scope reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("capital-breach-baseline-scr_recovery-empty")
result <- do.call(capital_recovery_plan_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Evaluate one currency's literal asset-minus-BE formula for a declared scenario.
Description
Relative stresses, rate/duration consistency and eligibility are externally qualified. Signed inputs are preserved: there is no hidden down-direction sign flip, floor or stress-curve generation (including blocked 2027 curves). All five asset bands and all 36 Annex I LoBs must be supplied explicitly.
Usage
captive_interest_currency(
assets,
technical_provisions,
direction,
eligibility_reference,
valuation_reference,
stress_reference,
context,
...
)
Arguments
assets |
Assets. Reference type: |
technical_provisions |
Technical provisions. Reference type: |
direction |
Direction. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
stress_reference |
Stress reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("captive-interest-baseline-zero")
result <- do.call(captive_interest_currency,
c(case$kwargs, list(context = context)))
result$value
Look up an explicitly qualified lettered band; do not invent boundary rules.
Description
Look up an explicitly qualified lettered band; do not invent boundary rules.
Usage
captive_interest_duration(band, qualification_reference, context, ...)
Arguments
band |
Band. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: years.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("captive-interest-baseline-duration-a")
result <- do.call(captive_interest_duration,
c(case$kwargs, list(context = context)))
result$value
Aggregate all twelve DR90 segment charges, with explicit inactive zeros.
Description
Weights are separate profile parameters, not ordinary nonlife correlations. A full set prevents omitted exposures from silently becoming zero.
Usage
captive_nonlife_aggregation(
segment_charges,
eligibility_reference,
context,
...
)
Arguments
segment_charges |
Segment charges. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("captive-baseline-aggregate-zero")
result <- do.call(captive_nonlife_aggregation,
c(case$kwargs, list(context = context)))
result$value
Calculate a segment charge from already qualified Article116 volumes.
Description
Normalising before squaring avoids overflow for representable charges; neither reinsurance adjustments nor geographic diversification are repeated.
Usage
captive_nonlife_segment(
premium_volume,
reserve_volume,
eligibility_reference,
volume_reference,
context,
...
)
Arguments
premium_volume |
Premium volume. Reference type: |
reserve_volume |
Reserve volume. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
volume_reference |
Volume reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("captive-baseline-zero")
result <- do.call(captive_nonlife_segment,
c(case$kwargs, list(context = context)))
result$value
Check externally assessed DR89 facts, not substantive eligibility itself.
Description
Absent insurance/reinsurance business must be explicitly qualified by the caller; missing evidence never means that a condition is met.
Usage
captive_simplification_conditions(
conditions,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("captive-baseline-eligible")
result <- do.call(captive_simplification_conditions,
c(case$kwargs, list(context = context)))
result$value
Qualified recovery subtraction or explicit gross fallback for inadequate risk capture.
Description
Recoveries conditional on unrelated claims must have been excluded externally. For vessel components apply separately; for other perils use the qualified combined object/group sum. The returned amount is not a BOF loss or SCR.
Usage
catastrophe_effective_sum(
gross_sum,
recoverable,
use_gross,
peril,
qualification_reference,
context,
...
)
Arguments
gross_sum |
Gross sum. Reference type: |
recoverable |
Recoverable. Reference type: |
use_gross |
Use gross. Reference type: |
peril |
Peril. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("concentration-2027-fire-gross")
result <- do.call(catastrophe_effective_sum,
c(case$kwargs, list(context = context)))
result$value
Q*max(group zone weights)*qualified group SI; never invent a group matrix.
Description
The named region fixes the common regional scope. Source-blocked weights remain blocked through the ordinary selector. A group amount cannot be repeated into every original matrix zone: downstream group treatment must be qualified separately. Future90b(6) requires120(1a) evidence for wind/soil.
Usage
catastrophe_group_weighted_sum(
peril,
region,
zone_ordinals,
insured_sum,
qualification_reference,
exposure_basis_reference = NULL,
context,
...
)
Arguments
peril |
Peril. Reference type: |
region |
Region. Reference type: |
zone_ordinals |
Zone ordinals. Reference type: |
insured_sum |
Insured sum. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
exposure_basis_reference |
Exposure basis reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-06",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("simpl-close-baseline-group-single")
result <- do.call(catastrophe_group_weighted_sum,
c(case$kwargs, list(context = context)))
result$value
Aggregate externally determined regional catastrophe charges plus other-region charge.
Description
Aggregate externally determined regional catastrophe charges plus other-region charge.
Usage
catastrophe_region_aggregation(
peril,
region_charges,
other_charge,
context,
...
)
Arguments
peril |
Peril. Reference type: |
region_charges |
Region charges. Reference type: |
other_charge |
Other charge. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-cat-region-subsidence-zero")
result <- do.call(catastrophe_region_aggregation,
c(case$kwargs, list(context = context)))
result$value
QWSI for an externally qualified zone ordinal, not an address-to-zone mapping.
Description
Future subsidence uses Annex VIIIA Q. Unqualified future geographic links stay explicitly absent instead of inheriting historical labels.
Usage
catastrophe_weighted_sum(
peril,
region,
zone_ordinal,
insured_sum,
context,
...
)
Arguments
peril |
Peril. Reference type: |
region |
Region. Reference type: |
zone_ordinal |
Zone ordinal. Reference type: |
insured_sum |
Insured sum. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-cat-weight-zero-si")
result <- do.call(catastrophe_weighted_sum,
c(case$kwargs, list(context = context)))
result$value
sqrt(WSI' C WSI) for one Annex XXII–XXVI peril/region; WSI supplied externally.
Description
sqrt(WSI' C WSI) for one Annex XXII–XXVI peril/region; WSI supplied externally.
Usage
catastrophe_zone_aggregation(peril, region, weighted_sums, context, ...)
Arguments
peril |
Peril. Reference type: |
region |
Region. Reference type: |
weighted_sums |
Weighted sums. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-cat-zone-earthquake-GU-one")
result <- do.call(catastrophe_zone_aggregation,
c(case$kwargs, list(context = context)))
result$value
Resolve an explicitly supplied published code to its zone ordinal.
Description
Callers must first apply the region's documented postcode/province rule. This function never guesses a prefix from a full address or repairs source conflicts; the latter produce REVIEW_REQUIRED for the affected code only.
Usage
catastrophe_zone_ordinal(region, geographic_code, context, ...)
Arguments
region |
Region. Reference type: |
geographic_code |
Geographic code. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: zone_ordinal.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-cat-geography-BE-1")
result <- do.call(catastrophe_zone_ordinal,
c(case$kwargs, list(context = context)))
result$value
Check strict issuer size/revenue and inclusive retention for EACH security.
Description
Model approvals, contract requirements, CQS/PD mapping, consolidated issuer scope, fiscal-year selection and EUR conversion remain external. There is no averaging of retention across securities and no internal credit model.
Usage
coinvestment_numeric_screen(
revenue_currency_share,
financial_years,
retentions,
qualification_reference,
context,
...
)
Arguments
revenue_currency_share |
Revenue currency share. Reference type: |
financial_years |
Financial years. Reference type: |
retentions |
Retentions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("coinvestment-baseline-employee-route")
result <- do.call(coinvestment_numeric_screen,
c(case$kwargs, list(context = context)))
result$value
Ei excluding zero-gi counterparties; does not alter Assets or quality weights.
Description
Ei excluding zero-gi counterparties; does not alter Assets or quality weights.
Usage
concentration_adjusted_exposure(exposures, grouping_reference, context, ...)
Arguments
exposures |
Exposures. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-adjusted-zero")
result <- do.call(concentration_adjusted_exposure,
c(case$kwargs, list(context = context)))
result$value
Immediate asset-value loss, explicitly NOT the resulting BOF capital charge.
Description
Immediate asset-value loss, explicitly NOT the resulting BOF capital charge.
Usage
concentration_asset_loss(excess, risk_factor, context, ...)
Arguments
excess |
Excess. Reference type: |
risk_factor |
Risk factor. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-core-5")
result <- do.call(concentration_asset_loss,
c(case$kwargs, list(context = context)))
result$value
Select Assets from externally classified holdings; intragroup needs all five flags.
Description
Exclusions are not inferred from names. Intragroup category itself asserts group membership externally; a failed exclusion condition retains the asset.
Usage
concentration_assets(assets, classification_reference, context, ...)
Arguments
assets |
Assets. Reference type: |
classification_reference |
Classification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-assets-all-excluded")
result <- do.call(concentration_assets,
c(case$kwargs, list(context = context)))
result$value
Position quality before single-name weighting/ceiling; eligibility is external.
Description
Here the quality itself is interpolated, unlike Article180 stress-factor interpolation. MCR/SFCR routing in Article182(6-8) concerns unrated insurers.
Usage
concentration_credit_quality(
category,
qualification_reference,
credit_quality_step = NULL,
solvency_ratio = NULL,
mcr_compliant = NULL,
sfcr_published = NULL,
context,
...
)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
solvency_ratio |
Solvency ratio. Reference type: |
mcr_compliant |
Mcr compliant. Reference type: |
sfcr_published |
Sfcr published. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: credit_quality_step.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-quality-residual")
result <- do.call(concentration_credit_quality,
c(case$kwargs, list(context = context)))
result$value
Threshold excess on already scoped Assets and zero-factor-adjusted exposure.
Description
Threshold excess on already scoped Assets and zero-factor-adjusted exposure.
Usage
concentration_excess(exposure, assets, threshold, context, ...)
Arguments
exposure |
Exposure. Reference type: |
assets |
Assets. Reference type: |
threshold |
Threshold. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-core-3")
result <- do.call(concentration_excess,
c(case$kwargs, list(context = context)))
result$value
Sum externally grouped counterparty/single-name exposures, not all Assets.
Description
Sum externally grouped counterparty/single-name exposures, not all Assets.
Usage
concentration_exposure_sum(exposures, grouping_reference, context, ...)
Arguments
exposures |
Exposures. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-core-13")
result <- do.call(concentration_exposure_sum,
c(case$kwargs, list(context = context)))
result$value
gi selection, not grouping or CT selection; regional CQS2 reference affects gi only.
Description
gi selection, not grouping or CT selection; regional CQS2 reference affects gi only.
Usage
concentration_factor(
category,
qualification_reference,
credit_quality_step = NULL,
context,
...
)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration_factor-property-none")
result <- do.call(concentration_factor,
c(case$kwargs, list(context = context)))
result$value
Euclidean norm of already valued single-name BOF charges; not asset losses.
Description
Euclidean norm of already valued single-name BOF charges; not asset losses.
Usage
concentration_risk(single_name_charges, context, ...)
Arguments
single_name_charges |
Single name charges. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-core-7")
result <- do.call(concentration_risk,
c(case$kwargs, list(context = context)))
result$value
Ceil value-weighted quality only after aggregation, without epsilon rounding.
Description
Exact arithmetic on validated binary inputs protects integer boundaries and avoids overflow in weighted products. Input qualities may be fractional.
Usage
concentration_single_name_quality(exposures, grouping_reference, context, ...)
Arguments
exposures |
Exposures. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: credit_quality_step.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration-core-9")
result <- do.call(concentration_single_name_quality,
c(case$kwargs, list(context = context)))
result$value
CT on externally established single-name quality or qualified special exposure.
Description
CT on externally established single-name quality or qualified special exposure.
Usage
concentration_threshold(
category,
qualification_reference,
credit_quality_step = NULL,
context,
...
)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-concentration_threshold-property-none")
result <- do.call(concentration_threshold,
c(case$kwargs, list(context = context)))
result$value
Only the Article 18(3) negative screen; zero never proves contract membership.
Description
'After' concerns coverage, not payment dates. Qualification of unilateral rights, repricing and legal enforceability is supplied externally.
Usage
contract_boundary_exclusion(
coverage_after_qualifying_right,
premium_payment_enforceable,
assessment_reference,
context,
...
)
Arguments
coverage_after_qualifying_right |
Coverage after qualifying right. Reference type: |
premium_payment_enforceable |
Premium payment enforceable. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-boundary-exclusion-true-true")
result <- do.call(contract_boundary_exclusion,
c(case$kwargs, list(context = context)))
result$value
Has the first recognition time arrived? This does not reverse later derecognition.
Description
Has the first recognition time arrived? This does not reverse later derecognition.
Usage
contract_recognition_due(
contract_party_date,
coverage_start_date,
evidence_reference,
context,
...
)
Arguments
contract_party_date |
Contract party date. Reference type: |
coverage_start_date |
Coverage start date. Reference type: |
evidence_reference |
Evidence reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-recognition-party-first")
result <- do.call(contract_recognition_due,
c(case$kwargs, list(context = context)))
result$value
Guideline2 unilateral-right screen, not full contract-boundary membership.
Description
Restrictions must be externally qualified effective restrictions, including the Article18 economic-effect assessment. Relevant third parties exclude supervisors/governance bodies. Mere reputation or competition is not a veto. Full risk reflection and the profile-specific life repricing clause remain separate for an amendment right, even when this screen returns1.
Usage
contract_unilateral_right(
right_type,
facts,
assessment_reference,
context,
...
)
Arguments
right_type |
Right type. Reference type: |
facts |
Facts. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("unilateral-baseline-amend-31")
result <- do.call(contract_unilateral_right,
c(case$kwargs, list(context = context)))
result$value
Divide externally qualified latest eligible funds by latest positive SCR.
Description
Values must refer to the correct counterparty, currency and unit. Their recency and regulatory eligibility are not established by this division. Signed funds are preserved; neither MCR compliance nor a rating is inferred.
Usage
counterparty_solvency_ratio(
eligible_own_funds,
scr,
qualification_reference,
context,
...
)
Arguments
eligible_own_funds |
Eligible own funds. Reference type: |
scr |
Scr. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("counterparty-ratio-baseline-zero")
result <- do.call(counterparty_solvency_ratio,
c(case$kwargs, list(context = context)))
result$value
Declared regulatory coverage and limitations
Description
Declared regulatory coverage and limitations
Usage
coverage()
Value
Named list inherited from the Golden Source. This describes regulatory scope, not certification or approval of a company's inputs or capital result.
Examples
names(coverage())
Select largest NET default exposures and report their gross scenario claims.
Description
Each recovery is externally valued against this exposure's default claim, not against its full insured sum. Ambiguous cutoff ties with differing gross amounts require explicit selection, still constrained to largest net losses.
Usage
credit_cat_default_loss(
exposures,
qualification_reference,
selected_exposure_ids = NULL,
context,
...
)
Arguments
exposures |
Exposures. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
selected_exposure_ids |
Selected exposure ids. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("credit-cat-empty")
result <- do.call(credit_cat_default_loss,
c(case$kwargs, list(context = context)))
result$value
Sudden gross claim from next12month earned LOB9/21 premiums, not capital.
Description
Sudden gross claim from next12month earned LOB9/21 premiums, not capital.
Usage
credit_cat_recession_loss(gross_premium, qualification_reference, context, ...)
Arguments
gross_premium |
Gross premium. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("liability-credit-2027-credit-recession")
result <- do.call(credit_cat_recession_loss,
c(case$kwargs, list(context = context)))
result$value
Select gross credit-derivative charge by maximal net-FDB scenario loss.
Description
Widening/tightening BOF valuations and Article179(3) hedge exclusions must be qualified externally. This is neither derivative pricing nor hedge approval. Article180(9) can instead use an explicitly qualified public debt underlying; no partial guarantee, other underlying or missing scenarios implies zero.
Usage
credit_derivative_scenario_charge(
gross_losses,
net_losses,
valuation_reference,
tie_break = NULL,
public_underlying = NULL,
hedge_exemption = NULL,
context,
...
)
Arguments
gross_losses |
Gross losses. Reference type: |
net_losses |
Net losses. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
tie_break |
Tie break. Reference type: |
public_underlying |
Public underlying. Reference type: |
hedge_exemption |
Hedge exemption. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("credit-derivative-select-baseline-equal")
result <- do.call(credit_derivative_scenario_charge,
c(case$kwargs, list(context = context)))
result$value
Absolute widening versus relative tightening; hedge exclusions require separate assessment.
Description
Absolute widening versus relative tightening; hedge exclusions require separate assessment.
Usage
credit_spread_stress(
spread,
direction,
category,
qualification_reference,
credit_quality_step = NULL,
context,
...
)
Arguments
spread |
Spread. Reference type: |
direction |
Direction. Reference type: |
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: annual_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-credit-spread-tighten-0")
result <- do.call(credit_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Signed FX BOF change: deducted holdings contribute gains but not losses.
Description
Inputs are externally valued BOF deltas for each holding's Art68-deducted and non-deducted parts, not market values or deduction amounts. Apply the positive-part rule per holding before summation; do not net excluded losses.
Usage
currency_participation_bof_change(
participations,
qualification_reference,
context,
...
)
Arguments
participations |
Participations. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("currency-participation-baseline-empty")
result <- do.call(currency_participation_bof_change,
c(case$kwargs, list(context = context)))
result$value
Historical document-profile pair factor, not confirmation of a current currency peg.
Description
All 15 unordered pairs are explicit original values, not cross-rate-derived estimates. External evidence must establish date-specific applicability.
Usage
currency_peg_factor(foreign_currency, qualification_reference, context, ...)
Arguments
foreign_currency |
Foreign currency. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("currency-peg-factor-EUR-DKK")
result <- do.call(currency_peg_factor,
c(case$kwargs, list(context = context)))
result$value
Apply a qualified original peg factor to local currency per one foreign unit.
Description
Apply a qualified original peg factor to local currency per one foreign unit.
Usage
currency_peg_rate_stress(
exchange_rate,
foreign_currency,
direction,
qualification_reference,
valuation_reference,
context,
...
)
Arguments
exchange_rate |
Exchange rate. Reference type: |
foreign_currency |
Foreign currency. Reference type: |
direction |
Direction. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: exchange_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("currency-peg-rate-EUR-DKK-up")
result <- do.call(currency_peg_rate_stress,
c(case$kwargs, list(context = context)))
result$value
Stress local currency per one foreign unit, not its reciprocal or a BOF amount.
Description
Stress local currency per one foreign unit, not its reciprocal or a BOF amount.
Usage
currency_rate_stress(
exchange_rate,
direction,
valuation_reference,
context,
...
)
Arguments
exchange_rate |
Exchange rate. Reference type: |
direction |
Direction. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: exchange_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("currency-rate-1-up")
result <- do.call(currency_rate_stress,
c(case$kwargs, list(context = context)))
result$value
Sum already net-scenario-selected gross charges, all valued in Context.currency.
Description
Sum already net-scenario-selected gross charges, all valued in Context.currency.
Usage
currency_risk(currency_charges, classification_reference, context, ...)
Arguments
currency_charges |
Currency charges. Reference type: |
classification_reference |
Classification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("currency-sum-zero")
result <- do.call(currency_risk,
c(case$kwargs, list(context = context)))
result$value
One currency: select gross charge by the largest externally valued net-FDB loss.
Description
Each mapping contains exactly up/down in the context's local currency. This does not value exposures or approve their currency classification.
Usage
currency_scenario_charge(
gross_losses,
net_losses,
valuation_reference,
tie_break = NULL,
context,
...
)
Arguments
gross_losses |
Gross losses. Reference type: |
net_losses |
Net losses. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
tie_break |
Tie break. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("currency-select-baseline-equal")
result <- do.call(currency_scenario_charge,
c(case$kwargs, list(context = context)))
result$value
Calculate a qualified German branch asset minimum or domestic deposit.
Description
The input is the unhalved applicable AMCR, not the branch MCR. A German deposit waiver does not waive the deposit at the chosen supervisory state. Asset location, admissibility and any higher actual SCR/MCR stay separate.
Usage
de_branch_minimum_amount(
unadjusted_absolute_floor,
requirement,
reinsurance_branch,
domestic_deposit_relief,
relief_reference = NULL,
source_version,
applicability_reference,
context,
...
)
Arguments
unadjusted_absolute_floor |
Unadjusted absolute floor. Reference type: |
requirement |
Requirement. Reference type: |
reinsurance_branch |
Reinsurance branch. Reference type: |
domestic_deposit_relief |
Domestic deposit relief. Reference type: |
relief_reference |
Relief reference. Reference type: |
source_version |
Source version. Reference type: |
applicability_reference |
Applicability reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: EUR.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("de-close-baseline-reinsurer")
result <- do.call(de_branch_minimum_amount,
c(case$kwargs, list(context = context)))
result$value
German book-value cover pool minimum, distinct from Solvency-II TP.
Description
Gross direct-insurance figures precede reinsurance deductions. Eligible current pool value must already reflect the separate Article126 rules. Extra supervisory requirements under127(2) are not inferred here.
Usage
de_cover_assets_minimum(
components,
source_version,
applicability_reference,
current_cover_assets = NULL,
foreign_security_exception = 0,
foreign_security_reference = NULL,
context,
...
)
Arguments
components |
Components. Reference type: |
source_version |
Source version. Reference type: |
applicability_reference |
Applicability reference. Reference type: |
current_cover_assets |
Current cover assets. Reference type: |
foreign_security_exception |
Foreign security exception. Reference type: |
foreign_security_reference |
Foreign security reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: EUR.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("cover-close-baseline-minimum")
result <- do.call(de_cover_assets_minimum,
c(case$kwargs, list(context = context)))
result$value
Book/market minimum, or explicitly supervisor-determined property value.
Description
A doubled market-to-book threshold permits review of an increase; it does not prescribe the increase. Encumbered property always needs an external supervisory value. Neither value may feed a Solvency-II market valuation merely because this separate cover-pool rule accepts it.
Usage
de_cover_property_value(
book_value,
market_value,
encumbered,
supervisory_value = NULL,
supervisory_reference = NULL,
expert_valuation_reference = NULL,
source_version,
applicability_reference,
context,
...
)
Arguments
book_value |
Book value. Reference type: |
market_value |
Market value. Reference type: |
encumbered |
Encumbered. Reference type: |
supervisory_value |
Supervisory value. Reference type: |
supervisory_reference |
Supervisory reference. Reference type: |
expert_valuation_reference |
Expert valuation reference. Reference type: |
source_version |
Source version. Reference type: |
applicability_reference |
Applicability reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: EUR.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("cover-close-baseline-property-low")
result <- do.call(de_cover_property_value,
c(case$kwargs, list(context = context)))
result$value
Coverage, cash-flow gap and liquidity level for one qualified horizon.
Description
Inflows and cash are disjoint sources; no netting or double counting. Projections, liquidation assumptions and scenarios are insurer inputs. The circular specifies no universal minimum ratio or fixed time bands.
Usage
de_liquidity_coverage(
gross_inflows,
gross_outflows,
realisable_cash,
total_investments,
source_version,
applicability_reference,
horizon_reference,
context,
...
)
Arguments
gross_inflows |
Gross inflows. Reference type: |
gross_outflows |
Gross outflows. Reference type: |
realisable_cash |
Realisable cash. Reference type: |
total_investments |
Total investments. Reference type: |
source_version |
Source version. Reference type: |
applicability_reference |
Applicability reference. Reference type: |
horizon_reference |
Horizon reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("de-close-baseline-liquidity-zero-assets")
result <- do.call(de_liquidity_coverage,
c(case$kwargs, list(context = context)))
result$value
LGD of an externally qualified CCP default-fund contribution, not CCP eligibility.
Description
LGD of an externally qualified CCP default-fund contribution, not CCP eligibility.
Usage
default_ccp_fund_lgd_2027(
contribution,
prefunded,
qualification_reference,
context,
...
)
Arguments
contribution |
Contribution. Reference type: |
prefunded |
Prefunded. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("default-2027-ccp-fund-true")
result <- do.call(default_ccp_fund_lgd_2027,
c(case$kwargs, list(context = context)))
result$value
Check one externally selected clearing route, not legal eligibility.
Description
A failed declaration screen never implies zero capital or a fallback LGD branch. The client joint-default exception relaxes only the named joint failure case. Historical legal opinions must not substitute for the changed 2027 legal-review requirement. Direct own-account clearing is future-only.
Usage
default_clearing_conditions(
route,
conditions,
qualification_reference,
context,
...
)
Arguments
route |
Route. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("clearing-conditions-future-member_own_account-all")
result <- do.call(default_clearing_conditions,
c(case$kwargs, list(context = context)))
result$value
Select a coefficient, not an insolvency-law interpretation or collateral valuation.
Description
Select a coefficient, not an insolvency-law interpretation or collateral valuation.
Usage
default_collateral_factor(
factor_type,
collateral_ignored_in_estate_share,
legal_reference,
context,
...
)
Arguments
factor_type |
Factor type. Reference type: |
collateral_ignored_in_estate_share |
Collateral ignored in estate share. Reference type: |
legal_reference |
Legal reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-lgd-factor-F-true")
result <- do.call(default_collateral_factor,
c(case$kwargs, list(context = context)))
result$value
Literal document-profile order; signed adjustment, not collateral eligibility.
Description
External valuations must assess FX against exposure/loan currency. Do not silently reverse this source's subtraction or apply the Article196 floor.
Usage
default_collateral_market_adjustment(
scr_without,
scr_with,
valuation_reference,
context,
...
)
Arguments
scr_without |
Scr without. Reference type: |
scr_with |
Scr with. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-collateral-adjustment-negative")
result <- do.call(default_collateral_market_adjustment,
c(case$kwargs, list(context = context)))
result$value
Article192(4a) floor; Loan is the source-defined qualified mortgage value.
Description
Classification and guideline-compliant recovery valuation are external. This does not extend the source-defined scope to arbitrary unsecured loans.
Usage
default_defaulted_loan_lgd_2027(
loan,
recoverables,
qualification_reference,
context,
...
)
Arguments
loan |
Loan. Reference type: |
recoverables |
Recoverables. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("default-2027-loan-0-0")
result <- do.call(default_defaulted_loan_lgd_2027,
c(case$kwargs, list(context = context)))
result$value
Four externally qualified variants, with explicit market/risk-adjusted collateral.
Description
For a qualified netting set, RM and collateral must be assessed at set level; summing stand-alone risk mitigation is not justified by this function.
Usage
default_derivative_lgd(
derivative_value,
risk_mitigation,
collateral_value,
variant,
collateral_basis,
collateral_ignored_in_estate_share,
qualification_reference,
context,
...
)
Arguments
derivative_value |
Derivative value. Reference type: |
risk_mitigation |
Risk mitigation. Reference type: |
collateral_value |
Collateral value. Reference type: |
variant |
Variant. Reference type: |
collateral_basis |
Collateral basis. Reference type: |
collateral_ignored_in_estate_share |
Collateral ignored in estate share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-lgd-derivative-3-true")
result <- do.call(default_derivative_lgd,
c(case$kwargs, list(context = context)))
result$value
Combine market values, never stand-alone RM, collateral stress or LGD.
Description
All values must already be in context currency and Article75-compatible. Netting eligibility and completeness of the set remain externally assessed. Fraction over decimal float representations prevents intermediate overflow and preserves signed cancellation. Only the final value becomes float.
Usage
default_derivative_netting_value(
positions,
netting_qualified,
liabilities_settled_before_clearing,
qualification_reference,
context,
...
)
Arguments
positions |
Positions. Reference type: |
netting_qualified |
Netting qualified. Reference type: |
liabilities_settled_before_clearing |
Liabilities settled before clearing. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("derivative-netting-baseline-single")
result <- do.call(default_derivative_netting_value,
c(case$kwargs, list(context = context)))
result$value
Return1/2 for default types or0 for exclusion FROM THIS MODULE ONLY.
Description
The category must already describe the precise qualified contractual risk, including any spread/mortgage/CCP/guarantee conditions. An excluded risk may attract capital elsewhere; zero is a routing code, not a capital value. Only cedant deposits and called-unpaid commitments use the declared count and optional legal election. Article190 grouping and Article189(5) provider substitution, and the all-relevant-exposures scope of the election, remain external prerequisites; no count is inferred from arbitrary asset IDs.
Usage
default_exposure_type(
category,
qualification_reference,
single_name_count = NULL,
elect_type1 = NULL,
context,
...
)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
single_name_count |
Single name count. Reference type: |
elect_type1 |
Elect type1. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: exposure_type.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("default-type-future-securities_financing")
result <- do.call(default_exposure_type,
c(case$kwargs, list(context = context)))
result$value
Use a qualified stress guarantee, not an arbitrary guarantee nominal amount.
Description
The future Article192(4) adds a floor on the non-guaranteed loan value. Historical results retain the published zero floor, not the new 5% floor.
Usage
default_mortgage_lgd(
loan_value,
risk_adjusted_mortgage,
eligible_guarantee,
qualification_reference,
context,
guarantee_conditions = NULL,
...
)
Arguments
loan_value |
Loan value. Reference type: |
risk_adjusted_mortgage |
Risk adjusted mortgage. Reference type: |
eligible_guarantee |
Eligible guarantee. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
guarantee_conditions |
Guarantee conditions. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("lgd-mortgage-10")
result <- do.call(default_mortgage_lgd,
c(case$kwargs, list(context = context)))
result$value
Two externally classified nonnegative valuation conventions; no hidden offsetting.
Description
Two externally classified nonnegative valuation conventions; no hidden offsetting.
Usage
default_other_lgd(
recognised_value,
exposure_type,
classification_reference,
nominal_value = NULL,
context,
...
)
Arguments
recognised_value |
Recognised value. Reference type: |
exposure_type |
Exposure type. Reference type: |
classification_reference |
Classification reference. Reference type: |
nominal_value |
Nominal value. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-lgd-other-receivable-0")
result <- do.call(default_other_lgd,
c(case$kwargs, list(context = context)))
result$value
Externally qualified type B/C pool formula, not pool classification.
Description
B uses already net BEC/BEU; C uses the whole pool's BECE. The recovery threshold is inclusive, unlike Article192(2). DeltaRM is not halved.
Usage
default_pool_lgd(
best_estimate,
risk_mitigation_contribution,
risk_adjusted_collateral,
variant,
encumbered_asset_fraction,
collateral_ignored_in_estate_share,
qualification_reference,
undertaking_share = NULL,
counterparty_share = NULL,
context,
...
)
Arguments
best_estimate |
Best estimate. Reference type: |
risk_mitigation_contribution |
Risk mitigation contribution. Reference type: |
risk_adjusted_collateral |
Risk adjusted collateral. Reference type: |
variant |
Variant. Reference type: |
encumbered_asset_fraction |
Encumbered asset fraction. Reference type: |
collateral_ignored_in_estate_share |
Collateral ignored in estate share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
undertaking_share |
Undertaking share. Reference type: |
counterparty_share |
Counterparty share. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-pool-C-boundary")
result <- do.call(default_pool_lgd,
c(case$kwargs, list(context = context)))
result$value
Select the pool SR convention, not the counterparty PD table.
Description
Select the pool SR convention, not the counterparty PD table.
Usage
default_pool_member_ratio(
category,
classification_reference,
credit_quality_step = NULL,
current_solvency_ratio = NULL,
equivalent = NULL,
context,
...
)
Arguments
category |
Category. Reference type: |
classification_reference |
Classification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
current_solvency_ratio |
Current solvency ratio. Reference type: |
equivalent |
Equivalent. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-pool-member-rating-0")
result <- do.call(default_pool_member_ratio,
c(case$kwargs, list(context = context)))
result$value
Harmonic EOF-weighted inner group plus risk-share-weighted outer group.
Description
Membership must include any central intermediary. Zero inner SR requires a separately assessed limiting case; it is not silently replaced by zero.
Usage
default_pool_solvency_ratio(
in_scope_members,
out_of_scope_members,
membership_reference,
context,
...
)
Arguments
in_scope_members |
In scope members. Reference type: |
out_of_scope_members |
Out of scope members. Reference type: |
membership_reference |
Membership reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-pool-ratio-outside")
result <- do.call(default_pool_solvency_ratio,
c(case$kwargs, list(context = context)))
result$value
Apply type-A liability rule to an externally qualified Article192 LGD.
Description
Low SR legitimately gives a risk-share factor above1 in this source; there is no invented reduction-only clamp.
Usage
default_pool_type_a_lgd(
base_lgd,
joint_liability,
qualification_reference,
pool_solvency_ratio = NULL,
context,
...
)
Arguments
base_lgd |
Base lgd. Reference type: |
joint_liability |
Joint liability. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
pool_solvency_ratio |
Pool solvency ratio. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-pool-A-proportional")
result <- do.call(default_pool_type_a_lgd,
c(case$kwargs, list(context = context)))
result$value
Apply an externally qualified Article 199 category; not a rating/classification engine.
Description
Clearing exceptions in (12)/(13) take precedence in the external category decision. A 'rated' call cannot establish that those exceptions are absent.
Usage
default_probability(
category,
classification_reference,
credit_quality_step = NULL,
solvency_ratio = NULL,
mcr_compliant = NULL,
sfcr_published = NULL,
context,
...
)
Arguments
category |
Category. Reference type: |
classification_reference |
Classification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
solvency_ratio |
Solvency ratio. Reference type: |
mcr_compliant |
Mcr compliant. Reference type: |
sfcr_published |
Sfcr published. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("pd-other")
result <- do.call(default_probability,
c(case$kwargs, list(context = context)))
result$value
Select a qualified provider PD, never the minimum of two probabilities.
Description
Full protection and Articles209–215 compliance are externally assessed. Clearing precedence is explicit. This does not regroup names under189(5), change LGD, or infer sovereign zero-PD eligibility from a provider identity.
Usage
default_protected_probability(
original_pd,
substitute_provider,
protection,
clearing_category,
qualification_reference,
context,
central_government_guarantee = NULL,
...
)
Arguments
original_pd |
Original pd. Reference type: |
substitute_provider |
Substitute provider. Reference type: |
protection |
Protection. Reference type: |
clearing_category |
Clearing category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
central_government_guarantee |
Central government guarantee. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("protected-pd-baseline-original")
result <- do.call(default_protected_probability,
c(case$kwargs, list(context = context)))
result$value
Choose standard/high-encumbrance formula; input includes corresponding receivables.
Description
This SCR LGD is distinct from the technical-provisions loss in Article42. Netting, collateral eligibility and contract qualifications remain external.
Usage
default_reinsurance_lgd(
recoverables,
risk_mitigation,
risk_adjusted_collateral,
counterparty_is_insurer,
collateral_ignored_in_estate_share,
qualification_reference,
encumbered_asset_fraction = NULL,
context,
method = "standard",
proportionality_reference = NULL,
...
)
Arguments
recoverables |
Recoverables. Reference type: |
risk_mitigation |
Risk mitigation. Reference type: |
risk_adjusted_collateral |
Risk adjusted collateral. Reference type: |
counterparty_is_insurer |
Counterparty is insurer. Reference type: |
collateral_ignored_in_estate_share |
Collateral ignored in estate share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
encumbered_asset_fraction |
Encumbered asset fraction. Reference type: |
context |
Explicit |
method |
Method. Reference type: |
proportionality_reference |
Proportionality reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("lgd-ri-full-collateral")
result <- do.call(default_reinsurance_lgd,
c(case$kwargs, list(context = context)))
result$value
Literal collateral branches, with signed results and explicit legal evidence.
Description
Article197(3) says neither condition is met. Mixed failure is therefore not silently treated as zero. A negative result remains visible; downstream LGD APIs explicitly reject collateral outside their nonnegative contract. Article112 is an explicit alternative on market value, not an additional haircut after a market adjustment. Article88 qualification stays external. Optional Article214(2) assessment checks the deposit institution's CQS; its legal applicability and all other Article214 conditions stay external. Omission preserves the qualified-input API, not a numeric eligibility check.
Usage
default_risk_adjusted_collateral(
market_value,
market_adjustment,
collateral_type,
conditions,
qualification_reference,
context,
method = "standard",
proportionality_reference = NULL,
custodian_assessment = NULL,
...
)
Arguments
market_value |
Market value. Reference type: |
market_adjustment |
Market adjustment. Reference type: |
collateral_type |
Collateral type. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
method |
Method. Reference type: |
proportionality_reference |
Proportionality reference. Reference type: |
custodian_assessment |
Custodian assessment. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("risk-adjusted-collateral-baseline-title")
result <- do.call(default_risk_adjusted_collateral,
c(case$kwargs, list(context = context)))
result$value
Subtract adjustment from externally assessed Article198(2) property value.
Description
Monitoring, prior claims and the independent valuation's market-value cap must already be reflected in property_value; no appraisal is invented here.
Usage
default_risk_adjusted_mortgage(
property_value,
market_adjustment,
valuation_reference,
context,
...
)
Arguments
property_value |
Property value. Reference type: |
market_adjustment |
Market adjustment. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("risk-adjusted-mortgage-baseline-zero")
result <- do.call(default_risk_adjusted_mortgage,
c(case$kwargs, list(context = context)))
result$value
Difference for the same relevant risk module; never substitute overall SCR.
Description
Difference for the same relevant risk module; never substitute overall SCR.
Usage
default_risk_mitigation(
scr_without,
scr_with,
valuation_reference,
context,
...
)
Arguments
scr_without |
Scr without. Reference type: |
scr_with |
Scr with. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-lgd-rm-floor")
result <- do.call(default_risk_mitigation,
c(case$kwargs, list(context = context)))
result$value
Qualified repo/reverse-repo/securities-lending LGD, not a netting engine.
Description
Netted inputs must already represent the same legally qualified set's economic effect; collateral is assessed at set level, not blindly summed.
Usage
default_securities_financing_lgd_2027(
exposure,
risk_adjusted_collateral,
netting_applied,
qualification_reference,
context,
...
)
Arguments
exposure |
Exposure. Reference type: |
risk_adjusted_collateral |
Risk adjusted collateral. Reference type: |
netting_applied |
Netting applied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-lgd-financing-zero")
result <- do.call(default_securities_financing_lgd_2027,
c(case$kwargs, list(context = context)))
result$value
Count declared single names and retain every exposure-to-group assignment.
Description
None for group/pool means externally established absence, NOT unknown. Pool separation suppresses the pool edge only, not the corporate-group rule. Optional189(5) substitutions are an explicit election, restricted to this count. Original/effective legal memberships and completeness of the relevant portfolio are external qualifications, never inferred from IDs.
Usage
default_single_name_count(
exposures,
pool_treatment,
grouping_reference,
context,
provider_substitutions = NULL,
...
)
Arguments
exposures |
Exposures. Reference type: |
pool_treatment |
Pool treatment. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
context |
Explicit |
provider_substitutions |
Provider substitutions. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: single_names.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("default-grouping-baseline-same-group")
result <- do.call(default_single_name_count,
c(case$kwargs, list(context = context)))
result$value
Sum already assessed LGDs; qualified netting sets must not be counted twice.
Description
Sum already assessed LGDs; qualified netting sets must not be counted twice.
Usage
default_single_name_lgd(exposure_lgds, grouping_reference, context, ...)
Arguments
exposure_lgds |
Exposure lgds. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-lgd-single-name-zero")
result <- do.call(default_single_name_lgd,
c(case$kwargs, list(context = context)))
result$value
LGD-weighted PD for one externally grouped single name, not legal grouping.
Description
LGD-weighted PD for one externally grouped single name, not legal grouping.
Usage
default_single_name_pd(exposures, grouping_reference, context, ...)
Arguments
exposures |
Exposures. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("pd-weighted-zero")
result <- do.call(default_single_name_pd,
c(case$kwargs, list(context = context)))
result$value
Type-1 variance and charge; PD/LGD supplied per already grouped single name.
Description
Type-1 variance and charge; PD/LGD supplied per already grouped single name.
Usage
default_type1(
counterparties,
context,
method = "standard",
proportionality_reference = NULL,
...
)
Arguments
counterparties |
Counterparties. Reference type: |
context |
Explicit |
method |
Method. Reference type: |
proportionality_reference |
Proportionality reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("default-2027-type1-single-0")
result <- do.call(default_type1,
c(case$kwargs, list(context = context)))
result$value
Value-decrease amount; BOF must still be revalued to determine the capital charge.
Description
Value-decrease amount; BOF must still be revalued to determine the capital charge.
Usage
default_type2_shock(overdue_intermediary_lgd, other_lgd, context, ...)
Arguments
overdue_intermediary_lgd |
Overdue intermediary lgd. Reference type: |
other_lgd |
Other lgd. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("type2-shock")
result <- do.call(default_type2_shock,
c(case$kwargs, list(context = context)))
result$value
Three disjoint2027 LGD pools; no implicit zero for defaulted/forborne loans.
Description
Inputs are qualified externally and the residual pool excludes both special pools. The result is the exposure-value shock, not a completed BOF revaluation.
Usage
default_type2_shock_2027(
overdue_intermediary_lgd,
defaulted_forborne_lgd,
other_lgd,
qualification_reference,
context,
...
)
Arguments
overdue_intermediary_lgd |
Overdue intermediary lgd. Reference type: |
defaulted_forborne_lgd |
Defaulted forborne lgd. Reference type: |
other_lgd |
Other lgd. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("default-2027-type2-4")
result <- do.call(default_type2_shock_2027,
c(case$kwargs, list(context = context)))
result$value
Build explicit discount factors from externally supplied spot rates
Description
Build explicit discount factors from externally supplied spot rates
Usage
discount_curve_from_spot_rates(
points,
curve_id,
curve_kind,
source_reference,
time_basis_reference,
context
)
Arguments
points |
Named list keyed by payment date, each with
|
curve_id, curve_kind, source_reference |
Curve identity; see |
time_basis_reference |
Nonempty external year-fraction convention reference. |
context |
Explicit |
Details
No interpolation, extrapolation or calendar convention is inferred.
Value
A DiscountCurve() with raw inputs and convention fingerprinted in provenance.
Examples
ctx <- Context("2025-01-17", "2026-09-23", "EUR", "EU-S2-DOCUMENTS-2024-2025-v0.1")
curve <- discount_curve_from_spot_rates(
list("2026-01-17" = list(annual_effective_rate = 0.03, time_years = 1)),
"example", "custom", "synthetic rates", "explicit one year", ctx)
discount_curve_factor(curve, "2026-01-17")
Read bundled documentation without a browser
Description
Read bundled documentation without a browser
Usage
documentation(topic = "README")
Arguments
topic |
Case-sensitive topic: |
Value
UTF-8 Markdown text from the installed R package.
Examples
cat(documentation("DATA"))
Shock factor with optional qualified168 route checks, never asset valuation.
Description
Without classification, eligibility remains external. Optional route inputs bind market/fund scope or existing qualification screens to the chosen factor. Strategic/long-term recognition and own-funds deductions remain separate.
Usage
equity_shock(
category,
symmetric_adjustment,
duration_based = NULL,
context,
classification = NULL,
...
)
Arguments
category |
Category. Reference type: |
symmetric_adjustment |
Symmetric adjustment. Reference type: |
duration_based |
Duration based. Reference type: |
context |
Explicit |
classification |
Classification. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("equity-shock-type1-1")
result <- do.call(equity_shock,
c(case$kwargs, list(context = context)))
result$value
Apply an externally qualified169 factor to the prescribed position basis.
Description
A negative investment with losses beyond the invested amount uses its absolute value; other negative non-short investments have a zero stress basis, not a zero balance-sheet value. Short pricing is deliberately not inferred from a signed value or from the absolute-value exception.
Usage
equity_stress_amount_2027(
equity_value,
shock,
short_position,
losses_can_exceed_investment,
qualification_reference,
context,
...
)
Arguments
equity_value |
Equity value. Reference type: |
shock |
Shock. Reference type: |
short_position |
Short position. Reference type: |
losses_can_exceed_investment |
Losses can exceed investment. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("equity-position-zero")
result <- do.call(equity_stress_amount_2027,
c(case$kwargs, list(context = context)))
result$value
Export local reference resources or an explicit analyst scenario
Description
Export local reference resources or an explicit analyst scenario
Usage
export_resources(destination, context = NULL)
Arguments
destination |
Path to a new directory. Existing paths are never overwritten. |
context |
Optional |
Details
This explicitly requested local write does not download anything. Analyst overrides are marked as scenarios, not regulatory approval. Exported JSON formatting and its hashes are R-specific; source hashes remain provenance.
Value
Exported filenames and SHA-256 hashes of their actual JSON bytes.
Examples
# Creates a new temporary directory only when explicitly called:
# The full offline export is intentionally opt-in: it includes all profiles.
if (identical(Sys.getenv("SOLVENCY2_FULL_EXAMPLES"), "true")) {
destination <- tempfile("solvency2-export-")
result <- export_resources(destination)
length(result$files)
# Remove only the directory just created by this example.
unlink(destination, recursive = TRUE)
}
Forward an externally computed value after declared-evidence checks.
Description
AVAILABLE references do not prove their contents, model approval, adequacy or lawful integration. Partial-model results must already follow the externally approved integration; this function applies no correlations. Period metadata is not a calendar-deadline monitor or submission service.
Usage
external_model_checked_value(
value,
evidence,
model_kind,
output_kind,
conditions,
model_reference,
assessment_reference,
scope_reference,
context,
...
)
Arguments
value |
Value. Reference type: |
evidence |
Evidence. Reference type: |
model_kind |
Model kind. Reference type: |
output_kind |
Output kind. Reference type: |
conditions |
Conditions. Reference type: |
model_reference |
Model reference. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
scope_reference |
Scope reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("model-standards-close-baseline-full")
result <- do.call(external_model_checked_value,
c(case$kwargs, list(context = context)))
result$value
Route insurer and externally qualified financial-issuer factors, not legal eligibility.
Description
After first SFCR, MCR breach takes precedence even over an available rating. Before SFCR, compliance and current solvency inputs are not used/accepted.
Usage
financial_issuer_spread_stress(
modified_duration,
category,
qualification_reference,
credit_quality_step = NULL,
solvency_ratio = NULL,
mcr_compliant = NULL,
sfcr_published = NULL,
context,
...
)
Arguments
modified_duration |
Modified duration. Reference type: |
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
solvency_ratio |
Solvency ratio. Reference type: |
mcr_compliant |
Mcr compliant. Reference type: |
sfcr_published |
Sfcr published. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-financial-issuer-spread-9")
result <- do.call(financial_issuer_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Inventory applicable declared controls and expose versioned review periods.
Description
No references are retrieved, substantive evidence reviewed, or actual calendar deadlines monitored. Combination eligibility is conditional on external facts. The optional29d/327d approval changes only the policy-review maximum, not function-combination approval or any other governance interval. Optional archived guidance requires its own explicit applicability reference; omission is NOT_ASSESSED, never a statement that the guidelines do not apply. Optional2027 liquidity_assessment separates solo/group plans, exemptions and supervisory measures; no cashflow projection or supervisory decision is made.
Usage
governance_evidence_check(
evidence,
conditions,
assessment_reference,
supervisory_policy_interval_years = NULL,
non_snc_policy_approval_reference = NULL,
de_ppp_assessment = NULL,
guidance_assessment = NULL,
liquidity_assessment = NULL,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
conditions |
Conditions. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
supervisory_policy_interval_years |
Supervisory policy interval years. Reference type: |
non_snc_policy_approval_reference |
Non snc policy approval reference. Reference type: |
de_ppp_assessment |
De ppp assessment. Reference type: |
guidance_assessment |
Guidance assessment. Reference type: |
liquidity_assessment |
Liquidity assessment. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("proportionality-scope-approved-policies-five")
result <- do.call(governance_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Minimum deferral period for an externally qualified relevant staff member.
Description
No prescribed significant-deferred-share percentage is invented. This is not permission to ignore payment sustainability, vesting or malus/clawback rules.
Usage
governance_remuneration_deferral_years(
annual_variable,
annual_total,
supervisory_exception_denied,
qualification_reference,
context,
...
)
Arguments
annual_variable |
Annual variable. Reference type: |
annual_total |
Annual total. Reference type: |
supervisory_exception_denied |
Supervisory exception denied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: years.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("governance-pay-baseline-zero")
result <- do.call(governance_remuneration_deferral_years,
c(case$kwargs, list(context = context)))
result$value
Compose externally approved disjoint methods, not a consolidation model.
Description
Consolidated inputs already exclude M2/sector holdings and reflect required currency sensitivity. Do not repeat pure-M2 participation-value deductions. M2 insurer subsidiary deficits retain Article221 treatment; sector amounts are already weighted and availability-adjusted under Article228.
Usage
group_combined_component_surplus_2027(
consolidated_own_funds,
consolidated_scr,
minimum,
method2_related,
sector_contributions,
method2_own_funds_adjustment,
method2_capital_addon,
approval_reference,
qualification_reference,
context,
...
)
Arguments
consolidated_own_funds |
Consolidated own funds. Reference type: |
consolidated_scr |
Consolidated scr. Reference type: |
minimum |
Minimum. Reference type: |
method2_related |
Method2 related. Reference type: |
sector_contributions |
Sector contributions. Reference type: |
method2_own_funds_adjustment |
Method2 own funds adjustment. Reference type: |
method2_capital_addon |
Method2 capital addon. Reference type: |
approval_reference |
Approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-combined-negative")
result <- do.call(group_combined_component_surplus_2027,
c(case$kwargs, list(context = context)))
result$value
Positive holding excess for external consolidated currency scenarios.
Description
Amounts use the same qualified currency. This is not a currency charge and no equity shock applies to this holding under the cited combined-method rule.
Usage
group_combined_currency_exposure_2027(
participation_value,
entity_scr,
share,
qualification_reference,
context,
...
)
Arguments
participation_value |
Participation value. Reference type: |
entity_scr |
Entity scr. Reference type: |
share |
Share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-combined-fx-50-0")
result <- do.call(group_combined_currency_exposure_2027,
c(case$kwargs, list(context = context)))
result$value
Sum BE already adjusted externally for all intra-group transactions.
Description
Method1 Article335(1)a/c scope and consolidation shares are external. The receiving reinsurer excludes intra-group fulfilment cashflows; the cedant excludes corresponding recoverables. This function does not perform netting.
Usage
group_consolidated_best_estimate(
parent_best_estimate,
related,
qualification_reference,
context,
...
)
Arguments
parent_best_estimate |
Parent best estimate. Reference type: |
related |
Related. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-consolidated-be-positive")
result <- do.call(group_consolidated_best_estimate,
c(case$kwargs, list(context = context)))
result$value
Qualified MCR sum plus future local licence-withdrawal requirements.
Description
Future third-country rows are explicit, including an empty mapping. They must not duplicate the EU-MCR entity set; legal scope is assessed externally.
Usage
group_consolidated_minimum(
parent_mcr,
related,
qualification_reference,
third_country = NULL,
context,
...
)
Arguments
parent_mcr |
Parent mcr. Reference type: |
related |
Related. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
third_country |
Third country. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-minimum-parent")
result <- do.call(group_consolidated_minimum,
c(case$kwargs, list(context = context)))
result$value
Proportionate sum of externally qualified risk margins, no added diversification.
Description
Proportionate sum of externally qualified risk margins, no added diversification.
Usage
group_consolidated_risk_margin(
parent_risk_margin,
related,
qualification_reference,
context,
...
)
Arguments
parent_risk_margin |
Parent risk margin. Reference type: |
related |
Related. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-consolidated-rm-empty")
result <- do.call(group_consolidated_risk_margin,
c(case$kwargs, list(context = context)))
result$value
Sum qualified Article336 amounts plus externally set group add-on.
Description
Contributions b/c already include proportional shares. Components d/e are externally determined risk amounts, not invented sums of individual SCRs. From 2027, only a-d belong here; separate Article336b additions must be explicit and disjoint from those components. Article228 sector contributions are outside this consolidated amount. Their valuation is not inferred. Apply the Article230 minimum separately. No sector/Look-through valuation or supervisory determination is implemented by this composition function.
Usage
group_consolidated_scr(
components,
capital_addon,
qualification_reference,
simplified_contributions = NULL,
context,
...
)
Arguments
components |
Components. Reference type: |
capital_addon |
Capital addon. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
simplified_contributions |
Simplified contributions. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-scr-four")
result <- do.call(group_consolidated_scr,
c(case$kwargs, list(context = context)))
result$value
External consolidated eligible EOF minus SCR after its qualified minimum.
Description
This is not consolidation by adding individual SCRs. Input SCR must include externally required add-ons; EOF qualification and minimum coverage remain externally assessed. A negative surplus is deliberately retained. Future Article228 sectors must be excluded from consolidated inputs and added separately, after the minimum is applied to consolidated SCR only.
Usage
group_consolidated_surplus(
eligible_own_funds,
calculated_scr,
minimum,
qualification_reference,
sector_contributions = NULL,
context,
...
)
Arguments
eligible_own_funds |
Eligible own funds. Reference type: |
calculated_scr |
Calculated scr. Reference type: |
minimum |
Minimum. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
sector_contributions |
Sector contributions. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-consolidated-deficit")
result <- do.call(group_consolidated_surplus,
c(case$kwargs, list(context = context)))
result$value
Strict numerical thresholds only, never supervisory permission.
Description
All relevant holdings and consolidated assets are externally qualified. Exact decimal comparisons avoid a rounding tolerance at either boundary.
Usage
group_immaterial_participation_screen_2027(
consolidated_assets,
book_values,
qualification_reference,
context,
...
)
Arguments
consolidated_assets |
Consolidated assets. Reference type: |
book_values |
Book values. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-immaterial-zero")
result <- do.call(group_immaterial_participation_screen_2027,
c(case$kwargs, list(context = context)))
result$value
Declared holding criteria, not an automatic group or entity classification.
Description
Shares must use the precisely qualified212(1)f(vi) consolidated perimeter. Do not cap ratios at1: offsetting consolidated amounts can change ratios. Ongoing satisfaction and the other legal conditions remain external facts.
Usage
group_insurance_holding_conditions_2027(
indicator_shares,
other_supervisory_shares,
conditions,
qualification_reference,
context,
...
)
Arguments
indicator_shares |
Indicator shares. Reference type: |
other_supervisory_shares |
Other supervisory shares. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("holding-definition-equal")
result <- do.call(group_insurance_holding_conditions_2027,
c(case$kwargs, list(context = context)))
result$value
Method1/combined LTE cap, not group SCR or an automatic classification.
Description
Article335(1)a amounts enter in full,335(1)c proportionally. On a qualified supervisory request replace only1(a) with the externally recomputed amount.
Usage
group_long_term_equity_limit_2027(
full_amounts,
proportional_amounts,
supervisory_recalculation_required,
recalculated_full_amount,
qualification_reference,
context,
...
)
Arguments
full_amounts |
Full amounts. Reference type: |
proportional_amounts |
Proportional amounts. Reference type: |
supervisory_recalculation_required |
Supervisory recalculation required. Reference type: |
recalculated_full_amount |
Recalculated full amount. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-close-group-zero")
result <- do.call(group_long_term_equity_limit_2027,
c(case$kwargs, list(context = context)))
result$value
Parent plus proportionate related BE, preserving signed external valuations.
Description
Calculate before/after removal of intra-group transactions separately; this component does not invent an EOF-adjustment sign or revalue transactions.
Usage
group_method2_best_estimate_sum(
parent_best_estimate,
related,
qualification_reference,
context,
...
)
Arguments
parent_best_estimate |
Parent best estimate. Reference type: |
related |
Related. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-be-empty")
result <- do.call(group_method2_best_estimate_sum,
c(case$kwargs, list(context = context)))
result$value
Signed method2 aggregation component, not complete approved group solvency.
Description
Participation values already represent the held direct/indirect investment: never apply share twice. External EOF adjustments must not duplicate those values or the full-subsidiary-deficit correction calculated here. Group availability, tiers, intra-group transactions and scope are not inferred. Future Article228 sectors are explicit, already weighted and disjoint; their holding values are deducted once, not passed through insurer deficits.
Usage
group_method2_component_surplus(
parent_own_funds,
parent_scr,
related,
own_funds_adjustment,
capital_addon,
qualification_reference,
sector_contributions = NULL,
context,
...
)
Arguments
parent_own_funds |
Parent own funds. Reference type: |
parent_scr |
Parent scr. Reference type: |
related |
Related. Reference type: |
own_funds_adjustment |
Own funds adjustment. Reference type: |
capital_addon |
Capital addon. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
sector_contributions |
Sector contributions. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-method2-negative")
result <- do.call(group_method2_component_surplus,
c(case$kwargs, list(context = context)))
result$value
Literal 2027 minority formula, on explicitly pre-qualified net amounts.
Description
Both own-funds inputs exclude intra-group subordinated liabilities and ancillary own funds. The other-nonavailable input also excludes paragraph4 items. A negative formula result is NOT an automatic own-funds credit.
Usage
group_minority_excess_2027(
eligible_own_funds_net,
other_nonavailable_own_funds_net,
scr_contribution,
parent_subscribed_capital_share,
qualification_reference,
context,
...
)
Arguments
eligible_own_funds_net |
Eligible own funds net. Reference type: |
other_nonavailable_own_funds_net |
Other nonavailable own funds net. Reference type: |
scr_contribution |
Scr contribution. Reference type: |
parent_subscribed_capital_share |
Parent subscribed capital share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("group-availability-future-minority-zero")
result <- do.call(group_minority_excess_2027,
c(case$kwargs, list(context = context)))
result$value
Apply externally supplied model percentages; never develop an insurer model.
Description
The full declared entity set is checked before selecting one contribution. A1e-12 numerical sum tolerance is not regulatory materiality. Percentages are never renormalised, and neither ownership weights nor the future6a standard-formula cap are applied to this separate6b branch.
Usage
group_model_scr_contribution(
entity,
model_outputs,
complete_scope_confirmed,
model_reference,
qualification_reference,
context,
...
)
Arguments
entity |
Entity. Reference type: |
model_outputs |
Model outputs. Reference type: |
complete_scope_confirmed |
Complete scope confirmed. Reference type: |
model_reference |
Model reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-model-baseline-zero-share")
result <- do.call(group_model_scr_contribution,
c(case$kwargs, list(context = context)))
result$value
Cap ONE externally qualified availability scope, without repeating the cap.
Description
The caller must not re-use one entity contribution across separate items and sum the individual results. This is neither an Article330(4) exemption nor a computation of total available group own funds. Historical DIR222(4) additionally limits its qualified(2)/(3)pool to the related insurer SCR. That optional scope is not imposed on other pools, nor carried into the future wording which instead uses the contribution.
Usage
group_nonavailable_own_funds_cap(
amount,
scr_contribution,
qualification_reference,
context,
related_insurer_scr = NULL,
...
)
Arguments
amount |
Amount. Reference type: |
scr_contribution |
Scr contribution. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
related_insurer_scr |
Related insurer scr. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-availability-baseline-cap-zero")
result <- do.call(group_nonavailable_own_funds_cap,
c(case$kwargs, list(context = context)))
result$value
Inventory group-ORSA scope, method1 and single-document evidence.
Description
No consent is inferred from availability of a group document. Subsidiary Article45 duties persist. The future profile separately includes material non-insurance activities and actual/potential risks/interdependencies.
Usage
group_orsa_evidence_check(
evidence,
method1_applied,
single_document,
qualification_reference,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
method1_applied |
Method1 applied. Reference type: |
single_document |
Single document. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-orsa-baseline-missing-conditional")
result <- do.call(group_orsa_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Signed related-SCR sum minus consolidated SCR, never floored.
Description
The externally qualified perimeter must match Article246(4), method1, valuation date and currency. This arithmetic is not the required substantive explanation of the difference, nor a release of diversification benefits.
Usage
group_orsa_method1_scr_difference(
related_scrs,
consolidated_scr,
qualification_reference,
context,
...
)
Arguments
related_scrs |
Related scrs. Reference type: |
consolidated_scr |
Consolidated scr. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-orsa-baseline-zero")
result <- do.call(group_orsa_method1_scr_difference,
c(case$kwargs, list(context = context)))
result$value
Check only the declared nine-month horizon, not effective availability.
Description
Check only the declared nine-month horizon, not effective availability.
Usage
group_own_funds_transfer_timing_screen(
months_to_availability,
qualification_reference,
context,
...
)
Arguments
months_to_availability |
Months to availability. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-availability-baseline-timing-zero")
result <- do.call(group_own_funds_transfer_timing_screen,
c(case$kwargs, list(context = context)))
result$value
Future pre-acquisition exception with an explicit issuer-specific effect.
Description
The elapsed FINANCIAL-year measure is externally qualified. This screen does not rewrite MCR, assign a tier, or waive other own-funds conditions. Three YEARS of group supervision and the prescribed forward ORSA evidence are additional mandatory gates. Insurers use331/332's solo-SCR definition; qualified intermediate holdings/ancillary subsidiaries instead use333(4)'s temporary disapplication of333(2)(a). These are not interchangeable effects.
Usage
group_pre_acquisition_scr_exception_2027(
related_financial_years,
issued_before_joining,
included_in_group_calculation,
qualification_reference,
context,
group_supervision_years = NULL,
orsa_support_confirmed = NULL,
issuer_type = "eu_insurer",
...
)
Arguments
related_financial_years |
Related financial years. Reference type: |
issued_before_joining |
Issued before joining. Reference type: |
included_in_group_calculation |
Included in group calculation. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
group_supervision_years |
Group supervision years. Reference type: |
orsa_support_confirmed |
Orsa support confirmed. Reference type: |
issuer_type |
Issuer type. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("group-availability-future-pre-acquisition-zero")
result <- do.call(group_pre_acquisition_scr_exception_2027,
c(case$kwargs, list(context = context)))
result$value
Remove qualified internal reinsurance values before consolidation shares.
Description
Entity gross BE and recoverables must include the supplied disjoint internal transactions, but already exclude all OTHER required intragroup adjustments. Assumed obligation PV and ceded recoverable need not agree: valuation bases and shares can differ. Neither side is inferred from the other or floored. This is a two-sided ledger adjustment, not a projection or legal approval.
Usage
group_reinsurance_elimination(
entities,
transactions,
parent_id,
measure,
other_intragroup_adjustments_complete,
qualification_reference,
context,
...
)
Arguments
entities |
Entities. Reference type: |
transactions |
Transactions. Reference type: |
parent_id |
Parent id. Reference type: |
measure |
Measure. Reference type: |
other_intragroup_adjustments_complete |
Other intragroup adjustments complete. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-reinsurance-baseline-recoverables")
result <- do.call(group_reinsurance_elimination,
c(case$kwargs, list(context = context)))
result$value
Full subsidiary deficit unless an explicit externally approved exception applies.
Description
Full subsidiary deficit unless an explicit externally approved exception applies.
Usage
group_required_shortfall(
eligible_own_funds,
scr,
share,
is_subsidiary,
proportionate_deficit_approved,
approval_reference = NULL,
qualification_reference,
context,
...
)
Arguments
eligible_own_funds |
Eligible own funds. Reference type: |
scr |
Scr. Reference type: |
share |
Share. Reference type: |
is_subsidiary |
Is subsidiary. Reference type: |
proportionate_deficit_approved |
Proportionate deficit approved. Reference type: |
approval_reference |
Approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-shortfall-full")
result <- do.call(group_required_shortfall,
c(case$kwargs, list(context = context)))
result$value
Select the prescribed maximum of complete externally calculated branches.
Description
Bank inputs include applicable buffers/add-ons, not just Pillar1 minima. Pension inputs cover both the required margin and national requirement. This component implements no CRR, IFR, IORP or third-country valuation.
Usage
group_sector_capital_requirement_2027(
sector,
requirements,
qualification_reference,
context,
...
)
Arguments
sector |
Sector. Reference type: |
requirements |
Requirements. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-sector-bank-zero")
result <- do.call(group_sector_capital_requirement_2027,
c(case$kwargs, list(context = context)))
result$value
Sum disjoint qualified sector amounts using subscribed-capital shares.
Description
Eligible own funds must already reflect Article228 availability exclusions. Subgroup inclusion, exclusion of its individual members and supervisory decisions are externally qualified. Signed own funds are not floored.
Usage
group_sector_contribution_2027(
entities,
measure,
qualification_reference,
context,
...
)
Arguments
entities |
Entities. Reference type: |
measure |
Measure. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-sector-empty-eligible_own_funds")
result <- do.call(group_sector_contribution_2027,
c(case$kwargs, list(context = context)))
result$value
Strict 5% group OR host-market test used by group reporting definitions.
Description
Latest applicable accounts, currency, host-market life/nonlife scope and branch perimeter are externally qualified. No college invitation or broad materiality judgement follows automatically from this numeric indicator.
Usage
group_significant_branch_screen(
branch_gross_premiums,
group_gross_premiums,
host_market_gross_premiums,
qualification_reference,
context,
...
)
Arguments
branch_gross_premiums |
Branch gross premiums. Reference type: |
group_gross_premiums |
Group gross premiums. Reference type: |
host_market_gross_premiums |
Host market gross premiums. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-report-close-baseline-branch-host")
result <- do.call(group_significant_branch_screen,
c(case$kwargs, list(context = context)))
result$value
Externally approved simplified contribution; no extra ownership weighting.
Description
Article228 entities are outside scope. Third-country capital information must be supplied, never replaced with zero when unavailable.
Usage
group_simplified_participation_scr_2027(
participation_risk,
entity_type,
capital_requirement = NULL,
approval_reference,
qualification_reference,
context,
...
)
Arguments
participation_risk |
Participation risk. Reference type: |
entity_type |
Entity type. Reference type: |
capital_requirement |
Capital requirement. Reference type: |
approval_reference |
Approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-simplified-other")
result <- do.call(group_simplified_participation_scr_2027,
c(case$kwargs, list(context = context)))
result$value
Standard-formula contribution for externally qualified consolidated entities.
Description
Numerator uses the entity's proportional SCR; denominator is the sum of the supplied SCRs, without applying shares a second time. No internal-model allocation is inferred. Scaling preserves the formula at large magnitudes.
Usage
group_standard_scr_contribution(
entity,
share,
diversified_component,
component_scrs,
qualification_reference,
context,
...
)
Arguments
entity |
Entity. Reference type: |
share |
Share. Reference type: |
diversified_component |
Diversified component. Reference type: |
component_scrs |
Component scrs. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-group-contribution-full")
result <- do.call(group_standard_scr_contribution,
c(case$kwargs, list(context = context)))
result$value
Qualified Article180(10)/(10a) factor; historical name retained for callers.
Description
The 2027 text no longer separately names STS; CRR243 compliance remains required and externally qualified, not inferred from a non-STS declaration. Paragraph10a requires external pre-2019 issue and exact 2018-rule assessment, not a current type label or an engine-generated historical classification.
Usage
guaranteed_sts_securitisation_spread_stress(
conditions,
qualification_reference,
transition = NULL,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
transition |
Transition. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("spread-zero-baseline-transition-eligible")
result <- do.call(guaranteed_sts_securitisation_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Average only event-insured persons in the externally selected concentration.
Description
The denominator is event-specific Ne, not the whole building count Cc. Empty event populations require review, never an invented zero mean.
Usage
health_accident_benefit_mean(
benefits,
valuation_reference,
context,
group_counts = NULL,
grouping_reference = NULL,
...
)
Arguments
benefits |
Benefits. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
group_counts |
Group counts. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-cat-2027-benefit-mean")
result <- do.call(health_accident_benefit_mean,
c(case$kwargs, list(context = context)))
result$value
Sum externally qualified event benefits of resident insured persons.
Description
Sum externally qualified event benefits of resident insured persons.
Usage
health_accident_benefit_sum(
benefits,
valuation_reference,
context,
group_counts = NULL,
grouping_reference = NULL,
...
)
Arguments
benefits |
Benefits. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
group_counts |
Group counts. Reference type: |
grouping_reference |
Grouping reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-accident-benefit-empty")
result <- do.call(health_accident_benefit_sum,
c(case$kwargs, list(context = context)))
result$value
Use the externally identified largest qualified building population, not largest loss.
Description
Use the externally identified largest qualified building population, not largest loss.
Usage
health_accident_concentration_loss(
persons,
mean_benefits,
concentration_reference,
context,
...
)
Arguments
persons |
Persons. Reference type: |
mean_benefits |
Mean benefits. Reference type: |
concentration_reference |
Concentration reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-concentration-loss")
result <- do.call(health_accident_concentration_loss,
c(case$kwargs, list(context = context)))
result$value
Root-sum-square of already valued country BOF charges, never of gross claims.
Description
Root-sum-square of already valued country BOF charges, never of gross claims.
Usage
health_accident_country_aggregation(
country_charges,
peril,
scope_reference,
context,
...
)
Arguments
country_charges |
Country charges. Reference type: |
peril |
Peril. Reference type: |
scope_reference |
Scope reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-accident-concentration-empty")
result <- do.call(health_accident_country_aggregation,
c(case$kwargs, list(context = context)))
result$value
Scenario indemnity for one externally qualified ADC, before cession/prudence.
Description
Do not add multiple covers automatically or substitute the discounted claims volume for the source-defined nominal net best estimate.
Usage
health_adc_recovery_2027(
segment,
nominal_net_best_estimate,
attachment_point,
cover_size,
qualification_reference,
context,
...
)
Arguments
segment |
Segment. Reference type: |
nominal_net_best_estimate |
Nominal net best estimate. Reference type: |
attachment_point |
Attachment point. Reference type: |
cover_size |
Cover size. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-nslt-2027-adc-recovery-uncapped")
result <- do.call(health_adc_recovery_2027,
c(case$kwargs, list(context = context)))
result$value
Reserve-sigma adjustment; no invented upper cap or automatic eligibility.
Description
Recovery is the paragraph5 indemnity before applying cession and prudence. Additional premium is supplied before its prescribed zero floor. A zero denominator needs review, not an implicit no-adjustment factor.
Usage
health_adc_reserve_factor_2027(
segment,
nominal_net_best_estimate,
recovery,
cession_share,
additional_premium,
qualification_reference,
context,
...
)
Arguments
segment |
Segment. Reference type: |
nominal_net_best_estimate |
Nominal net best estimate. Reference type: |
recovery |
Recovery. Reference type: |
cession_share |
Cession share. Reference type: |
additional_premium |
Additional premium. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-nslt-2027-adc-factor-zero-floor")
result <- do.call(health_adc_reserve_factor_2027,
c(case$kwargs, list(context = context)))
result$value
Select already qualified SLT-health units; no health TP projection or SCR.
Description
Under reinsurance, units represent underlying insurance, not treaty TP. The result counts valuation units, never infers the number of contracts.
Usage
health_biometric_selection(
shock,
valuations,
valuation_basis,
grouping_mode,
grouping_qualified = NULL,
valuation_reference,
context,
...
)
Arguments
shock |
Shock. Reference type: |
valuations |
Valuations. Reference type: |
valuation_basis |
Valuation basis. Reference type: |
grouping_mode |
Grouping mode. Reference type: |
grouping_qualified |
Grouping qualified. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: selection_units.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-selection-baseline-mortality-qualified-aggregate")
result <- do.call(health_biometric_selection,
c(case$kwargs, list(context = context)))
result$value
Stress only explicitly selected SLT health contracts, not their BOF valuation.
Description
Selection, permitted grouping and underlying reinsurance contracts remain external. Probability and intensity bases are never silently interconverted.
Usage
health_biometric_stress(
rate,
shock,
rate_basis,
selected,
selection_reference,
context,
...
)
Arguments
rate |
Rate. Reference type: |
shock |
Shock. Reference type: |
rate_basis |
Rate basis. Reference type: |
selected |
Selected. Reference type: |
selection_reference |
Selection reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-2027-biometric-intensity")
result <- do.call(health_biometric_stress,
c(case$kwargs, list(context = context)))
result$value
Sum disjoint SLT medical/income charges; no diversification or classification inference.
Description
Sum disjoint SLT medical/income charges; no diversification or classification inference.
Usage
health_disability_risk(
medical_charge,
income_protection_charge,
classification_reference,
context,
...
)
Arguments
medical_charge |
Medical charge. Reference type: |
income_protection_charge |
Income protection charge. Reference type: |
classification_reference |
Classification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-2027-disability-sum")
result <- do.call(health_disability_risk,
c(case$kwargs, list(context = context)))
result$value
Add the expense inflation shock without choosing a projection convention.
Description
Add the expense inflation shock without choosing a projection convention.
Usage
health_expense_inflation_stress(inflation_rate, context, ...)
Arguments
inflation_rate |
Inflation rate. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-inflation")
result <- do.call(health_expense_inflation_stress,
c(case$kwargs, list(context = context)))
result$value
Stress eligible own/cedent costs jointly with inflation in external projection.
Description
Stress eligible own/cedent costs jointly with inflation in external projection.
Usage
health_expense_level_stress(expense, context, ...)
Arguments
expense |
Expense. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-expense-zero")
result <- do.call(health_expense_level_stress,
c(case$kwargs, list(context = context)))
result$value
Mix separately calculated volumes; a source reference is not a legal applicability decision.
Description
Bounds are reported independently instead of silently changing a supplied external parameter. Optional qualification additionally rejects declared ineligibility or bound contradictions; omission stays explicitly unchecked. This component is not the complete HRES risk module.
Usage
health_hres_mixed_sigma(
segment,
risk,
non_hres_volume,
hres_volume,
hres_sigma,
parameter_reference,
qualification = NULL,
context,
...
)
Arguments
segment |
Segment. Reference type: |
risk |
Risk. Reference type: |
non_hres_volume |
Non hres volume. Reference type: |
hres_volume |
Hres volume. Reference type: |
hres_sigma |
Hres sigma. Reference type: |
parameter_reference |
Parameter reference. Reference type: |
qualification |
Qualification. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-hres-premium-mixed")
result <- do.call(health_hres_mixed_sigma,
c(case$kwargs, list(context = context)))
result$value
Bound an external representative estimate; this does not determine an official HRES sigma.
Description
Bound an external representative estimate; this does not determine an official HRES sigma.
Usage
health_hres_sigma_bound(segment, risk, representative_sigma, context, ...)
Arguments
segment |
Segment. Reference type: |
risk |
Risk. Reference type: |
representative_sigma |
Representative sigma. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-hres-premium-floor")
result <- do.call(health_hres_sigma_bound,
c(case$kwargs, list(context = context)))
result$value
Stress incidence for an explicitly assigned period; jointly project all156 changes.
Description
Stress incidence for an explicitly assigned period; jointly project all156 changes.
Usage
health_income_incidence_stress(rate, period, rate_basis, context, ...)
Arguments
rate |
Rate. Reference type: |
period |
Period. Reference type: |
rate_basis |
Rate basis. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-income-later_years-intensity")
result <- do.call(health_income_incidence_stress,
c(case$kwargs, list(context = context)))
result$value
Apply strict recovery / inclusive continuation thresholds without normalisation.
Description
No complementary transition is inferred or reconstructed. The supplied valuation model must define coherent state transitions and joint projection.
Usage
health_income_transition_stress(rate, transition, context, ...)
Arguments
rate |
Rate. Reference type: |
transition |
Transition. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-income-recovery-0")
result <- do.call(health_income_transition_stress,
c(case$kwargs, list(context = context)))
result$value
Stress relevant exercise/non-exercise probability with health-specific parameters.
Description
Stress relevant exercise/non-exercise probability with health-specific parameters.
Usage
health_lapse_option_stress(
exercise_rate,
direction,
option_kind,
selected,
selection_reference,
context,
...
)
Arguments
exercise_rate |
Exercise rate. Reference type: |
direction |
Direction. Reference type: |
option_kind |
Option kind. Reference type: |
selected |
Selected. Reference type: |
selection_reference |
Selection reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-2027-extension-up")
result <- do.call(health_lapse_option_stress,
c(case$kwargs, list(context = context)))
result$value
Select the gross SLT health lapse charge corresponding to maximum net loss.
Description
Select the gross SLT health lapse charge corresponding to maximum net loss.
Usage
health_lapse_risk(
gross_losses,
net_losses,
valuation_reference,
tie_break = NULL,
context,
...
)
Arguments
gross_losses |
Gross losses. Reference type: |
net_losses |
Net losses. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
tie_break |
Tie break. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-2027-lapse-selection")
result <- do.call(health_lapse_risk,
c(case$kwargs, list(context = context)))
result$value
Gross claim for one printed AnnexXVI segment, before reinsurance and BOF revaluation.
Description
Gross claim for one printed AnnexXVI segment, before reinsurance and BOF revaluation.
Usage
health_mass_accident_loss(
segment,
event_exposures,
exposure_reference,
context,
...
)
Arguments
segment |
Segment. Reference type: |
event_exposures |
Event exposures. Reference type: |
exposure_reference |
Exposure reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-cat-2027-region-AT")
result <- do.call(health_mass_accident_loss,
c(case$kwargs, list(context = context)))
result$value
Return the40% event share, not proportional capital or life special-category70%.
Description
Uniform joint events, underlying reinsurance contracts and the worst termination form require external qualification in either reference profile.
Usage
health_mass_lapse_factor(category, qualification_reference, context, ...)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-mass-future_159_6_b")
result <- do.call(health_mass_lapse_factor,
c(case$kwargs, list(context = context)))
result$value
Add/subtract percentage points without inventing a compounding model.
Description
Add/subtract percentage points without inventing a compounding model.
Usage
health_medical_inflation_stress(inflation_rate, direction, context, ...)
Arguments
inflation_rate |
Inflation rate. Reference type: |
direction |
Direction. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-medical-inflation-up")
result <- do.call(health_medical_inflation_stress,
c(case$kwargs, list(context = context)))
result$value
Stress payments jointly with inflation in the external permanent projection.
Description
Stress payments jointly with inflation in the external permanent projection.
Usage
health_medical_payment_stress(payment, direction, context, ...)
Arguments
payment |
Payment. Reference type: |
direction |
Direction. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-medical-payment-zero")
result <- do.call(health_medical_payment_stress,
c(case$kwargs, list(context = context)))
result$value
Maximum of two joint-scenario charges; no extra net-selection rule is inferred.
Description
Maximum of two joint-scenario charges; no extra net-selection rule is inferred.
Usage
health_medical_risk(up_charge, down_charge, valuation_reference, context, ...)
Arguments
up_charge |
Up charge. Reference type: |
down_charge |
Down charge. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-2027-medical-maximum")
result <- do.call(health_medical_risk,
c(case$kwargs, list(context = context)))
result$value
Look up a qualified LOB, not the contract's economic classification.
Description
Both NSLT and SLT health obligations enter the health catastrophe scope. This does not qualify any individual accident/pandemic scenario or amount. Zero means outside this module's LOB scope, never zero insurer capital.
Usage
health_module_scope(lob, module, classification_reference, context, ...)
Arguments
lob |
Lob. Reference type: |
module |
Module. Reference type: |
classification_reference |
Classification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-scope-baseline-1-health")
result <- do.call(health_module_scope,
c(case$kwargs, list(context = context)))
result$value
NSLT health event share; do not apply SLT's three-scenario selection here.
Description
NSLT health event share; do not apply SLT's three-scenario selection here.
Usage
health_nslt_lapse_factor(category, qualification_reference, context, ...)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-nslt-2027-lapse-termination")
result <- do.call(health_nslt_lapse_factor,
c(case$kwargs, list(context = context)))
result$value
Sum externally valued permanent-disability benefits with no recovery assumed.
Description
Occupational accident obligations are excluded by external classification; recurring benefits require externally supplied best estimates, not face sums.
Usage
health_pandemic_income_exposure(benefits, valuation_reference, context, ...)
Arguments
benefits |
Benefits. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-pandemic-income-empty")
result <- do.call(health_pandemic_income_exposure,
c(case$kwargs, list(context = context)))
result$value
Gross sudden scenario claim before reinsurance; country residence/scope external.
Description
Gross sudden scenario claim before reinsurance; country residence/scope external.
Usage
health_pandemic_loss(
income_exposure,
countries,
exposure_reference,
context,
...
)
Arguments
income_exposure |
Income exposure. Reference type: |
countries |
Countries. Reference type: |
exposure_reference |
Exposure reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-pandemic-zero")
result <- do.call(health_pandemic_loss,
c(case$kwargs, list(context = context)))
result$value
Weight all three externally valued care types; never silently normalise overrides.
Description
Weight all three externally valued care types; never silently normalise overrides.
Usage
health_pandemic_medical_cost(costs, valuation_reference, context, ...)
Arguments
costs |
Costs. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-cat-2027-care-hospital")
result <- do.call(health_pandemic_medical_cost,
c(case$kwargs, list(context = context)))
result$value
Four-segment standard selector; USP/HRES are deliberately not substituted.
Description
Use premium_reserve_parameterised_risk for already qualified effective USP/HRES sigmas. This automatic standard selector does not choose them.
Usage
health_premium_reserve_risk(
segments,
uses_usp,
uses_hres,
reserve_adjustments = NULL,
adjustment_reference = NULL,
context,
...
)
Arguments
segments |
Segments. Reference type: |
uses_usp |
Uses usp. Reference type: |
uses_hres |
Uses hres. Reference type: |
reserve_adjustments |
Reserve adjustments. Reference type: |
adjustment_reference |
Adjustment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
The2027 profile requires all four externally qualified reserve factors, including explicit ones for segments without a qualifying ADC adjustment. Historical calculations reject these future-only inputs.
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-pr-zero")
result <- do.call(health_premium_reserve_risk,
c(case$kwargs, list(context = context)))
result$value
Health-NSLT net premium volume; cohort/time selection and evidence are external.
Description
Health-NSLT net premium volume; cohort/time selection and evidence are external.
Usage
health_premium_volume(
expected_next_year,
earned_last_year,
existing_future_pv,
future_short_pv,
future_long_pv,
method,
cap_evidence = NULL,
context,
...
)
Arguments
expected_next_year |
Expected next year. Reference type: |
earned_last_year |
Earned last year. Reference type: |
existing_future_pv |
Existing future pv. Reference type: |
future_short_pv |
Future short pv. Reference type: |
future_long_pv |
Future long pv. Reference type: |
method |
Method. Reference type: |
cap_evidence |
Cap evidence. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-nslt-2027-premium-standard")
result <- do.call(health_premium_volume,
c(case$kwargs, list(context = context)))
result$value
Health-NSLT claims volume; recoverables exclude208(2) finite/similar RI.
Description
Health-NSLT claims volume; recoverables exclude208(2) finite/similar RI.
Usage
health_reserve_volume(
claims_best_estimate,
eligible_recoverables,
context,
...
)
Arguments
claims_best_estimate |
Claims best estimate. Reference type: |
eligible_recoverables |
Eligible recoverables. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("health-reserve-net")
result <- do.call(health_reserve_volume,
c(case$kwargs, list(context = context)))
result$value
Stress externally selected inflation/legal/health revision-exposed annuities.
Description
Stress externally selected inflation/legal/health revision-exposed annuities.
Usage
health_revision_stress(
annuity_benefit,
revision_exposed,
qualification_reference,
context,
...
)
Arguments
annuity_benefit |
Annuity benefit. Reference type: |
revision_exposed |
Revision exposed. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("health-2027-revision-true")
result <- do.call(health_revision_stress,
c(case$kwargs, list(context = context)))
result$value
Screen declared corporate criteria with conditional controls and numbers.
Description
The caller qualifies the infrastructure majority, EEA/OECD location, revenue pattern and (where needed) offtaker. No percentage for a 'clear majority' or numeric interpretation of Article164a(2)biii is invented. Corporate CQS0..3 in Article164b(7) is distinct and explicit.
Usage
infrastructure_corporate_eligibility_screen(
conditions,
instrument,
revenue_route,
many_users,
rating_available,
qualification_reference,
credit_quality_step = NULL,
operating_years = NULL,
history_basis = NULL,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
instrument |
Instrument. Reference type: |
revenue_route |
Revenue route. Reference type: |
many_users |
Many users. Reference type: |
rating_available |
Rating available. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
operating_years |
Operating years. Reference type: |
history_basis |
History basis. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("infrastructure-corporate-baseline-cqs-0")
result <- do.call(infrastructure_corporate_eligibility_screen,
c(case$kwargs, list(context = context)))
result$value
Apply only the declared, branch-specific project prerequisites.
Description
Equity and unrated debt carry the additional paragraph1(f) criteria. Instrument rating availability is externally qualified, not inferred from a corporate rating. Revenue/offtaker/stress/financial assessments remain external; a successful screen does not select a reduced capital factor.
Usage
infrastructure_project_eligibility_screen(
conditions,
investment_kind,
revenue_route,
many_users,
qualification_reference,
security_route = NULL,
alternative_security_mechanisms = NULL,
in_construction = NULL,
construction_risk = NULL,
material_operational_risk = NULL,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
investment_kind |
Investment kind. Reference type: |
revenue_route |
Revenue route. Reference type: |
many_users |
Many users. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
security_route |
Security route. Reference type: |
alternative_security_mechanisms |
Alternative security mechanisms. Reference type: |
in_construction |
In construction. Reference type: |
construction_risk |
Construction risk. Reference type: |
material_operational_risk |
Material operational risk. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("infrastructure-project-baseline-rated-debt")
result <- do.call(infrastructure_project_eligibility_screen,
c(case$kwargs, list(context = context)))
result$value
Deposit guarantee concentration gi only; no default/spread risk exemption.
Description
Deposit guarantee concentration gi only; no default/spread risk exemption.
Usage
insured_deposit_concentration_factor(
conditions,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-deposit-zero-qualified")
result <- do.call(insured_deposit_concentration_factor,
c(case$kwargs, list(context = context)))
result$value
Interpolate stress, not rating, for externally qualified unrated insurers.
Description
Duplicate published 75% knots share CQS5_6. MCR/SFCR eligibility is external.
Usage
insurer_solvency_spread_stress(
modified_duration,
solvency_ratio,
qualification_reference,
context,
...
)
Arguments
modified_duration |
Modified duration. Reference type: |
solvency_ratio |
Solvency ratio. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-insurer-solvency-spread-1-0")
result <- do.call(insurer_solvency_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Charge on intangible value already recognised under Article 12.
Description
Charge on intangible value already recognised under Article 12.
Usage
intangible_risk(recognised_value, context, ...)
Arguments
recognised_value |
Recognised value. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("capital-2027-intangible-0")
result <- do.call(intangible_risk,
c(case$kwargs, list(context = context)))
result$value
Return the nonnegative b magnitude; its application sign belongs to the scenario.
Description
Return the nonnegative b magnitude; its application sign belongs to the scenario.
Usage
interest_additive_shift_2027(maturity, direction, context, ...)
Arguments
maturity |
Maturity. Reference type: |
direction |
Direction. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: annual_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("interest-original-row-up-1-interest_additive_shift_2027")
result <- do.call(interest_additive_shift_2027,
c(case$kwargs, list(context = context)))
result$value
Published floor from1year; subannual ambiguity is not filled by extrapolation.
Description
Published floor from1year; subannual ambiguity is not filled by extrapolation.
Usage
interest_down_floor_2027(maturity, context, ...)
Arguments
maturity |
Maturity. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: annual_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("interest-floor-2027-1")
result <- do.call(interest_down_floor_2027,
c(case$kwargs, list(context = context)))
result$value
Literal downward stress only at/before an externally qualified first smoothing point.
Description
Literal downward stress only at/before an externally qualified first smoothing point.
Usage
interest_down_stress_2027(
rate,
maturity,
first_smoothing_point,
qualification_reference,
context,
...
)
Arguments
rate |
Rate. Reference type: |
maturity |
Maturity. Reference type: |
first_smoothing_point |
First smoothing point. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: annual_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("interest-down-2027-rate-1")
result <- do.call(interest_down_stress_2027,
c(case$kwargs, list(context = context)))
result$value
Retain gains but exclude losses on Art68-deducted financial holdings.
Description
Signed BOF deltas are externally valued for one up/down scenario and one consistent gross/net-FDB basis. Apply before full currency-scenario losses, never subtract the result from an already floored SCR. No pricing or legal deduction qualification is inferred. The arithmetic is shared with188(6).
Usage
interest_participation_bof_change(
participations,
direction,
qualification_reference,
context,
...
)
Arguments
participations |
Participations. Reference type: |
direction |
Direction. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("interest-participation-baseline-up-empty")
result <- do.call(interest_participation_bof_change,
c(case$kwargs, list(context = context)))
result$value
Interpolate s using its own90year tail, not the additive60year tail.
Description
Interpolate s using its own90year tail, not the additive60year tail.
Usage
interest_relative_factor_2027(maturity, direction, context, ...)
Arguments
maturity |
Maturity. Reference type: |
direction |
Direction. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("interest-original-row-up-1-interest_relative_factor_2027")
result <- do.call(interest_relative_factor_2027,
c(case$kwargs, list(context = context)))
result$value
Sum each direction across qualified currency groups before scenario selection.
Description
Future EUR/peg joint scenarios must already be qualified and grouped externally, with no duplicate exposure. Currency/group keys never trigger automatic merging.
Usage
interest_scenario_charge(
gross_by_currency,
net_by_currency,
valuation_reference,
tie_break = NULL,
context,
...
)
Arguments
gross_by_currency |
Gross by currency. Reference type: |
net_by_currency |
Net by currency. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
tie_break |
Tie break. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("interest-sum-net-down")
result <- do.call(interest_scenario_charge,
c(case$kwargs, list(context = context)))
result$value
Stress a basic annual spot rate; linear factor interpolation including endpoints.
Description
Stress a basic annual spot rate; linear factor interpolation including endpoints.
Usage
interest_stress(rate, maturity, direction, context, ...)
Arguments
rate |
Rate. Reference type: |
maturity |
Maturity. Reference type: |
direction |
Direction. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: annual_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rate-interpolation")
result <- do.call(interest_stress,
c(case$kwargs, list(context = context)))
result$value
Shift an externally supplied UFR, without constructing a stressed extrapolation.
Description
Shift an externally supplied UFR, without constructing a stressed extrapolation.
Usage
interest_ufr_stress_2027(ufr, direction, context, ...)
Arguments
ufr |
Ufr. Reference type: |
direction |
Direction. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: annual_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("interest-ufr-2027-up")
result <- do.call(interest_ufr_stress_2027,
c(case$kwargs, list(context = context)))
result$value
Signed tax adjustment from externally valued balances after the Article 207(1) loss.
Description
A nonempty evidence reference records the caller's basis for increased DTA; it does not substantively establish future profits or legal recoverability.
Usage
lac_dt(
base_dta,
base_dtl,
stressed_dta,
stressed_dtl,
recoverability_reference = NULL,
context,
...
)
Arguments
base_dta |
Base dta. Reference type: |
base_dtl |
Base dtl. Reference type: |
stressed_dta |
Stressed dta. Reference type: |
stressed_dtl |
Stressed dtl. Reference type: |
recoverability_reference |
Recoverability reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("tax-2027-positive-zeroed")
result <- do.call(lac_dt,
c(case$kwargs, list(context = context)))
result$value
Check one externally qualified projection/return-pair and declared evidence.
Description
Five years bounds new-business revenue assumptions, not all future profits. A longer profit forecast activates the haircut condition, without inventing its amount. Lower-than-forward returns require review of the literal source rather than treating conservative assumptions as automatically unlawful.
Usage
lac_dt_profit_assumptions_check(
projection,
conditions,
management_actions_assumed,
qualification_reference,
context,
...
)
Arguments
projection |
Projection. Reference type: |
conditions |
Conditions. Reference type: |
management_actions_assumed |
Management actions assumed. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("lac-dt-profit-baseline-boundary-five")
result <- do.call(lac_dt_profit_assumptions_check,
c(case$kwargs, list(context = context)))
result$value
Loss for the external tax revaluation, before (not after) the tax adjustment.
Description
Loss for the external tax revaluation, before (not after) the tax adjustment.
Usage
lac_dt_stress_amount(bscr, operational, adjustment_tp, context, ...)
Arguments
bscr |
Bscr. Reference type: |
operational |
Operational. Reference type: |
adjustment_tp |
Adjustment tp. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("tax-stress-2027-zero")
result <- do.call(lac_dt_stress_amount,
c(case$kwargs, list(context = context)))
result$value
Signed (nonpositive) loss-absorbing adjustment for technical provisions.
Description
Signed (nonpositive) loss-absorbing adjustment for technical provisions.
Usage
lac_tp(bscr, net_bscr, future_discretionary_benefits, context, ...)
Arguments
bscr |
Bscr. Reference type: |
net_bscr |
Net bscr. Reference type: |
future_discretionary_benefits |
Future discretionary benefits. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("capital-2027-lac-tp-3")
result <- do.call(lac_tp,
c(case$kwargs, list(context = context)))
result$value
Stress the relevant option-exercise rate after the required contract selection.
Description
Stress the relevant option-exercise rate after the required contract selection.
Usage
lapse_stress(rate, direction, context, ...)
Arguments
rate |
Rate. Reference type: |
direction |
Direction. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("life-2027-lapse-up-cap")
result <- do.call(lapse_stress,
c(case$kwargs, list(context = context)))
result$value
Smallest integer STRICTLY above the ratio, or one for unlimited coverage.
Description
Fraction arithmetic on decimal representations preserves exact boundaries such as 115/(1.15*100)=1; ceil would be wrong there. Representative loss allocation across those claims and reinsurance response remain external.
Usage
liability_cat_claim_count(
loss,
unlimited,
largest_limit = NULL,
qualification_reference,
context,
...
)
Arguments
loss |
Loss. Reference type: |
unlimited |
Unlimited. Reference type: |
largest_limit |
Largest limit. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: count.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("liability-credit-2027-unlimited")
result <- do.call(liability_cat_claim_count,
c(case$kwargs, list(context = context)))
result$value
Group factor times next12month earned gross premium before reinsurance.
Description
AnnexXI classifications and exclusions are external, including the group4 exclusions for groups1–3, private households and specified craftsmen.
Usage
liability_cat_loss(group, gross_premium, qualification_reference, context, ...)
Arguments
group |
Group. Reference type: |
gross_premium |
Gross premium. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("liability-credit-2027-liability-group1")
result <- do.call(liability_cat_loss,
c(case$kwargs, list(context = context)))
result$value
Select qualified life units by strictly increased TP excluding risk margin.
Description
Direct/underlying basis, grouping and external TP valuation requirements are unchanged; the shared private helper does not contribute health sources.
Usage
life_biometric_selection(
shock,
valuations,
valuation_basis,
grouping_mode,
grouping_qualified = NULL,
valuation_reference,
context,
...
)
Arguments
shock |
Shock. Reference type: |
valuations |
Valuations. Reference type: |
valuation_basis |
Valuation basis. Reference type: |
grouping_mode |
Grouping mode. Reference type: |
grouping_qualified |
Grouping qualified. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: selection_units.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("life-selection-baseline-mortality-qualified-aggregate")
result <- do.call(life_biometric_selection,
c(case$kwargs, list(context = context)))
result$value
Apply a selected biometric stress without inventing a probability/intensity conversion.
Description
Disability incidence/recovery stresses must be projected jointly. Contract selection and time-period assignment are external, not inferred from rate.
Usage
life_biometric_stress(rate, shock, rate_basis, context, ...)
Arguments
rate |
Rate. Reference type: |
shock |
Shock. Reference type: |
rate_basis |
Rate basis. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("life-rate-intensity")
result <- do.call(life_biometric_stress,
c(case$kwargs, list(context = context)))
result$value
Check declared Article35 grouping safeguards, not a clustering model.
Description
Individual-contract projection is the default. The insurer assesses undue burden, risk similarity, faithful expenses/risks and comparable best estimates including guarantees/options. No quantitative materiality cutoff is invented.
Usage
life_cashflow_grouping_conditions(
conditions,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("life-grouping-baseline-combination-15")
result <- do.call(life_cashflow_grouping_conditions,
c(case$kwargs, list(context = context)))
result$value
Add the twelve-month mortality shock only to externally selected contracts.
Description
The input is a mortality probability for the next twelve months, not an intensity. No lifetime extrapolation, contract selection or BOF valuation is inferred; article 143 specifies no probability cap.
Usage
life_catastrophe_rate_stress(rate, selected, selection_reference, context, ...)
Arguments
rate |
Rate. Reference type: |
selected |
Selected. Reference type: |
selection_reference |
Selection reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("life-2027-cat-true")
result <- do.call(life_catastrophe_rate_stress,
c(case$kwargs, list(context = context)))
result$value
Add the prescribed percentage-point shock without choosing a compounding model.
Description
Add the prescribed percentage-point shock without choosing a compounding model.
Usage
life_expense_inflation_stress(inflation_rate, context, ...)
Arguments
inflation_rate |
Inflation rate. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("life-expense-inflation")
result <- do.call(life_expense_inflation_stress,
c(case$kwargs, list(context = context)))
result$value
Stress eligible costs; combine with inflation stress in the external projection.
Description
Stress eligible costs; combine with inflation stress in the external projection.
Usage
life_expense_level_stress(expense, context, ...)
Arguments
expense |
Expense. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("life-expense-zero")
result <- do.call(life_expense_level_stress,
c(case$kwargs, list(context = context)))
result$value
Return exercise probability, stressing non-exercise for extension options.
Description
Selection depends on the relevant technical-provision effect, not merely the option label. Underlying/reinsurance rights are classified externally.
Usage
life_lapse_option_stress(
exercise_rate,
direction,
option_kind,
selected,
selection_reference,
context,
...
)
Arguments
exercise_rate |
Exercise rate. Reference type: |
direction |
Direction. Reference type: |
option_kind |
Option kind. Reference type: |
selected |
Selected. Reference type: |
selection_reference |
Selection reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("life-2027-extension-up")
result <- do.call(life_lapse_option_stress,
c(case$kwargs, list(context = context)))
result$value
Select gross capital using all three externally valued net scenarios.
Description
Select gross capital using all three externally valued net scenarios.
Usage
life_lapse_risk(
gross_losses,
net_losses,
valuation_reference,
tie_break = NULL,
context,
...
)
Arguments
gross_losses |
Gross losses. Reference type: |
net_losses |
Net losses. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
tie_break |
Tie break. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("life-lapse-net-selection")
result <- do.call(life_lapse_risk,
c(case$kwargs, list(context = context)))
result$value
Return event share, never a proportional BOF/TP loss or standalone mass SCR.
Description
Categories a/b are disjoint and a/b/c apply jointly where relevant. Special category qualification and worst termination form remain external. In2027, uniform application to affected contracts and application to the underlying insurance contracts for reinsurance a/b must also be qualified.
Usage
life_mass_lapse_factor(category, qualification_reference, context, ...)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("life-mass-future_142_6_c")
result <- do.call(life_mass_lapse_factor,
c(case$kwargs, list(context = context)))
result$value
Screen declared142(6)a facts; a negative result does NOT select category b.
Description
Related beneficiaries are excluded independently of count. The20-person limit belongs to the separate estate/inheritance-purpose exclusion only. Underlying reinsurance scope and worst termination valuation remain external.
Usage
life_mass_lapse_special_eligibility(
policyholder_type,
conditions,
beneficiary_count = NULL,
qualification_reference,
context,
...
)
Arguments
policyholder_type |
Policyholder type. Reference type: |
conditions |
Conditions. Reference type: |
beneficiary_count |
Beneficiary count. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mass-lapse-special-baseline-non-natural-consent-true")
result <- do.call(life_mass_lapse_special_eligibility,
c(case$kwargs, list(context = context)))
result$value
Increase only externally qualified revision-exposed annuity benefits.
Description
Increase only externally qualified revision-exposed annuity benefits.
Usage
life_revision_stress(annuity_benefit, revision_exposed, context, ...)
Arguments
annuity_benefit |
Annuity benefit. Reference type: |
revision_exposed |
Revision exposed. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("life-2027-revision-true")
result <- do.call(life_revision_stress,
c(case$kwargs, list(context = context)))
result$value
Import a user-supplied local discount curve
Description
Import a user-supplied local discount curve
Usage
load_discount_curve_json(path)
load_discount_curve_csv(
path,
curve_id,
as_of,
currency,
curve_kind,
source_reference
)
Arguments
path |
Local file path; URLs, including |
curve_id, as_of, currency, curve_kind, source_reference |
Explicit CSV metadata;
see |
Details
JSON must be UTF-8 with unique object keys. CSV must have exactly
date,discount_factor columns, comma separators and decimal points.
Neither adapter accesses the Internet or guesses units.
Value
A validated DiscountCurve().
Examples
path <- tempfile(fileext = ".csv")
writeLines(c("date,discount_factor", "2026-01-17,0.97"), path)
curve <- load_discount_curve_csv(path, "example", "2025-01-17", "EUR",
"custom", "synthetic example")
discount_curve_factor(curve, "2026-01-17")
unlink(path)
Sum one underlying exposure across all qualified direct/indirect fund paths.
Description
Factors are supplied linear multipliers, NOT inferred ownership fractions. Signed/leverage inputs remain externally qualified; no normalisation, NAV solving, asset classification, fallback completion or risk-charge netting. Kahn traversal avoids recursion limits and exponential path enumeration.
Usage
lookthrough_exposure_amount(
funds,
holdings,
exposure_id,
complete_scope,
basis_reference,
context,
...
)
Arguments
funds |
Funds. Reference type: |
holdings |
Holdings. Reference type: |
exposure_id |
Exposure id. Reference type: |
complete_scope |
Complete scope. Reference type: |
basis_reference |
Basis reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("lookthrough-exposure-baseline-known-zero-position")
result <- do.call(lookthrough_exposure_amount,
c(case$kwargs, list(context = context)))
result$value
Test target-first fallback conditions, not infer a fund's asset allocation.
Description
Only externally qualified collective/fund-form investments are in scope. Prudence and any data-grouping cap must be checked separately.
Usage
lookthrough_fallback_conditions(
conditions,
allocation_basis,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
allocation_basis |
Allocation basis. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("lookthrough-baseline-target")
result <- do.call(lookthrough_fallback_conditions,
c(case$kwargs, list(context = context)))
result$value
Check an inclusive cap on externally scope-adjusted grouping amounts.
Description
Article84(3a) exclusion/classification and prudent risk grouping are external; zero/zero means only the inequality holds, not that a method is approved.
Usage
lookthrough_grouping_limit(
grouped_assets_in_scope,
total_assets_in_scope,
article84_3a_scope_qualified,
prudent_grouping,
qualification_reference,
context,
...
)
Arguments
grouped_assets_in_scope |
Grouped assets in scope. Reference type: |
total_assets_in_scope |
Total assets in scope. Reference type: |
article84_3a_scope_qualified |
Article84 3a scope qualified. Reference type: |
prudent_grouping |
Prudent grouping. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("lookthrough-baseline-group-zero")
result <- do.call(lookthrough_grouping_limit,
c(case$kwargs, list(context = context)))
result$value
Maximum combined effective insured sum of externally qualified objects.
Description
Fire inputs are complete, externally qualified building groups, not isolated points. Components are after qualified recovery/fallback; never deduct twice. Empty eligible populations return explicitly documented conventional zero. This is not the hypothetical Article196(a) capital calculation; its2027 object-selection requirements need separate qualification.
Usage
manmade_concentration_loss(
exposures,
peril,
qualification_reference,
context,
...
)
Arguments
exposures |
Exposures. Reference type: |
peril |
Peril. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("concentration-2027-empty")
result <- do.call(manmade_concentration_loss,
c(case$kwargs, list(context = context)))
result$value
Aggregate supplied market submodules, with the source's interest-charge equality rule.
Description
Keys identify externally qualified stress currencies/groups; all monetary inputs are already in context currency. This function neither values instruments nor certifies completeness. The selected profile supplies its own matrices, including the2027 interest/spread B coefficient.
Usage
market_risk_from_interest_scenarios(
other_components,
gross_by_currency,
net_by_currency,
valuation_reference,
tie_break = NULL,
context,
...
)
Arguments
other_components |
Other components. Reference type: |
gross_by_currency |
Gross by currency. Reference type: |
net_by_currency |
Net by currency. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
tie_break |
Tie break. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("market-zero")
result <- do.call(market_risk_from_interest_scenarios,
c(case$kwargs, list(context = context)))
result$value
Fundamental-spread increment, not MA/technical-provision revaluation.
Description
Use actual modified duration here, not the floor used to determine the separately supplied asset shock. The last paragraph overrides CQS3 for qualified infrastructure investments and infrastructure corporate assets.
Usage
matching_fundamental_spread_increase(
asset_stress,
modified_duration,
category,
qualification_reference,
credit_quality_step = NULL,
context,
...
)
Arguments
asset_stress |
Asset stress. Reference type: |
modified_duration |
Modified duration. Reference type: |
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: annual_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-matching-spread-increase-7")
result <- do.call(matching_fundamental_spread_increase,
c(case$kwargs, list(context = context)))
result$value
Select a printed EUR floor, including qualified Article166 direct branches.
Description
The half-floor is not a half-SCR or half-MCR multiplier. Pass it as the absolute floor into the ordinary branch-activity MCR calculation. Deposit, asset location, authorisation and Article167 relief remain separate.
Usage
mcr_absolute_floor(
undertaking_type,
covers_nonlife_classes_10_to_15 = NULL,
context,
third_country_branch = FALSE,
qualification_reference = NULL,
mixed_premiums = NULL,
...
)
Arguments
undertaking_type |
Undertaking type. Reference type: |
covers_nonlife_classes_10_to_15 |
Covers nonlife classes 10 to 15. Reference type: |
context |
Explicit |
third_country_branch |
Third country branch. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
mixed_premiums |
Mixed premiums. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: EUR.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("mcr-2027-amcr-life")
result <- do.call(mcr_absolute_floor,
c(case$kwargs, list(context = context)))
result$value
Article251 contract-level floors; external benefit/BE qualification unchanged.
Description
Article251 contract-level floors; external benefit/BE qualification unchanged.
Usage
mcr_capital_at_risk(contracts, qualification_reference, context, ...)
Arguments
contracts |
Contracts. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mcr-car-baseline-empty")
result <- do.call(mcr_capital_at_risk,
c(case$kwargs, list(context = context)))
result$value
Combined MCR including an explicitly supplied applicable absolute floor.
Description
Combined MCR including an explicitly supplied applicable absolute floor.
Usage
mcr_combined(linear, scr, absolute_floor, context, ...)
Arguments
linear |
Linear. Reference type: |
scr |
Scr. Reference type: |
absolute_floor |
Absolute floor. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("mcr-2027-combined-floor")
result <- do.call(mcr_combined,
c(case$kwargs, list(context = context)))
result$value
Linear life MCR; no premature floor on the signed linear total.
Description
Linear life MCR; no premature floor on the signed linear total.
Usage
mcr_life(components, context, ...)
Arguments
components |
Components. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("mcr-2027-life-guaranteed")
result <- do.call(mcr_life,
c(case$kwargs, list(context = context)))
result$value
Add the separately determined Art.250/251 parts; life may be signed.
Description
Add the separately determined Art.250/251 parts; life may be signed.
Usage
mcr_linear(nonlife, life, context, ...)
Arguments
nonlife |
Nonlife. Reference type: |
life |
Life. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mcr-linear-zero")
result <- do.call(mcr_linear,
c(case$kwargs, list(context = context)))
result$value
Linear nonlife/health MCR using all 16 annex-XIX segments, including explicit zeros.
Description
Linear nonlife/health MCR using all 16 annex-XIX segments, including explicit zeros.
Usage
mcr_nonlife(segments, context, ...)
Arguments
segments |
Segments. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("mcr-2027-tp-1")
result <- do.call(mcr_nonlife,
c(case$kwargs, list(context = context)))
result$value
Notional activity MCR with a separately supervisor-assigned add-on.
Description
Preserve the printed min(max(...),...) ordering even for signed inputs. The applicable absolute floor and activity delimitation remain external. This is not a total-company MCR or an automatic Article253 decision.
Usage
mcr_notional_requirement(
linear,
notional_scr,
capital_addon,
absolute_floor,
qualification_reference,
context,
...
)
Arguments
linear |
Linear. Reference type: |
notional_scr |
Notional scr. Reference type: |
capital_addon |
Capital addon. Reference type: |
absolute_floor |
Absolute floor. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mcr-notional-low")
result <- do.call(mcr_notional_requirement,
c(case$kwargs, list(context = context)))
result$value
Allocate SCR excluding add-ons by the two notional linear MCR components.
Description
Signed linear components are not silently floored. A zero denominator has no specified allocation here and requires review. Supervisory add-ons are allocated separately by the supervisor, not by this ratio.
Usage
mcr_notional_scr(
nonlife_linear,
life_linear,
scr_excluding_addon,
activity,
qualification_reference,
context,
...
)
Arguments
nonlife_linear |
Nonlife linear. Reference type: |
life_linear |
Life linear. Reference type: |
scr_excluding_addon |
Scr excluding addon. Reference type: |
activity |
Activity. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("mcr-2027-notional-life")
result <- do.call(mcr_notional_scr,
c(case$kwargs, list(context = context)))
result$value
Check declared method conditions and two external SCR floors, not raise SCR.
Description
Check declared method conditions and two external SCR floors, not raise SCR.
Usage
model_va_scr_floor_2027(
model_scr,
standard_va_scr,
own_portfolio_va_scr,
permitted_by_member_state,
excludes_company_adjustment,
excludes_macro_va,
qualification_reference,
context,
...
)
Arguments
model_scr |
Model scr. Reference type: |
standard_va_scr |
Standard va scr. Reference type: |
own_portfolio_va_scr |
Own portfolio va scr. Reference type: |
permitted_by_member_state |
Permitted by member state. Reference type: |
excludes_company_adjustment |
Excludes company adjustment. Reference type: |
excludes_macro_va |
Excludes macro va. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("model-va-future-equal")
result <- do.call(model_va_scr_floor_2027,
c(case$kwargs, list(context = context)))
result$value
Screen declarations and numerical limits, not the truth of legal conditions.
Description
Debt is explicitly EUR and includes overdue/connected-party/group creditor amounts. Context.currency causes no implicit FX conversion. A <=3-year age does not waive more frequent monitoring under material market changes. The future CRR alternative is an external qualification, not a CRR calculator.
Usage
mortgage_type2_eligibility_screen(
conditions,
total_debt_eur,
years_since_value_monitoring,
repayment_route,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
total_debt_eur |
Total debt eur. Reference type: |
years_since_value_monitoring |
Years since value monitoring. Reference type: |
repayment_route |
Repayment route. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("mortgage-eligibility-future-crr124-zero")
result <- do.call(mortgage_type2_eligibility_screen,
c(case$kwargs, list(context = context)))
result$value
Externally choose total, absent-total property/personal, or per-victim basis.
Description
Externally choose total, absent-total property/personal, or per-victim basis.
Usage
motor_assumed_limit(amounts, basis, qualification_reference, context, ...)
Arguments
amounts |
Amounts. Reference type: |
basis |
Basis. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: EUR.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("motor-count-2027-total-limit")
result <- do.call(motor_assumed_limit,
c(case$kwargs, list(context = context)))
result$value
Gross sudden claim, with literal floor even at zero supplied counts.
Description
Counts are already proportionally weighted. Whether this submodule applies to the undertaking is external; this API does not invent a zero-book waiver.
Usage
motor_cat_loss(high_count, low_count, qualification_reference, context, ...)
Arguments
high_count |
High count. Reference type: |
low_count |
Low count. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: EUR.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("motor-floor")
result <- do.call(motor_cat_loss,
c(case$kwargs, list(context = context)))
result$value
Aggregate qualified LOB4/16 vehicle groups, proportional shares applied once.
Description
Vehicle counts are whole numbers before weighting; the resulting count can be fractional. Each group must have a single assumed coverage limit/share.
Usage
motor_vehicle_count(vehicles, category, qualification_reference, context, ...)
Arguments
vehicles |
Vehicles. Reference type: |
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: count.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("motor-count-2027-empty")
result <- do.call(motor_vehicle_count,
c(case$kwargs, list(context = context)))
result$value
One ordered gross event; do not replace sequential recoveries with a sum.
Description
Article126 independence, no new mitigation between events, and realistic existing reinstatements must be reflected in external sequence valuation.
Usage
natural_cat_event_loss(
prescribed_loss,
peril,
scenario,
event,
qualification_reference,
context,
...
)
Arguments
prescribed_loss |
Prescribed loss. Reference type: |
peril |
Peril. Reference type: |
scenario |
Scenario. Reference type: |
event |
Event. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-natural-event-hail-0")
result <- do.call(natural_cat_event_loss,
c(case$kwargs, list(context = context)))
result$value
Sum eligible zone exposures; flood/hail motor weights differ.
Description
Classify LOB7/19 property, LOB6/18 onshore property and LOB5/17 motor externally. Subsidence covers eligible residential property; its region scope is France historically, Annex VIIIA regions in the 2027 profile.
Usage
natural_cat_insured_sum(
peril,
components,
qualification_reference,
context,
...
)
Arguments
peril |
Peril. Reference type: |
components |
Components. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-natural-si-subsidence")
result <- do.call(natural_cat_insured_sum,
c(case$kwargs, list(context = context)))
result$value
Return sum of squared premium shares over all explicit regions5..18.
Description
All amounts must use the externally qualified peril, gross-premium basis, period, currency/unit and risk-location classification. These region IDs are AnnexIII macroregions, not NatCat risk-zone IDs. No reserve amounts, premium/reserve segment exceptions, USP override or implicit default enter this CAT-only calculation. Zero total is undefined, not an assumed one.
Usage
natural_cat_other_diversification(
peril,
regional_premiums,
qualification_reference,
context,
...
)
Arguments
peril |
Peril. Reference type: |
regional_premiums |
Regional premiums. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("natural-cat-div-baseline-hail-all-equal")
result <- do.call(natural_cat_other_diversification,
c(case$kwargs, list(context = context)))
result$value
Outside AnnexXIII: eligible next12month gross premiums and external DIV.
Description
DIV uses the prescribed premium basis for AnnexIII regions5–18, not generic premium/reserve volumes. Geographic membership is not inferred here.
Usage
natural_cat_other_loss(
peril,
gross_premium,
diversification,
qualification_reference,
context,
...
)
Arguments
peril |
Peril. Reference type: |
gross_premium |
Gross premium. Reference type: |
diversification |
Diversification. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-natural-other-hail")
result <- do.call(natural_cat_other_loss,
c(case$kwargs, list(context = context)))
result$value
Maximum of externally valued A/B sequence capital, not sum of event losses.
Description
Maximum of externally valued A/B sequence capital, not sum of event losses.
Usage
natural_cat_scenario_risk(
peril,
scenario_charges,
qualification_reference,
context,
...
)
Arguments
peril |
Peril. Reference type: |
scenario_charges |
Scenario charges. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-natural-selection-hail")
result <- do.call(natural_cat_scenario_risk,
c(case$kwargs, list(context = context)))
result$value
Optional externally justified lower WSI, never a reinsurance-net amount.
Description
Optional externally justified lower WSI, never a reinsurance-net amount.
Usage
natural_cat_weighted_cap(
weighted_sum,
peril,
use_alternative,
potential_gross_loss = NULL,
qualification_reference,
context,
...
)
Arguments
weighted_sum |
Weighted sum. Reference type: |
peril |
Peril. Reference type: |
use_alternative |
Use alternative. Reference type: |
potential_gross_loss |
Potential gross loss. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-natural-primary-hail")
result <- do.call(natural_cat_weighted_cap,
c(case$kwargs, list(context = context)))
result$value
Shared327b/c/d/e/g size component; each measure's other conditions remain.
Description
A declared low-risk supervisory exception applies ONLY to size condition c, never to all governance/ORSA/liquidity or actual approval requirements. The existing327f prudent-deterministic screen is separate and unchanged.
Usage
non_snc_proportionality_size_screen_2027(
measure,
undertaking_type,
life_gross_tp,
total_gross_tp,
nonlife_gwp,
total_gwp,
market_shares,
size_exception_confirmed,
exception_reference = NULL,
qualification_reference,
context,
...
)
Arguments
measure |
Measure. Reference type: |
undertaking_type |
Undertaking type. Reference type: |
life_gross_tp |
Life gross tp. Reference type: |
total_gross_tp |
Total gross tp. Reference type: |
nonlife_gwp |
Nonlife gwp. Reference type: |
total_gwp |
Total gwp. Reference type: |
market_shares |
Market shares. Reference type: |
size_exception_confirmed |
Size exception confirmed. Reference type: |
exception_reference |
Exception reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("proportionality-scope-non-snc-rsr")
result <- do.call(non_snc_proportionality_size_screen_2027,
c(case$kwargs, list(context = context)))
result$value
One qualified ADC indemnity, before cession/prudence, using AnnexII sigma.
Description
Contract group, distinct tranche and source-defined nominal net valuation remain externally qualified. This is not discounted claims capital or an automatic aggregation of several overlapping covers.
Usage
nonlife_adc_recovery_2027(
segment,
nominal_net_best_estimate,
attachment_point,
cover_size,
qualification_reference,
context,
...
)
Arguments
segment |
Segment. Reference type: |
nominal_net_best_estimate |
Nominal net best estimate. Reference type: |
attachment_point |
Attachment point. Reference type: |
cover_size |
Cover size. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("nonlife-2027-adc-recovery-cover-cap")
result <- do.call(nonlife_adc_recovery_2027,
c(case$kwargs, list(context = context)))
result$value
Qualified reserve-sigma factor, no upper cap; zero denominator needs review.
Description
Recovery is before cession; supplied additional premium is floored at zero exactly once. No eligibility approval is inferred from the reference string.
Usage
nonlife_adc_reserve_factor_2027(
segment,
nominal_net_best_estimate,
recovery,
cession_share,
additional_premium,
qualification_reference,
context,
...
)
Arguments
segment |
Segment. Reference type: |
nominal_net_best_estimate |
Nominal net best estimate. Reference type: |
recovery |
Recovery. Reference type: |
cession_share |
Cession share. Reference type: |
additional_premium |
Additional premium. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("nonlife-2027-adc-factor-no-upper-cap")
result <- do.call(nonlife_adc_reserve_factor_2027,
c(case$kwargs, list(context = context)))
result$value
Event share, not capital multiplier; underlying/worst selection external.
Description
Article90a permits contract-group selection for118(1)(a) only with88 and 35(a-c) grouping qualification. The external reference must evidence this if used; it does not change the event share or remove joint valuation.
Usage
nonlife_lapse_factor(category, qualification_reference, context, ...)
Arguments
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("nonlife-2027-lapse-termination")
result <- do.call(nonlife_lapse_factor,
c(case$kwargs, list(context = context)))
result$value
Article 116 premium volume from externally selected net premium cashflows.
Description
Future short contracts exclude premiums earned in their first twelve months after recognition; future long contracts use premiums beyond the next twelve months from valuation. The supplied long-contract PV is still unweighted. Evidence references record, but cannot substantively verify, paragraph 4.
Usage
nonlife_premium_volume(
expected_next_year,
earned_last_year,
existing_future_pv,
future_short_pv,
future_long_pv,
method,
cap_evidence = NULL,
context,
...
)
Arguments
expected_next_year |
Expected next year. Reference type: |
earned_last_year |
Earned last year. Reference type: |
existing_future_pv |
Existing future pv. Reference type: |
future_short_pv |
Future short pv. Reference type: |
future_long_pv |
Future long pv. Reference type: |
method |
Method. Reference type: |
cap_evidence |
Cap evidence. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("nl-premium-zero")
result <- do.call(nonlife_premium_volume,
c(case$kwargs, list(context = context)))
result$value
Net claims BE; eligible recoverables must exclude208(2) finite/similar RI.
Description
Net claims BE; eligible recoverables must exclude208(2) finite/similar RI.
Usage
nonlife_reserve_volume(
claims_best_estimate,
eligible_recoverables,
context,
...
)
Arguments
claims_best_estimate |
Claims best estimate. Reference type: |
eligible_recoverables |
Eligible recoverables. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("nl-reserve-zero")
result <- do.call(nonlife_reserve_volume,
c(case$kwargs, list(context = context)))
result$value
Next12month eligible LOB28 earned gross premiums; AnnexIII DIV supplied.
Description
Exclude nonproportional obligations relating to LOB9/21. DIV is based on earned premiums, not the premium/reserve volume measure. Qualification and DIV derivation remain external; the reference is not regulatory approval.
Usage
nonprop_property_cat_loss(
gross_premium,
diversification,
qualification_reference,
context,
...
)
Arguments
gross_premium |
Gross premium. Reference type: |
diversification |
Diversification. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("cat-premium-2027-property-zero")
result <- do.call(nonprop_property_cat_loss,
c(case$kwargs, list(context = context)))
result$value
Load an explicit analyst-override batch
Description
Load an explicit analyst-override batch
Usage
numeric_overrides_from_dict(payload)
load_numeric_overrides_json(path)
Arguments
payload |
Named list with |
path |
Local UTF-8 JSON file; URLs are rejected. |
Details
Paths retain zero-based JSON array indices. Parsing does not change installed data; the selected context validates parameter applicability.
Value
A list of NumericOverride() entries for Context().
Examples
numeric_overrides_from_dict(list(schema_version = 1L, overrides = list()))
Qualified obligation state only, never automatic contract-end derecognition.
Description
A terminated policy can retain claims obligations. The supplied status must concern the specific obligation assessed, and remains externally unverified.
Usage
obligation_derecognition_condition(
obligation_status,
evidence_reference,
context,
...
)
Arguments
obligation_status |
Obligation status. Reference type: |
evidence_reference |
Evidence reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("derecognition-baseline-active")
result <- do.call(obligation_derecognition_condition,
c(case$kwargs, list(context = context)))
result$value
Gross premium/provision calculation; provisions exclude the risk margin.
Description
Gross premium/provision calculation; provisions exclude the risk margin.
Usage
operational_risk(
bscr,
earned_life,
earned_life_ul,
earned_nonlife,
previous_life,
previous_life_ul,
previous_nonlife,
tp_life,
tp_life_ul,
tp_nonlife,
expenses_ul,
context,
...
)
Arguments
bscr |
Bscr. Reference type: |
earned_life |
Earned life. Reference type: |
earned_life_ul |
Earned life ul. Reference type: |
earned_nonlife |
Earned nonlife. Reference type: |
previous_life |
Previous life. Reference type: |
previous_life_ul |
Previous life ul. Reference type: |
previous_nonlife |
Previous nonlife. Reference type: |
tp_life |
Tp life. Reference type: |
tp_life_ul |
Tp life ul. Reference type: |
tp_nonlife |
Tp nonlife. Reference type: |
expenses_ul |
Expenses ul. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("capital-2027-op-zero")
result <- do.call(operational_risk,
c(case$kwargs, list(context = context)))
result$value
Select only additional paragraph1(e) analysis; paragraph1(d) remains.
Description
Group-level analysis is not an automatic exemption: the supervisor must consider it under paragraph9. Approval/request/classification are external.
Usage
orsa_additional_macro_analysis_required_2027(
reasoned_supervisory_request,
small_non_complex,
prior_article29d_approval,
qualification_reference,
context,
...
)
Arguments
reasoned_supervisory_request |
Reasoned supervisory request. Reference type: |
small_non_complex |
Small non complex. Reference type: |
prior_article29d_approval |
Prior article29d approval. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("orsa-macro-true-true-true")
result <- do.call(orsa_additional_macro_analysis_required_2027,
c(case$kwargs, list(context = context)))
result$value
Declared captive eligibility for ORSA frequency, not DR89 simplification.
Description
Permitted insureds/beneficiaries are group legal persons or natural persons eligible under group insurance contracts. Their TP share must be STRICTLY below5%. Qualification of persons/contracts and TP allocation is external.
Usage
orsa_biennial_captive_conditions_2027(
is_captive,
permitted_policyholders,
natural_person_tp_share,
no_compulsory_liability,
qualification_reference,
context,
...
)
Arguments
is_captive |
Is captive. Reference type: |
permitted_policyholders |
Permitted policyholders. Reference type: |
natural_person_tp_share |
Natural person tp share. Reference type: |
no_compulsory_liability |
No compulsory liability. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("orsa-frequency-captive-boundary")
result <- do.call(orsa_biennial_captive_conditions_2027,
c(case$kwargs, list(context = context)))
result$value
Minimum scenario count from externally qualified materiality/SNC status.
Description
Zero exempts no undertaking from the paragraph1 materiality assessment. This is a requirement selector, not a finding that scenarios exist.
Usage
orsa_climate_scenario_requirement_2027(
material_climate_risk,
small_non_complex,
qualification_reference,
context,
...
)
Arguments
material_climate_risk |
Material climate risk. Reference type: |
small_non_complex |
Small non complex. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: count.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("orsa-climate-required-true-true")
result <- do.call(orsa_climate_scenario_requirement_2027,
c(case$kwargs, list(context = context)))
result$value
Check required role metadata and maximum intervals, never model adequacy.
Description
'Significantly above' has no invented numeric cutoff: both >2 degrees and an explicit external qualification are required. Additional scenarios can remain in the external assessment; this input describes the two roles. Intervals are declared years, not dates or an automatic scheduling service.
Usage
orsa_climate_scenario_structure_2027(
scenarios,
impact_analysis_interval_years,
scenario_review_interval_years,
assessment_reference,
context,
...
)
Arguments
scenarios |
Scenarios. Reference type: |
impact_analysis_interval_years |
Impact analysis interval years. Reference type: |
scenario_review_interval_years |
Scenario review interval years. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("orsa-climate-low-boundary")
result <- do.call(orsa_climate_scenario_structure_2027,
c(case$kwargs, list(context = context)))
result$value
Inventory conditional comparisons/recalibration, never calculate a model.
Description
The phase-in flag means a comparison remains required after externally qualified currency exemptions. Its false value is not inferred from missing data. Comparability evidence is technical traceability, not a prescribed projection method or an isolated-scenario requirement.
Usage
orsa_conditional_evidence_check(
adjustments,
uses_internal_model,
evidence,
qualification_reference,
assessment_reference,
context,
...
)
Arguments
adjustments |
Adjustments. Reference type: |
uses_internal_model |
Uses internal model. Reference type: |
evidence |
Evidence. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("orsa-conditional-baseline-ma-missing")
result <- do.call(orsa_conditional_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Inventory explicitly declared core evidence, not adequacy or compliance.
Description
AVAILABLE means the caller supplies a reference; content is not inspected. A value of1 certifies neither ORSA completeness nor a capital requirement. Conditional comparisons, timing, recalibration and climate scenarios remain separate. The 2027 table adds mandatory macro/liquidity/materiality topics.
Usage
orsa_core_evidence_check(evidence, assessment_reference, context, ...)
Arguments
evidence |
Evidence. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("orsa-evidence-baseline-empty")
result <- do.call(orsa_core_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Inventory archived guideline evidence, not content or legal applicability.
Description
Group/entity applicability and conditional needs are externally qualified. Incompatible scope flags are rejected. The future table explicitly excludes archived blanket annual frequency. Future frequency and expanded group scope are handled by separate APIs, not approved by this inventory.
Usage
orsa_guidance_evidence_check(
evidence,
conditions,
qualification_reference,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("orsa-guidance-future-ordinary-empty")
result <- do.call(orsa_guidance_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Maximum periodic interval; an event-triggered ORSA remains immediate.
Description
The reference must cover classifications AND supervisory directions. None declares no additional shorter supervisory interval, not ignorance. No calendar deadline, timely completion or supervisory approval is inferred. A separate29d/327e non-SNC approval can enable the reduced maximum; classification remains false and the approval is not inferred from size.
Usage
orsa_max_assessment_interval_2027(
small_non_complex,
qualifying_captive,
supervisory_interval_years = NULL,
non_snc_approval_reference = NULL,
qualification_reference,
context,
...
)
Arguments
small_non_complex |
Small non complex. Reference type: |
qualifying_captive |
Qualifying captive. Reference type: |
supervisory_interval_years |
Supervisory interval years. Reference type: |
non_snc_approval_reference |
Non snc approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: years.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("orsa-frequency-interval-true-true")
result <- do.call(orsa_max_assessment_interval_2027,
c(case$kwargs, list(context = context)))
result$value
Screen only the Article77a phase-in comparison exemption per currency.
Description
Both denominators are ALL future cashflows. Do not substitute cashflows in this currency for the denominator of the extrapolated-share test. Signed raw cashflows need externally qualified aggregation, not abs/netting guessed by the engine. No exemption for MA, VA or other transition tests.
Usage
orsa_phase_in_currency_exemption_2027(
currency_cashflows,
extrapolated_currency_cashflows,
total_cashflows,
qualification_reference,
context,
...
)
Arguments
currency_cashflows |
Currency cashflows. Reference type: |
extrapolated_currency_cashflows |
Extrapolated currency cashflows. Reference type: |
total_cashflows |
Total cashflows. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("orsa-phase-in-five")
result <- do.call(orsa_phase_in_currency_exemption_2027,
c(case$kwargs, list(context = context)))
result$value
Inventory report content/transmission evidence, not the report itself.
Description
Quantification of non-reflected risks is conditional on externally assessed significance. Future electronic form also requires machine readability and searchable text/figures. No format inspection, filing or deadline approval.
Usage
orsa_report_evidence_check(
evidence,
significant_uncovered_risk_deviation,
qualification_reference,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
significant_uncovered_risk_deviation |
Significant uncovered risk deviation. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("orsa-report-baseline-submission-missing")
result <- do.call(orsa_report_evidence_check,
c(case$kwargs, list(context = context)))
result$value
All five AnnexXII groups, next12month earned gross premiums.
Description
Classify obligations and exclusions externally, including the conditional extended-warranty exclusion in group3. Groups1/2 combine before squaring.
Usage
other_nonlife_cat_loss(group_premiums, classification_reference, context, ...)
Arguments
group_premiums |
Group premiums. Reference type: |
classification_reference |
Classification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("cat-premium-2027-joint")
result <- do.call(other_nonlife_cat_loss,
c(case$kwargs, list(context = context)))
result$value
Compose Article88 amounts before further deductions and eligibility limits.
Description
Excess must still include own shares; using an already adjusted surplus here would double-deduct them. This is not eligible own funds or Tier1.
Usage
own_funds_basic_before_adjustments(
excess_assets_over_liabilities,
subordinated_liabilities,
own_shares,
qualification_reference,
context,
...
)
Arguments
excess_assets_over_liabilities |
Excess assets over liabilities. Reference type: |
subordinated_liabilities |
Subordinated liabilities. Reference type: |
own_shares |
Own shares. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-of-basic-zero")
result <- do.call(own_funds_basic_before_adjustments,
c(case$kwargs, list(context = context)))
result$value
Inventory declared classification evidence, never classify an instrument.
Description
References identify the applicable instrument/subparagraph, justified non-applicability and any approved exception. Periods describe those routes; they are not unconditional maturity tests or permission to repay. Tier1 quality in excess of its cap may follow73(1)(j), not ordinary Tier2 terms. Values for subsequent allocation remain independently qualified inputs.
Usage
own_funds_classification_evidence_check(
evidence,
tier,
own_funds_kind,
unlisted,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
tier |
Tier. Reference type: |
own_funds_kind |
Own funds kind. Reference type: |
unlisted |
Unlisted. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-06",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("of-class-close-baseline-basic-tier1-listed-missing")
result <- do.call(own_funds_classification_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Select a qualified annual payout amount, in the context reporting currency.
Description
Select a qualified annual payout amount, in the context reporting currency.
Usage
own_funds_distribution_policy_amount(
policy_usable,
qualification_reference,
context,
policy_lower = NULL,
policy_upper = NULL,
historical_values = NULL,
public_announcements = NULL,
...
)
Arguments
policy_usable |
Policy usable. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
policy_lower |
Policy lower. Reference type: |
policy_upper |
Policy upper. Reference type: |
historical_values |
Historical values. Reference type: |
public_announcements |
Public announcements. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("distribution-amount-policy")
result <- do.call(own_funds_distribution_policy_amount,
c(case$kwargs, list(context = context)))
result$value
Select a qualified payout ratio; no invented cap at 100 percent.
Description
Select a qualified payout ratio; no invented cap at 100 percent.
Usage
own_funds_distribution_policy_ratio(
policy_usable,
qualification_reference,
context,
policy_lower = NULL,
policy_upper = NULL,
historical_values = NULL,
public_announcements = NULL,
...
)
Arguments
policy_usable |
Policy usable. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
policy_lower |
Policy lower. Reference type: |
policy_upper |
Policy upper. Reference type: |
historical_values |
Historical values. Reference type: |
public_announcements |
Public announcements. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("distribution-ratio-policy-3")
result <- do.call(own_funds_distribution_policy_ratio,
c(case$kwargs, list(context = context)))
result$value
Signed fee-scenario difference for one qualified index/unit-linked scope.
Description
Both input valuations exclude risk margin. No transfer of the premium-only grouping clause to fees, and no automatic addition of fee profit to EPIFP.
Usage
own_funds_expected_future_fee_profit_2027(
with_future_fees,
without_future_fees,
qualification_reference,
context,
...
)
Arguments
with_future_fees |
With future fees. Reference type: |
without_future_fees |
Without future fees. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-profit-future-fee-zero")
result <- do.call(own_funds_expected_future_fee_profit_2027,
c(case$kwargs, list(context = context)))
result$value
Aggregate without-minus-with valuations in externally qualified groups.
Description
Each row has exactly with_future_premiums and without_future_premiums, both WITHOUT risk margin. Historical losses cannot offset other groups; the published 2027 rule requires signed cross-group netting. No invented total zero floor, insurer valuation model or additional own-funds credit.
Usage
own_funds_expected_future_premium_profit(
group_valuations,
qualification_reference,
context,
...
)
Arguments
group_valuations |
Group valuations. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("future-profit-baseline-zero")
result <- do.call(own_funds_expected_future_premium_profit,
c(case$kwargs, list(context = context)))
result$value
Select a remaining own-fund bucket after externally qualified deductions.
Description
All available amounts precede Article68 deductions. The deduction amounts already reflect version-specific exemption/approval decisions. This does not classify instruments, grant exemptions or calculate eligible own funds.
Usage
own_funds_financial_deduction_tier(
tier,
available,
deductions,
qualification_reference,
context,
...
)
Arguments
tier |
Tier. Reference type: |
available |
Available. Reference type: |
deductions |
Deductions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("of-financial-tier-base-7-tier2")
result <- do.call(own_funds_financial_deduction_tier,
c(case$kwargs, list(context = context)))
result$value
Version-specific declared-prerequisite screen, never approval of an exemption.
Description
Unknown necessary facts block the decision. A proved alternative can settle an OR without inventing facts. The 2027 branch separately requires declared actual supervisory permission; evidence remains externally qualified.
Usage
own_funds_financial_exemption_screen(
facts,
qualification_reference,
context,
approval_reference = NULL,
...
)
Arguments
facts |
Facts. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
approval_reference |
Approval reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("of-exemption-base-unknown-alternative")
result <- do.call(own_funds_financial_exemption_screen,
c(case$kwargs, list(context = context)))
result$value
Deduct qualified nonexempt financial participations, with per-holding audit.
Description
Each input is a complete participation, not an arbitrary instrument slice. Article68(3) exemptions and direct/indirect ownership are qualified before calling. SRC-0135 Guideline5 / SRC-0067 paragraph26 require the basis BEFORE Article68 deductions; exemptions are not inherited across versions. Deduction amounts here are not yet allocated to own-funds tiers.
Usage
own_funds_financial_participation_deduction(
participations,
threshold_basis,
qualification_reference,
context,
...
)
Arguments
participations |
Participations. Reference type: |
threshold_basis |
Threshold basis. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("of-financial-zero-basis")
result <- do.call(own_funds_financial_participation_deduction,
c(case$kwargs, list(context = context)))
result$value
Formal amount, or one of two permitted accrual methods before that stage.
Description
Formal decisions/proposals, accounting profit and fiscal-year fraction are qualified externally. No internal profit model or day-count is invented. Fees under Article70(1)(b) are separate, not calculated by this function.
Usage
own_funds_foreseeable_distributions_2027(
method,
qualification_reference,
context,
formal_amount = NULL,
prior_year_distributions = NULL,
payout_ratio = NULL,
cumulative_interim_profit = NULL,
estimated_annual_distribution = NULL,
elapsed_year_fraction = NULL,
...
)
Arguments
method |
Method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
formal_amount |
Formal amount. Reference type: |
prior_year_distributions |
Prior year distributions. Reference type: |
payout_ratio |
Payout ratio. Reference type: |
cumulative_interim_profit |
Cumulative interim profit. Reference type: |
estimated_annual_distribution |
Estimated annual distribution. Reference type: |
elapsed_year_fraction |
Elapsed year fraction. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("distribution-foreseeable-formal0")
result <- do.call(own_funds_foreseeable_distributions_2027,
c(case$kwargs, list(context = context)))
result$value
Validate one proposed full MCR-covering allocation of basic own funds.
Description
Validate one proposed full MCR-covering allocation of basic own funds.
Usage
own_funds_mcr_allocation(
mcr,
basic_tier1,
restricted_tier1,
basic_tier2,
context,
...
)
Arguments
mcr |
Mcr. Reference type: |
basic_tier1 |
Basic tier1. Reference type: |
restricted_tier1 |
Restricted tier1. Reference type: |
basic_tier2 |
Basic tier2. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("of-2027-mcr-limits")
result <- do.call(own_funds_mcr_allocation,
c(case$kwargs, list(context = context)))
result$value
Subtract Article70 items, with explicit financial-participation overlap.
Description
Future-premium expected profit is already in the supplied surplus, not an extra addition. A signed reserve is preserved; no Tier1 eligibility is inferred from this arithmetic. All deduction categories must be supplied.
Usage
own_funds_reconciliation_reserve(
excess_assets_over_liabilities,
deductions,
qualification_reference,
context,
...
)
Arguments
excess_assets_over_liabilities |
Excess assets over liabilities. Reference type: |
deductions |
Deductions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("of-reserve-negative-excess")
result <- do.call(own_funds_reconciliation_reserve,
c(case$kwargs, list(context = context)))
result$value
Deduct restricted surplus, or the full elected immaterial RFF amount.
Description
Restricted funds already exclude future shareholder transfers. Materiality, portfolio classification and notional SCR are externally qualified; no internal model or arbitrary materiality threshold is supplied here.
Usage
own_funds_restricted_deduction(
restricted_own_funds,
portfolio_kind,
immaterial_simplification,
notional_scr = NULL,
qualification_reference,
context,
...
)
Arguments
restricted_own_funds |
Restricted own funds. Reference type: |
portfolio_kind |
Portfolio kind. Reference type: |
immaterial_simplification |
Immaterial simplification. Reference type: |
notional_scr |
Notional scr. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("of-2027-restricted-immaterial")
result <- do.call(own_funds_restricted_deduction,
c(case$kwargs, list(context = context)))
result$value
Validate one proposed full SCR-covering allocation of preclassified tiers.
Description
Validate one proposed full SCR-covering allocation of preclassified tiers.
Usage
own_funds_scr_allocation(
scr,
tier1,
restricted_tier1,
tier2,
tier3,
context,
...
)
Arguments
scr |
Scr. Reference type: |
tier1 |
Tier1. Reference type: |
restricted_tier1 |
Restricted tier1. Reference type: |
tier2 |
Tier2. Reference type: |
tier3 |
Tier3. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("of-scr-exact-half")
result <- do.call(own_funds_scr_allocation,
c(case$kwargs, list(context = context)))
result$value
Art73(4)/77(4) maximum modest one-off step-up, not whole-tier eligibility.
Description
Decimal rate units:100bp=.01. The original-to-stepped-index swap spread is subtracted in BOTH branches; a negative limit is retained, never floored.
Usage
own_funds_step_up_limit(
original_credit_spread,
swap_spread,
tier,
one_off_coupon_increase_with_call_option,
qualification_reference,
context,
...
)
Arguments
original_credit_spread |
Original credit spread. Reference type: |
swap_spread |
Swap spread. Reference type: |
tier |
Tier. Reference type: |
one_off_coupon_increase_with_call_option |
One off coupon increase with call option. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("final-numeric-baseline-step-tier2-negative-limit")
result <- do.call(own_funds_step_up_limit,
c(case$kwargs, list(context = context)))
result$value
Article71(8) event screen, NOT write-down/conversion or Tier1 eligibility.
Description
Use distinct SCR/MCR eligible funds. Equality at either threshold triggers. The three-month non-restoration history and any additional contractual event are externally established; a current recovery does not erase a past event. Article71(10) waiver may affect execution, never the fact of the event.
Usage
own_funds_tier1_loss_absorption_trigger(
eligible_scr_own_funds,
scr,
eligible_mcr_own_funds,
mcr,
scr_not_restored_within_period,
additional_contractual_trigger,
qualification_reference,
context,
...
)
Arguments
eligible_scr_own_funds |
Eligible scr own funds. Reference type: |
scr |
Scr. Reference type: |
eligible_mcr_own_funds |
Eligible mcr own funds. Reference type: |
mcr |
Mcr. Reference type: |
scr_not_restored_within_period |
Scr not restored within period. Reference type: |
additional_contractual_trigger |
Additional contractual trigger. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("tier1-trigger-baseline-decidable-or")
result <- do.call(own_funds_tier1_loss_absorption_trigger,
c(case$kwargs, list(context = context)))
result$value
Select statutory execution requirements; no instrument amount or booking.
Description
a/b requires full absorption. c permits partial restoration or at-least-linear absorption, unless the narrowly qualified supervisory exception is declared. Contract-only additional triggers have no universal execution rule here.
Usage
own_funds_tier1_mechanism_requirements(
eligible_scr_own_funds,
scr,
eligible_mcr_own_funds,
mcr,
scr_not_restored_within_period,
additional_contractual_trigger,
mechanism,
partial_restoration_sufficient,
qualification_reference,
context,
waiver_conditions = NULL,
waiver_reference = NULL,
...
)
Arguments
eligible_scr_own_funds |
Eligible scr own funds. Reference type: |
scr |
Scr. Reference type: |
eligible_mcr_own_funds |
Eligible mcr own funds. Reference type: |
mcr |
Mcr. Reference type: |
scr_not_restored_within_period |
Scr not restored within period. Reference type: |
additional_contractual_trigger |
Additional contractual trigger. Reference type: |
mechanism |
Mechanism. Reference type: |
partial_restoration_sufficient |
Partial restoration sufficient. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
waiver_conditions |
Waiver conditions. Reference type: |
waiver_reference |
Waiver reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("tier1-mechanism-baseline-write_down-partial")
result <- do.call(own_funds_tier1_mechanism_requirements,
c(case$kwargs, list(context = context)))
result$value
Parameter value and its regulatory provenance
Description
Parameter value and its regulatory provenance
Usage
parameter(parameter_id, context)
Arguments
parameter_id |
A slash-separated identifier, for example
|
context |
An explicit |
Details
scalars, matrices and tables use the selected profile.
Catastrophe categories also expose matrices, regions, weights, links,
postcode groups, raw geography and administrative mappings. All
parameters are returned by value; edits do not change the installed package.
Value
Named list with profile identifier/hash, value or table, regulatory sources and applicable numeric override audit.
See Also
Examples
ctx <- Context("2025-01-17", "2026-09-23", "EUR",
"EU-S2-DOCUMENTS-2024-2025-v0.1")
parameter("scalars/intangible", context = ctx)$value
parameter("matrices/health_nslt", context = ctx)$labels
Annex XVIII techniques1-5, with recursive4/5 and certified external2.
Description
Model charges and scalar module inputs are externally qualified. Nested inputs use the same technique, with no intangible charge below the outermost BSCR. Technique2 verifies a PSD dual certificate of constrained maximisation; it does not develop or run an insurer model or an optimisation solver.
Usage
partial_model_bscr(
technique,
inputs,
intangible_charge,
qualification_reference,
context,
...
)
Arguments
technique |
Technique. Reference type: |
inputs |
Inputs. Reference type: |
intangible_charge |
Intangible charge. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("partial-integration-baseline-3")
result <- do.call(partial_model_bscr,
c(case$kwargs, list(context = context)))
result$value
Validate explicit zero-treatment allocation, not guarantee pricing or capital.
Description
Nominal first-loss coverage and the externally determined guarantee value are distinct inputs. Pool allocation is chosen by the analyst, never here. Article215(f) payment coverage remains part of external qualification.
Usage
partial_public_guarantee_zero_amount_2027(
positions,
category,
first_loss_cover,
guarantee_value,
conditions,
qualification_reference,
allocation_reference,
context,
...
)
Arguments
positions |
Positions. Reference type: |
category |
Category. Reference type: |
first_loss_cover |
First loss cover. Reference type: |
guarantee_value |
Guarantee value. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
allocation_reference |
Allocation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("partial-public-guarantee-single")
result <- do.call(partial_public_guarantee_zero_amount_2027,
c(case$kwargs, list(context = context)))
result$value
Sum one selected net premium PV component, without long-term weighting.
Description
Month coordinates encode externally qualified calendar boundaries. Premium rows must be split at relevant earning cutoffs; payment time is not earning time. Input PVs already include expectations, eligible netting and discounting. The downstream premium-volume APIs apply the30% long-contract factor once.
Usage
premium_future_component(
contracts,
component,
qualification_reference,
context,
...
)
Arguments
contracts |
Contracts. Reference type: |
component |
Component. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("premium-future-baseline-empty-future_long_pv")
result <- do.call(premium_future_component,
c(case$kwargs, list(context = context)))
result$value
Return signed net premiums, not recoverables, total volume or capital.
Description
All values refer to the same externally qualified earning/PV/currency basis. Unknown qualifications cannot silently become either deductions or exclusions. Excluded amounts are retained by row, not interpreted as zero contracts. finite_reinsurance_ids declares finite AND economically similar transfers; the default empty sequence explicitly qualifies all rows as non-finite.
Usage
premium_net_of_reinsurance(
gross_premium,
reinsurance_premiums,
qualification_reference,
finite_reinsurance_ids = list(),
context,
...
)
Arguments
gross_premium |
Gross premium. Reference type: |
reinsurance_premiums |
Reinsurance premiums. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
finite_reinsurance_ids |
Finite reinsurance ids. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("premium-netting-baseline-empty")
result <- do.call(premium_net_of_reinsurance,
c(case$kwargs, list(context = context)))
result$value
Geographic factor from already classified volumes, including mandatory exceptions.
Description
Regional maxima/floors must be calculated regionally: their sum need not equal the separately calculated segment volume used by the risk function. This function does not classify countries or validate USP authorisation.
Usage
premium_reserve_diversification(
risk_type,
segment,
method,
uses_usp,
regional_volumes = NULL,
context,
...
)
Arguments
risk_type |
Risk type. Reference type: |
segment |
Segment. Reference type: |
method |
Method. Reference type: |
uses_usp |
Uses usp. Reference type: |
regional_volumes |
Regional volumes. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("geo-div-explicit-default")
result <- do.call(premium_reserve_diversification,
c(case$kwargs, list(context = context)))
result$value
Return the macroregion for an explicitly qualified original territory name.
Description
No translations/current-name aliases or sovereign-to-overseas shortcuts are inferred. For a parent country, its printed exclusions must already have been excluded from the caller's risk-location input; they remain in audit. This lookup neither identifies a NatCat zone nor calculates regional volumes.
Usage
premium_reserve_geographic_region(
territory,
risk_location_reference,
context,
...
)
Arguments
territory |
Territory. Reference type: |
risk_location_reference |
Risk location reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: region_ordinal.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("macroregion-baseline-territory-054")
result <- do.call(premium_reserve_geographic_region,
c(case$kwargs, list(context = context)))
result$value
Aggregate supplied effective sigmas, without repeating NP/ADC adjustments.
Description
Parameter admissibility, USP approval, HRES determination and sequencing are external. Each row declares whether AnnexIII's USP-sigma restriction applies; the engine enforces that numeric restriction, not its truth. All12 nonlife or4 health-NSLT segments must be explicit, even when empty. Existing standard-parameter APIs remain the default automatic selectors.
Usage
premium_reserve_parameterised_risk(
risk_type,
segments,
parameter_reference,
context,
...
)
Arguments
risk_type |
Risk type. Reference type: |
segments |
Segments. Reference type: |
parameter_reference |
Parameter reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("parameterised-pr-baseline-health_nslt-usp")
result <- do.call(premium_reserve_parameterised_risk,
c(case$kwargs, list(context = context)))
result$value
Nonlife sigma aggregation with explicit2027 reinsurance/USP qualification.
Description
Future premium80% factors require a declared existing nonproportional cover in segments1/4/5. Reserve factors are supplied separately; no absence of ADC is inferred from missing input. Historical callers keep the original API.
Usage
premium_reserve_risk(
segments,
premium_nonproportional_cover = NULL,
reserve_adjustments = NULL,
adjustment_reference = NULL,
uses_usp = NULL,
context,
...
)
Arguments
segments |
Segments. Reference type: |
premium_nonproportional_cover |
Premium nonproportional cover. Reference type: |
reserve_adjustments |
Reserve adjustments. Reference type: |
adjustment_reference |
Adjustment reference. Reference type: |
uses_usp |
Uses usp. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("nl-segment-one")
result <- do.call(premium_reserve_risk,
c(case$kwargs, list(context = context)))
result$value
Structured calculation result and provenance
Description
Structured calculation result and provenance
Usage
## S3 method for class 'Result'
print(x, ...)
Result(
value,
unit,
formula_id,
sources,
context,
input_hash,
profile_hash,
details,
status = "REFERENCE_COMPONENT"
)
Arguments
x |
A result to print. |
... |
Additional printing arguments (currently unused). |
value |
Calculated numeric value. |
unit |
Explicit value unit. |
formula_id |
Formula identifier. |
sources |
Source-reference list. |
context |
Explicit |
input_hash, profile_hash |
Reproducible R input and profile fingerprints. |
details |
Formula-specific trace and qualification metadata. |
status |
Component/scenario status; default |
Value
An ordinary R list with S3 class Result. Construction itself does not
validate or approve an external calculation. Use the formula APIs to calculate.
Examples
ctx <- Context("2025-01-17", "2026-09-23", "EUR",
"EU-S2-DOCUMENTS-2024-2025-v0.1")
intangible_risk(100, context = ctx)
Stress an externally identified property asset, not total BOF or property SCR.
Description
Stress an externally identified property asset, not total BOF or property SCR.
Usage
property_value_stress(property_value, valuation_reference, context, ...)
Arguments
property_value |
Property value. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("property-value-0")
result <- do.call(property_value_stress,
c(case$kwargs, list(context = context)))
result$value
Application/notification inventory, separate from annual size screens.
Description
The qualification reference identifies the actual measure, classification, specific approval/conditions or pre-existing2025 transitional entitlement. Metadata exposes authority periods without calculating a decision deadline or manufacturing approval through silence. Fiscal-year counting is external.
Usage
proportionality_application_evidence_2027(
evidence,
route,
measure_list_changed,
measure_ceased,
supervisory_restriction,
qualification_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
route |
Route. Reference type: |
measure_list_changed |
Measure list changed. Reference type: |
measure_ceased |
Measure ceased. Reference type: |
supervisory_restriction |
Supervisory restriction. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-close-prop-snc-missing")
result <- do.call(proportionality_application_evidence_2027,
c(case$kwargs, list(context = context)))
result$value
BE_det + loading*SCR, with default5% or externally demonstrated loading.
Description
The insurer supplies BE, SCR, scenario-based time value and the Article34a(3) SCR/LAC-TP treatment. No stress valuation or circular SCR solver is invented. Negative deterministic/net BE is preserved; no unsupported100% loading cap.
Usage
prudent_deterministic_best_estimate_2027(
deterministic_best_estimate,
time_value_options,
undertaking_scr,
conditions,
route,
scenario_reference,
qualification_reference,
alternative_loading = NULL,
alternative_loading_demonstrated = NULL,
alternative_loading_reference = NULL,
context,
approval_evidence = NULL,
...
)
Arguments
deterministic_best_estimate |
Deterministic best estimate. Reference type: |
time_value_options |
Time value options. Reference type: |
undertaking_scr |
Undertaking scr. Reference type: |
conditions |
Conditions. Reference type: |
route |
Route. Reference type: |
scenario_reference |
Scenario reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
alternative_loading |
Alternative loading. Reference type: |
alternative_loading_demonstrated |
Alternative loading demonstrated. Reference type: |
alternative_loading_reference |
Alternative loading reference. Reference type: |
context |
Explicit |
approval_evidence |
Approval evidence. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("prudent-snc-negative-be")
result <- do.call(prudent_deterministic_best_estimate_2027,
c(case$kwargs, list(context = context)))
result$value
Strict5% time-value screen plus externally qualified route conditions.
Description
SNC requires written method intention; non-SNC requires existing approval and current conditions instead. This never grants supervisory approval or computes option time value from an invented scenario set.
Usage
prudent_deterministic_eligibility_2027(
time_value_options,
undertaking_scr,
conditions,
route,
scenario_reference,
qualification_reference,
context,
approval_evidence = NULL,
...
)
Arguments
time_value_options |
Time value options. Reference type: |
undertaking_scr |
Undertaking scr. Reference type: |
conditions |
Conditions. Reference type: |
route |
Route. Reference type: |
scenario_reference |
Scenario reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
approval_evidence |
Approval evidence. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("prudent-snc-boundary")
result <- do.call(prudent_deterministic_eligibility_2027,
c(case$kwargs, list(context = context)))
result$value
Only Article327f size/market conditions, NOT supervisory approval.
Description
Use EUR inputs for the absolute threshold. Market shares require the proper home-state denominators: life gross TP versus nonlife gross written premiums. Pure nonlife undertakings do not automatically face the life-size cap; mixed undertakings do only at or above20% life gross TP. Any waiver is an explicit external supervisory finding under paragraph3, never inferred here.
Usage
prudent_deterministic_non_snc_size_screen_2027(
undertaking_type,
life_gross_technical_provisions,
total_gross_technical_provisions,
market_shares,
size_exception_approved,
classification_reference,
context,
...
)
Arguments
undertaking_type |
Undertaking type. Reference type: |
life_gross_technical_provisions |
Life gross technical provisions. Reference type: |
total_gross_technical_provisions |
Total gross technical provisions. Reference type: |
market_shares |
Market shares. Reference type: |
size_exception_approved |
Size exception approved. Reference type: |
classification_reference |
Classification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("prudent-size-waived")
result <- do.call(prudent_deterministic_non_snc_size_screen_2027,
c(case$kwargs, list(context = context)))
result$value
Article215a equivalence gate, not guarantee valuation or zero capital.
Description
Only the directness requirement is waived for the counter-guarantee; original guarantee requirements and all other counter-guarantee conditions remain. Any downstream Article180/192 treatment needs its own scope checks.
Usage
public_counter_guarantee_conditions_2027(
conditions,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-close-counter-all")
result <- do.call(public_counter_guarantee_conditions_2027,
c(case$kwargs, list(context = context)))
result$value
Shared public-factor rule; Art180 debt scope and Art187 scope remain distinct.
Description
Public-body/list classification and underlying guarantee assessment are external evidence, not conclusions drawn from these supplied booleans. The future-only308b(12) category concerns the position's inception, not merely the security's issue date; it does not extend public guarantees.
Usage
public_exposure_zero_factor(
category,
conditions,
qualification_reference,
context,
...
)
Arguments
category |
Category. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-public-zero-ecb")
result <- do.call(public_exposure_zero_factor,
c(case$kwargs, list(context = context)))
result$value
A single reference case by identifier
Description
A single reference case by identifier
Usage
reference_case(id)
Arguments
id |
Exact reference-case identifier from |
Value
The selected case, including its inputs, context changes and expected
outcome. An unknown identifier raises a structured MISSING_INPUT condition.
See Also
Examples
id <- reference_cases()$cases[[1]]$id
identical(reference_case(id)$id, id)
Independent synthetic calculation references
Description
Independent synthetic calculation references
Usage
reference_cases()
Details
Regulatory constants are not synthetic; example portfolios and market inputs are. Accessing references does not run calculations.
Value
A list with the fixed cases, including inputs, independently
specified expected values or error codes, and derivation notes.
See Also
reference_portfolios(), reference_case()
Examples
# Select by function when looking for an example:
cases <- reference_cases()$cases
head(vapply(cases, function(x) x$id, character(1)))
Additional synthetic reporting reference datasets
Description
Additional synthetic reporting reference datasets
Usage
reference_datasets()
reference_dataset(name)
Arguments
name |
Exact dataset filename from |
Value
reference_datasets() returns dataset names. reference_dataset()
returns the selected hash-verified dataset as a list.
Examples
reference_datasets()
names(reference_dataset(reference_datasets()[[1]]))
Synthetic integration portfolios
Description
Synthetic integration portfolios
Usage
reference_portfolios()
Value
A list containing named dependency nodes, explicit contexts and independently specified expected values for the reference portfolios.
See Also
reference_cases(), rule_profiles()
Examples
length(reference_portfolios()$portfolios)
Select declared RSR periodicity without waiving other reporting duties.
Description
None explicitly declares no additional supervisory decision. Classification and authenticity of instructions/approval remain external qualifications. non_snc_approval_reference enables the separately approved29d/327b route; a size-screen result is never substituted for this supervisory decision.
Usage
regular_supervisory_report_interval(
small_non_complex,
supervisory_interval_years = NULL,
supervisory_reference = NULL,
non_snc_approval_reference = NULL,
scope = "solo",
qualification_reference,
context,
...
)
Arguments
small_non_complex |
Small non complex. Reference type: |
supervisory_interval_years |
Supervisory interval years. Reference type: |
supervisory_reference |
Supervisory reference. Reference type: |
non_snc_approval_reference |
Non snc approval reference. Reference type: |
scope |
Scope. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: years.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-close-baseline-rsr-default")
result <- do.call(regular_supervisory_report_interval,
c(case$kwargs, list(context = context)))
result$value
Original EUR base times HICP change since31Dec2015, rounded upward.
Description
Review schedule, Eurostat aggregate, original base and last publication are qualified inputs. The output is a calculated proposal; it never changes the existing ruleset's MCR/scope parameters or asserts national adoption.
Usage
regulatory_euro_amount_indexation(
base_amount,
last_published_amount,
cumulative_inflation,
inflation_since_last_adjustment,
review_due,
qualification_reference,
context,
...
)
Arguments
base_amount |
Base amount. Reference type: |
last_published_amount |
Last published amount. Reference type: |
cumulative_inflation |
Cumulative inflation. Reference type: |
inflation_since_last_adjustment |
Inflation since last adjustment. Reference type: |
review_due |
Review due. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: EUR.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("group-close-baseline-index-exact-grid")
result <- do.call(regulatory_euro_amount_indexation,
c(case$kwargs, list(context = context)))
result$value
Subtract the separately calculated EXPECTED default adjustment exactly once.
Description
Values must already share counterparty/LoB/contract/provision scope, date, currency and qualified valuation basis. This does not compute PD, reapply an LGD floor, net gross TP, or choose a deposit/SPV-cap ordering. A signed negative result is not automatically a recognised asset.
Usage
reinsurance_adjusted_recoverable(
recoverables_before_default,
expected_default_adjustment,
reconciliation_reference,
context,
...
)
Arguments
recoverables_before_default |
Recoverables before default. Reference type: |
expected_default_adjustment |
Expected default adjustment. Reference type: |
reconciliation_reference |
Reconciliation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("ri-reconciliation-baseline-zero")
result <- do.call(reinsurance_adjusted_recoverable,
c(case$kwargs, list(context = context)))
result$value
Prescribed211 eligibility/haircut; not PD, LGD or recoverable valuation.
Description
Coverage is SCR/local-equivalent solvency coverage for the insurer route, or assets/equivalent eligible amount divided by aggregate maximum SPV exposure. Solvency dates, equivalence, legal status and credible restoration evidence are external. Months are completed regulatory calendar periods; at the expiry of6/3months an unresolved shortfall receives zero recognition. Non-equivalent insurers use the separate CQS route, not an invented SCR.
Usage
reinsurance_counterparty_recognition_factor(
counterparty_type,
coverage_ratio,
conditions,
months_since_breach = NULL,
credit_quality_step = NULL,
qualification_reference,
context,
...
)
Arguments
counterparty_type |
Counterparty type. Reference type: |
coverage_ratio |
Coverage ratio. Reference type: |
conditions |
Conditions. Reference type: |
months_since_breach |
Months since breach. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("counterparty-close-baseline-spv-two")
result <- do.call(reinsurance_counterparty_recognition_factor,
c(case$kwargs, list(context = context)))
result$value
PV of already probability-weighted shortfalls; positive result is a deduction.
Description
Payment-date differences may be negative (e.g. delayed receipts), but a negative total needs review. Default times, PD, litigation and collateral effects must already be in the external projection: never multiply PD twice.
Usage
reinsurance_default_adjustment(
cashflows,
partition,
runoff_complete,
projection_reference,
curve_reference,
noncollateral_mitigation_included,
context,
separate_noncollateral_mitigation = NULL,
...
)
Arguments
cashflows |
Cashflows. Reference type: |
partition |
Partition. Reference type: |
runoff_complete |
Runoff complete. Reference type: |
projection_reference |
Projection reference. Reference type: |
curve_reference |
Curve reference. Reference type: |
noncollateral_mitigation_included |
Noncollateral mitigation included. Reference type: |
context |
Explicit |
separate_noncollateral_mitigation |
Separate noncollateral mitigation. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-ri-adjustment-zero")
result <- do.call(reinsurance_default_adjustment,
c(case$kwargs, list(context = context)))
result$value
Apply the loss-given-default floor or an explicitly evidenced alternative.
Description
The minimum is not a point estimate and is not a probability of default. This result must not be used as the full expected default adjustment: its timing, probabilities and segmentation require a separate calculation.
Usage
reinsurance_default_loss(
recoverables_before_adjustment,
estimated_loss,
method,
valuation_reference = NULL,
context,
...
)
Arguments
recoverables_before_adjustment |
Recoverables before adjustment. Reference type: |
estimated_loss |
Estimated loss. Reference type: |
method |
Method. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-ri-loss-zero")
result <- do.call(reinsurance_default_loss,
c(case$kwargs, list(context = context)))
result$value
Allocate already eligible payments using their external gross-claims linkage.
Description
False means premium only after prior eligibility under Article 41: it is not permission to include settled claims, unrelated payments or deposits. Call separately for each date and homogeneous counterparty/LoB/type slice.
Usage
reinsurance_nonlife_allocation(
payments,
target_provision,
eligibility_reference,
context,
...
)
Arguments
payments |
Payments. Reference type: |
target_provision |
Target provision. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-ri-allocation-zero")
result <- do.call(reinsurance_nonlife_allocation,
c(case$kwargs, list(context = context)))
result$value
Discount externally selected expected recoveries at their own payment dates.
Description
Signed values remain signed. No gross-claim date substitution, default adjustment, SPV cap or claim/deposit qualification is performed implicitly.
Usage
reinsurance_recoverable_cashflows(
cashflows,
partition,
runoff_complete,
projection_reference,
curve_reference,
context,
...
)
Arguments
cashflows |
Cashflows. Reference type: |
partition |
Partition. Reference type: |
runoff_complete |
Runoff complete. Reference type: |
projection_reference |
Projection reference. Reference type: |
curve_reference |
Curve reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-ri-cashflow-zero")
result <- do.call(reinsurance_recoverable_cashflows,
c(case$kwargs, list(context = context)))
result$value
Article57 signed gross-minus-net difference BEFORE expected default loss.
Description
The externally qualified net BE is based on homogeneous groups, each with at most one treaty/SPV unless homogeneous risks are transferred. Both BEs share scope/date/basis. Neither supplied BE includes the counterparty loss adjustment; apply the separate default-adjustment component afterwards.
Usage
reinsurance_recoverables_from_net(
gross_best_estimate,
unadjusted_net_best_estimate,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
gross_best_estimate |
Gross best estimate. Reference type: |
unadjusted_net_best_estimate |
Unadjusted net best estimate. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-06",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("net-recovery-close-baseline-zero")
result <- do.call(reinsurance_recoverables_from_net,
c(case$kwargs, list(context = context)))
result$value
Market-value arithmetic with mandatory exclusions, not replication approval.
Description
Features concern the selected cashflows. References to all-scenario and market evidence are retained but their substantive adequacy is external.
Usage
replicated_cashflow_value(
market_values,
cashflow_features,
replication_reference = NULL,
market_reference = NULL,
context,
...
)
Arguments
market_values |
Market values. Reference type: |
cashflow_features |
Cashflow features. Reference type: |
replication_reference |
Replication reference. Reference type: |
market_reference |
Market reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-replication-zero-value")
result <- do.call(replicated_cashflow_value,
c(case$kwargs, list(context = context)))
result$value
Check an archived rule on explicitly bound facts
Description
Check an archived rule on explicitly bound facts
Usage
reporting_bound_rule_check(
validation_code,
bindings,
technical_version,
binding_reference
)
Arguments
validation_code |
Exact archived validation rule code. |
bindings |
Named list keyed by source variable IDs. Supply tagged scalar
facts, or |
technical_version |
Explicit archived technical release. |
binding_reference |
Nonempty external fact-selection/entity/period/unit qualification reference. It is recorded, not approved by this function. |
Details
Missing facts are not zero. Every syntactic variable must be supplied, including inactive branches. Supported local filters are applied; unsupported global filters, joins and scopes fail explicitly. No full report is certified.
Value
Boolean component result with selector, source and input provenance.
Examples
bindings <- list(v1 = list(value = 1000, decimals = 0),
v2 = list(values = list(list(value = 1000, decimals = 0))))
reporting_bound_rule_check("BV1053-1", bindings, "2.10.0", "synthetic-example")$value
Declared Article35a(3) eligibility only for subannual itemised reporting.
Description
Policyholder/beneficiary scope and underlying reinsurance contracts must already be qualified. Neither ORSA eligibility nor a general waiver is inferred.
Usage
reporting_captive_itemised_exemption_2027(
is_captive,
permitted_policyholders,
natural_person_tp_share,
no_compulsory_liability,
reporting_interval_years,
qualification_reference,
context,
...
)
Arguments
is_captive |
Is captive. Reference type: |
permitted_policyholders |
Permitted policyholders. Reference type: |
natural_person_tp_share |
Natural person tp share. Reference type: |
no_compulsory_liability |
No compulsory liability. Reference type: |
reporting_interval_years |
Reporting interval years. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("reporting-captive-natural_person_tp_share-0")
result <- do.call(reporting_captive_itemised_exemption_2027,
c(case$kwargs, list(context = context)))
result$value
Archived reporting definitions for an explicit technical release
Description
Archived reporting definitions for an explicit technical release
Usage
reporting_catalog(technical_version)
Arguments
technical_version |
One of |
Details
These are definition lookups, not filing obligations, validation results or automatic taxonomy selection. Baseline and hotfix may share URIs.
Value
Catalogue of modules, templates, tables and source-bound resources.
Examples
names(reporting_catalog("2.10.0")$tables)[1:3]
Check a rule against explicit closed-table cell facts
Description
Check a rule against explicit closed-table cell facts
Usage
reporting_closed_rule_check(
validation_code,
facts,
technical_version,
fact_context,
binding_reference
)
Arguments
validation_code |
Exact archived validation code. |
facts |
Ordered list of explicit cell/context and tagged fact records. |
technical_version |
Explicit archived technical release. |
fact_context |
Named list containing explicit |
binding_reference |
External qualification reference. |
Details
No XBRL import, automatic filing obligation, open-table expansion or full-report approval is performed.
Value
Component check with cell bindings and source provenance; scoped rules include the individual coordinate checks. Missing cells never default to zero.
Examples
cases <- reference_dataset("reference_reporting_scope_cases.json")$cases
case <- cases[[1]]
reporting_closed_rule_check(case$validation_code, case$facts,
case$technical_version, case$fact_context, case$binding_reference)$value
Load one reporting definition category
Description
Load one reporting definition category
Usage
reporting_data(category, technical_version)
Arguments
category |
|
technical_version |
Explicit archived technical release. |
Details
IsEnabled and IncludeInXBRL are archived definitions, not current
supervisory activation decisions. Only the selected category is decompressed.
Value
Hash-verified data preserving raw DPM field names and flags.
Examples
names(reporting_data("structure", "2.10.0")$tables)
Assemble an offline XBRL draft from explicit DPM cell facts
Description
Assemble an offline XBRL draft from explicit DPM cell facts
Usage
reporting_instance(
facts,
technical_version,
module,
entity,
instant,
indicators,
qualification_reference,
validation_codes = NULL,
filing_overrides = list()
)
Arguments
facts |
Ordered list of records containing |
technical_version |
Explicit archived technical release. |
module |
Exact reporting module code. |
entity |
Named list with explicit |
instant |
Canonical ISO reporting instant, |
indicators |
Named list of explicit Boolean filing indicators. |
qualification_reference |
External reporting-scope qualification reference. |
validation_codes |
Optional ordered rule-code list, or |
filing_overrides |
List of explicit |
Details
This returns DRAFT_XBRL_INSTANCE, never submission approval. It makes
no network request, writes no files, invents no facts, and performs no rounding.
Native R serialization is deterministic; XML hashes bind the returned bytes,
not another language's serializer. XML schema validation remains separate.
Value
XML text and SHA-256, cell reconciliation, selected rule checks, currency and precision findings, override audit and outstanding validation obligations.
Examples
names(reference_dataset("reference_reporting_portfolios.json"))
Check an explicit fact against an archived DPM metric
Description
Check an explicit fact against an archived DPM metric
Usage
reporting_metric_value_check(metric_code, fact, technical_version)
Arguments
metric_code |
Exact DPM metric MemberCode, preserving case. |
fact |
Tagged atom: |
technical_version |
Explicit archived technical release. |
Value
Datatype and, where prescribed, enumeration-membership result with metric definition and provenance. This is not XML or full-report validation.
Examples
cases <- reference_dataset("reference_reporting_metric_cases.json")$cases
names(cases[[1]])
Evaluate an archived filing-indicator precondition
Description
Evaluate an archived filing-indicator precondition
Usage
reporting_rule_precondition(
validation_code,
indicators,
technical_version,
module
)
Arguments
validation_code |
Exact archived rule code. |
indicators |
Named list of explicit logical declarations for all referenced
template indicators. Missing declarations do not mean |
technical_version |
Explicit archived technical release. |
module |
Exact archived module code. |
Details
This evaluates only the archived Boolean indicator condition, not legal applicability, current activation or the reported numeric facts.
Value
Boolean precondition result plus archived source hashes and limits.
Examples
# Use explicit declarations from a qualified reporting input set.
names(reporting_catalog("2.8.2")$modules)[1:3]
Definitions and axes for one reporting table
Description
Definitions and axes for one reporting table
Usage
reporting_table(table_code, technical_version)
Arguments
table_code |
Exact table code in the selected catalogue. |
technical_version |
Explicit archived technical release. |
Value
Table, cells, axes, ordinates, positions, categorisations and open-axis restrictions. Open axes are not expanded and shaded cells are not zero inputs.
Examples
code <- names(reporting_catalog("2.10.0")$tables)[[1]]
reporting_table(code, "2.10.0")$status
Archived module-specific validation status
Description
Archived module-specific validation status
Usage
reporting_validation_status(validation_code, technical_version, module)
Arguments
validation_code |
Exact archived rule code. |
technical_version |
Explicit archived technical release. |
module |
Exact archived module code, for example |
Details
This is not a current supervisory clearance or an activation history. Non-XBRL checks are not automatically inactive. No online lookup occurs.
Value
Source rows, snapshot date, severity, implementation channel and
activation evidence. Ambiguous or conflicting evidence is REVIEW_REQUIRED.
Examples
reporting_validation_status("BV1053-1", "2.8.2", "ars")$reason
One portfolio's nonnegative charge under the COMMON worst net scenario.
Description
Nested losses are portfolio -> scenario -> signed BOF loss, already adjusted for217(5) profit participation. A gain is negative and offsets losses when selecting the whole-undertaking scenario, never after independent choices. net includes qualified FDB absorption; gross and net retain the same scenario.
Usage
restricted_portfolio_scenario_charge(
portfolio_kinds,
gross_losses,
net_losses,
target_portfolio,
article217_scope_confirmed,
qualification_reference,
context,
view = "gross",
tie_break = NULL,
...
)
Arguments
portfolio_kinds |
Portfolio kinds. Reference type: |
gross_losses |
Gross losses. Reference type: |
net_losses |
Net losses. Reference type: |
target_portfolio |
Target portfolio. Reference type: |
article217_scope_confirmed |
Article217 scope confirmed. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
view |
View. Reference type: |
tie_break |
Tie break. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("restricted-portfolio-baseline-common")
result <- do.call(restricted_portfolio_scenario_charge,
c(case$kwargs, list(context = context)))
result$value
Sum complete qualified notional SCRs, including remainder; no diversification.
Description
Sum complete qualified notional SCRs, including remainder; no diversification.
Usage
restricted_portfolio_scr_sum(
notional_scr,
portfolio_kinds,
article217_scope_confirmed,
qualification_reference,
context,
...
)
Arguments
notional_scr |
Notional scr. Reference type: |
portfolio_kinds |
Portfolio kinds. Reference type: |
article217_scope_confirmed |
Article217 scope confirmed. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("restricted-portfolio-baseline-zero")
result <- do.call(restricted_portfolio_scr_sum,
c(case$kwargs, list(context = context)))
result$value
Read the default probability, NOT the similarly named PD credit spread.
Description
Read the default probability, NOT the similarly named PD credit spread.
Usage
rfr_archived_corporate_pd(
series_id,
sector,
maturity_years,
credit_quality_step,
qualification_reference,
context,
market_data = NULL,
...
)
Arguments
series_id |
Series id. Reference type: |
sector |
Sector. Reference type: |
maturity_years |
Maturity years. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
market_data |
Market data. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-31",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("synthetic-market-pd-financial")
result <- do.call(rfr_archived_corporate_pd,
c(case$kwargs, list(context = context)))
result$value
Read published PD/FS/downgrade spreads, converting percent to decimal rates.
Description
Exact published tenors only: no interpolation or automatic extension beyond year 30. Classification and applicability remain externally qualified.
Usage
rfr_archived_corporate_spread(
series_id,
sector,
maturity_years,
credit_quality_step,
table,
qualification_reference,
context,
market_data = NULL,
...
)
Arguments
series_id |
Series id. Reference type: |
sector |
Sector. Reference type: |
maturity_years |
Maturity years. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
table |
Table. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
market_data |
Market data. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-31",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("synthetic-market-pd_spread-financial")
result <- do.call(rfr_archived_corporate_spread,
c(case$kwargs, list(context = context)))
result$value
Read a published government LTAS/FS parameter and convert percent to decimal.
Description
Country is the published parameter axis, including the EUR aggregate; it is not a currency inference or automatic asset classification. Do not transfer spot-curve currency metadata blocks to this distinct government-table axis.
Usage
rfr_archived_government_spread(
country_id,
maturity_years,
table,
qualification_reference,
context,
market_data = NULL,
...
)
Arguments
country_id |
Country id. Reference type: |
maturity_years |
Maturity years. Reference type: |
table |
Table. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
market_data |
Market data. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-31",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("synthetic-market-government-ltas")
result <- do.call(rfr_archived_government_spread,
c(case$kwargs, list(context = context)))
result$value
Read supplemental LTAS cells with explicit original row identifiers.
Description
Corporate, country-relative basic-RFR and named-index axes are different; none is automatically assigned from context currency. The specific index scalar has no maturity axis. Qualification remains external.
Usage
rfr_archived_ltas(
table,
series_id,
maturity_years = NULL,
qualification_reference,
context,
market_data = NULL,
...
)
Arguments
table |
Table. Reference type: |
series_id |
Series id. Reference type: |
maturity_years |
Maturity years. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
market_data |
Market data. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-31",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("synthetic-market-specific_ltas")
result <- do.call(rfr_archived_ltas,
c(case$kwargs, list(context = context)))
result$value
Read one published annual zero-coupon rate, preserving cell provenance.
Description
Archive retrieval date is a conservative knowledge bound for this exact file revision, not an inferred original publication date. Raw currency matches are necessary but not sufficient qualification; known anomalies remain blocked.
Usage
rfr_archived_spot_rate(
series_id,
maturity_years,
variant,
qualification_reference,
context,
market_data = NULL,
...
)
Arguments
series_id |
Series id. Reference type: |
maturity_years |
Maturity years. Reference type: |
variant |
Variant. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
market_data |
Market data. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-31",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("synthetic-market-spot-no_va")
result <- do.call(rfr_archived_spot_rate,
c(case$kwargs, list(context = context)))
result$value
Bound half the externally qualified one-year mean spread (decimal rates).
Description
The mean's observation calendar, market quality and maturity matching are external inputs. This component does not bootstrap or extrapolate a curve. Under the 2027 Article44 rule this arithmetic is only for qualified non-OIS swaps requiring adjustment; the external reference must establish that scope.
Usage
rfr_credit_risk_adjustment(
annual_mean_spread,
qualification_reference,
context,
...
)
Arguments
annual_mean_spread |
Annual mean spread. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-cra-2")
result <- do.call(rfr_credit_risk_adjustment,
c(case$kwargs, list(context = context)))
result$value
CSSR from separately qualified PVBP amounts, not their revaluation model.
Description
CSSR from separately qualified PVBP amounts, not their revaluation model.
Usage
rfr_credit_spread_sensitivity(
asset_pvbp,
liability_pvbp,
qualification_reference,
context,
reuse = NULL,
...
)
Arguments
asset_pvbp |
Asset pvbp. Reference type: |
liability_pvbp |
Liability pvbp. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
reuse |
Reuse. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-cssr-0")
result <- do.call(rfr_credit_spread_sensitivity,
c(case$kwargs, list(context = context)))
result$value
Signed CURA: archived uniform value or a qualified formula illustration.
Description
EIOPA-BoS-24-533 8.3.2 / EIOPA-BoS-26-198 7.3.2. A company's formula result is NOT the uniform adjustment published for all undertakings. Qualification includes Article48(1), currency/date and input convention. In particular, lac_ratio is the source ratio, not a negative LAC amount.
Usage
rfr_currency_risk_adjustment(
qualification_reference,
context,
calibration = NULL,
...
)
Arguments
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
calibration |
Calibration. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "DKK",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-cura-baseline-published-dkk")
result <- do.call(rfr_currency_risk_adjustment,
c(case$kwargs, list(context = context)))
result$value
Build a basic/VA/MA curve once, including all requested output maturities.
Description
Market rates are already CRA/CURA-adjusted and selected under external DLT, FSP/RVC and missing-data/previous-trading-day qualification. Keys are canonical positive integer years. VA is an annual decimal rate already rounded to whole basis points; its continuous equivalent enters LLFR. This is a numerical engine component, not an official publication.
Usage
rfr_curve_spot_2027(
market_rates,
first_smoothing_point,
maturity,
instrument_kind,
coupon_frequency = NULL,
average_notionals = NULL,
ufr,
phase_in,
approval_reference = NULL,
volatility_adjustment = NULL,
matching_adjustment = NULL,
interest_stress = NULL,
output_maturities = list(),
qualification_reference,
context,
...
)
Arguments
market_rates |
Market rates. Reference type: |
first_smoothing_point |
First smoothing point. Reference type: |
maturity |
Maturity. Reference type: |
instrument_kind |
Instrument kind. Reference type: |
coupon_frequency |
Coupon frequency. Reference type: |
average_notionals |
Average notionals. Reference type: |
ufr |
Ufr. Reference type: |
phase_in |
Phase in. Reference type: |
approval_reference |
Approval reference. Reference type: |
volatility_adjustment |
Volatility adjustment. Reference type: |
matching_adjustment |
Matching adjustment. Reference type: |
interest_stress |
Interest stress. Reference type: |
output_maturities |
Output maturities. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("rfr-curve-2027-flat")
result <- do.call(rfr_curve_spot_2027,
c(case$kwargs, list(context = context)))
result$value
De-risk one asset cashflow under EIOPA-BoS-24-533 section 12.5.9.
Description
The probability must match this cashflow's horizon; it is not a credit spread. Do not apply this twice to already adjusted cashflows. This does not project cashflows, select eligible assets or authorize matching.
Usage
rfr_default_adjusted_cashflow(
cashflow,
default_probability,
qualification_reference,
context,
...
)
Arguments
cashflow |
Cashflow. Reference type: |
default_probability |
Default probability. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-derisk-zero-pd")
result <- do.call(rfr_default_adjusted_cashflow,
c(case$kwargs, list(context = context)))
result$value
Loss conditional on default under the fundamental-spread recovery assumption.
Description
Loss conditional on default under the fundamental-spread recovery assumption.
Usage
rfr_default_loss_on_market_value(
market_value,
qualification_reference,
context,
...
)
Arguments
market_value |
Market value. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-default-loss-2")
result <- do.call(rfr_default_loss_on_market_value,
c(case$kwargs, list(context = context)))
result$value
Weight qualified immediate replacement losses, not a rating/migration model.
Description
Distinct downgrade states share a horizon and valuation basis. Residual probability is no downgrade, with no downgrade loss; never renormalize. The result is a currency amount, NOT a spread or a market-value percentage.
Usage
rfr_downgrade_expected_loss(scenarios, qualification_reference, context, ...)
Arguments
scenarios |
Scenarios. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-downgrade-baseline-zero")
result <- do.call(rfr_downgrade_expected_loss,
c(case$kwargs, list(context = context)))
result$value
Solve the unique annual rate for nonnegative externally qualified cashflows.
Description
Times are supplied year fractions, not an implicit day-count convention. Mixed signs need external review because uniqueness is not guaranteed. Numerical tolerances below are implementation choices, not legal parameters.
Usage
rfr_equivalent_annual_rate(
cashflows,
present_value,
qualification_reference,
context,
...
)
Arguments
cashflows |
Cashflows. Reference type: |
present_value |
Present value. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-rate-negative")
result <- do.call(rfr_equivalent_annual_rate,
c(case$kwargs, list(context = context)))
result$value
Return the continuous forward from annual-discrete UFR and continuous LLFR.
Description
LLFR determination, UFR publication and VA treatment are external. Alpha comes from the profile, not an untracked arbitrary caller coefficient.
Usage
rfr_extrapolated_forward_2027(
ufr,
last_liquid_forward,
time_after_fsp,
phase_in,
approval_reference = NULL,
qualification_reference,
context,
...
)
Arguments
ufr |
Ufr. Reference type: |
last_liquid_forward |
Last liquid forward. Reference type: |
time_after_fsp |
Time after fsp. Reference type: |
phase_in |
Phase in. Reference type: |
approval_reference |
Approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-extrap-forward-zero")
result <- do.call(rfr_extrapolated_forward_2027,
c(case$kwargs, list(context = context)))
result$value
Convert the FSP spot and a matching continuous forward to an annual spot.
Description
Scaled time weights avoid overflow. This API is strictly beyond FSP; it neither selects FSP nor adds VA/MA automatically.
Usage
rfr_extrapolated_spot_2027(
fsp_years,
spot_at_fsp,
time_after_fsp,
extrapolated_forward,
qualification_reference,
context,
...
)
Arguments
fsp_years |
Fsp years. Reference type: |
spot_at_fsp |
Spot at fsp. Reference type: |
time_after_fsp |
Time after fsp. Reference type: |
extrapolated_forward |
Extrapolated forward. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-extrap-spot-zero")
result <- do.call(rfr_extrapolated_spot_2027,
c(case$kwargs, list(context = context)))
result$value
Own versioned alpha, with annual approved transition and no post-2032 trend.
Description
Own versioned alpha, with annual approved transition and no post-2032 trend.
Usage
rfr_extrapolation_alpha_2027(
phase_in,
approval_reference = NULL,
qualification_reference,
context,
...
)
Arguments
phase_in |
Phase in. Reference type: |
approval_reference |
Approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-extrap-alpha-EUR-final")
result <- do.call(rfr_extrapolation_alpha_2027,
c(case$kwargs, list(context = context)))
result$value
Prescribed percentage, not a market-data calibration or an FSP maturity.
Description
Initial EUR minimum is qualified at28Jan2025 for20years. A EUR source-change minimum is qualified at the first new-source date against the previous calendar-year FSP. A next-lower preserving value is externally identified; Article43a(2) does not justify inventing a market selection algorithm here. Other-currency initial LLP is qualified at29Jan2027, not today's maturity.
Usage
rfr_fsp_currency_percentage_2027(
minimum_euro_share,
calibration = "initial",
last_liquid_maturity_2027 = NULL,
rounded_preserves_fsp = NULL,
lower_preserving_share = NULL,
qualification_reference,
context,
...
)
Arguments
minimum_euro_share |
Minimum euro share. Reference type: |
calibration |
Calibration. Reference type: |
last_liquid_maturity_2027 |
Last liquid maturity 2027. Reference type: |
rounded_preserves_fsp |
Rounded preserves fsp. Reference type: |
lower_preserving_share |
Lower preserving share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("closing-rules-fsp-zero")
result <- do.call(rfr_fsp_currency_percentage_2027,
c(case$kwargs, list(context = context)))
result$value
Compose external credit spreads with the class floor or exact fallback.
Description
eu_central means EU member-state central governments/central banks, not all public-sector entities. Statistics and 30-year history qualification remain external; this does not derive PDs or downgrade replacement losses.
Usage
rfr_fundamental_spread(
long_term_average_spread,
asset_class,
default_statistics_reliable,
default_spread = NULL,
downgrade_spread = NULL,
qualification_reference,
context,
...
)
Arguments
long_term_average_spread |
Long term average spread. Reference type: |
asset_class |
Asset class. Reference type: |
default_statistics_reliable |
Default statistics reliable. Reference type: |
default_spread |
Default spread. Reference type: |
downgrade_spread |
Downgrade spread. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-fs-6")
result <- do.call(rfr_fundamental_spread,
c(case$kwargs, list(context = context)))
result$value
Published corporate residual-FS rule: max(CoD, FS-PD), decimal rates.
Description
Requires matching externally qualified sector/CQS/tenor inputs. Not an automatic residual selection for every possible matching portfolio.
Usage
rfr_fundamental_spread_other_than_pd(
fundamental_spread,
default_spread,
downgrade_spread,
qualification_reference,
context,
...
)
Arguments
fundamental_spread |
Fundamental spread. Reference type: |
default_spread |
Default spread. Reference type: |
downgrade_spread |
Downgrade spread. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-rest-fs-zero")
result <- do.call(rfr_fundamental_spread_other_than_pd,
c(case$kwargs, list(context = context)))
result$value
Aggregate externally qualified continuous forwards using swap notionals.
Description
Component a is the one-year forward immediately preceding FSP in the SRC-0211 construction; components b run from FSP to later liquid maturities. Only a receives the explicit VA. Market selection, forward derivation and VA qualification are external. Here volatility_adjustment is a CONTINUOUS forward increment; the integrated rfr_curve_spot_2027 converts annual VA using log1p first.
Usage
rfr_last_liquid_forward_2027(
fsp_forward,
later_forwards,
liquid_swaps_beyond_fsp,
fsp_average_notional = NULL,
apply_volatility_adjustment,
volatility_adjustment = NULL,
qualification_reference,
context,
...
)
Arguments
fsp_forward |
Fsp forward. Reference type: |
later_forwards |
Later forwards. Reference type: |
liquid_swaps_beyond_fsp |
Liquid swaps beyond fsp. Reference type: |
fsp_average_notional |
Fsp average notional. Reference type: |
apply_volatility_adjustment |
Apply volatility adjustment. Reference type: |
volatility_adjustment |
Volatility adjustment. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-llfr-fallback")
result <- do.call(rfr_last_liquid_forward_2027,
c(case$kwargs, list(context = context)))
result$value
Country debt/all-assets share, not an insurer's own portfolio weight.
Description
Country debt/all-assets share, not an insurer's own portfolio weight.
Usage
rfr_macro_country_factor(
country_risk_corrected_spread,
debt_asset_share,
qualification_reference,
context,
...
)
Arguments
country_risk_corrected_spread |
Country risk corrected spread. Reference type: |
debt_asset_share |
Debt asset share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-country-factor-3")
result <- do.call(rfr_macro_country_factor,
c(case$kwargs, list(context = context)))
result$value
Euro macro add-on; explicitly incompatible with undertaking-specific adjustment.
Description
Euro macro add-on; explicitly incompatible with undertaking-specific adjustment.
Usage
rfr_macro_volatility_adjustment(
country_risk_corrected_spread,
euro_risk_corrected_spread,
credit_spread_sensitivity,
country_factor,
undertaking_specific_adjustment_applies,
qualification_reference,
context,
...
)
Arguments
country_risk_corrected_spread |
Country risk corrected spread. Reference type: |
euro_risk_corrected_spread |
Euro risk corrected spread. Reference type: |
credit_spread_sensitivity |
Credit spread sensitivity. Reference type: |
country_factor |
Country factor. Reference type: |
undertaking_specific_adjustment_applies |
Undertaking specific adjustment applies. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-macro-va-2")
result <- do.call(rfr_macro_volatility_adjustment,
c(case$kwargs, list(context = context)))
result$value
Apply CRA and signed CURA once before existing curve construction.
Description
Positive CRA is subtracted; nonpositive CURA is added. No zero floor. Inputs must refer to the same qualified market instrument/tenor/date; this is not a shift to an already extrapolated curve or a VA/MA operation.
Usage
rfr_market_rate_adjustment(
market_rate,
credit_adjustment,
currency_adjustment,
qualification_reference,
context,
...
)
Arguments
market_rate |
Market rate. Reference type: |
credit_adjustment |
Credit adjustment. Reference type: |
currency_adjustment |
Currency adjustment. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "DKK",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-cura-baseline-market-no-adjustments")
result <- do.call(rfr_market_rate_adjustment,
c(case$kwargs, list(context = context)))
result$value
Subtract effective annual rates on the SAME liability cashflows and residual FS.
Description
The asset-equivalent rate matches their PV to eligible assigned asset value; the liability-equivalent rate matches their PV to the basic-curve BE. The residual FS excludes any part already included in asset cashflow adjustment. Optional declared application/asset comparisons add controlled eligibility and FS limits; without them these aspects stay NOT_ASSESSED. No asset coupon substitution, automatic rating, permission or curve application.
Usage
rfr_matching_adjustment(
asset_equivalent_rate,
liability_equivalent_rate,
residual_fundamental_spread,
qualification_reference,
context,
application = NULL,
restructured_assets = NULL,
subinvestment_grade_comparison = NULL,
...
)
Arguments
asset_equivalent_rate |
Asset equivalent rate. Reference type: |
liability_equivalent_rate |
Liability equivalent rate. Reference type: |
residual_fundamental_spread |
Residual fundamental spread. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
application |
Application. Reference type: |
restructured_assets |
Restructured assets. Reference type: |
subinvestment_grade_comparison |
Subinvestment grade comparison. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-ma-5")
result <- do.call(rfr_matching_adjustment,
c(case$kwargs, list(context = context)))
result$value
Headroom against the 5% BE condition, using the externally BOF-selected stress.
Description
Nonnegative means this numerical condition passes, not overall MA eligibility. Nonpositive base BE is deliberately referred for review, not reinterpreted.
Usage
rfr_matching_mortality_headroom(
base_best_estimate,
stressed_best_estimate,
qualification_reference,
context,
...
)
Arguments
base_best_estimate |
Base best estimate. Reference type: |
stressed_best_estimate |
Stressed best estimate. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-ma-headroom-1")
result <- do.call(rfr_matching_mortality_headroom,
c(case$kwargs, list(context = context)))
result$value
Return BE from the worst BOF scenario, not the scenario with maximum BE.
Description
Scenario valuations must share a base and currency. Equal BOF with distinct BE values requires explicit selection among the ties; there is no legal worst-BE tie rule invented here. Valuation and overall eligibility stay external.
Usage
rfr_matching_mortality_selected_be(
scenarios,
selected_scenario = NULL,
qualification_reference,
context,
contract_selection = NULL,
...
)
Arguments
scenarios |
Scenarios. Reference type: |
selected_scenario |
Selected scenario. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
contract_selection |
Contract selection. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-ma-selection-6")
result <- do.call(rfr_matching_mortality_selected_be,
c(case$kwargs, list(context = context)))
result$value
MA qualification stress assumption, not life SCR or automatic scenario selection.
Description
MA qualification stress assumption, not life SCR or automatic scenario selection.
Usage
rfr_matching_mortality_stress(
rate,
scenario,
rate_basis,
selected,
qualification_reference,
context,
...
)
Arguments
rate |
Rate. Reference type: |
scenario |
Scenario. Reference type: |
rate_basis |
Rate basis. Reference type: |
selected |
Selected. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rfr-ma-mortality-6")
result <- do.call(rfr_matching_mortality_stress,
c(case$kwargs, list(context = context)))
result$value
Synthetic market-data template
Description
Synthetic market-data template
Usage
rfr_monthly_data()
Value
A fresh-by-value list with an explicit SYNTHETIC_DEMO status, recipe
and illustrative dated tables. These are not production market inputs.
See Also
Examples
rfr_monthly_data()$status
Common CSSR from qualified combined amounts, never average individual CSSRs.
Description
Peg eligibility and use of the adjusted euro curve under Article48 are external. The currency identifier alone is not evidence of their validity.
Usage
rfr_pegged_credit_spread_sensitivity(
asset_pvbp,
liability_pvbp,
pegged_currency,
qualification_reference,
context,
...
)
Arguments
asset_pvbp |
Asset pvbp. Reference type: |
liability_pvbp |
Liability pvbp. Reference type: |
pegged_currency |
Pegged currency. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-cssr-pegged-3")
result <- do.call(rfr_pegged_credit_spread_sensitivity,
c(case$kwargs, list(context = context)))
result$value
Aggregate category corrections under EIOPA-BoS-24-533 section 10.3.5.
Description
Weights refer to the whole reference portfolio, not just bonds. Category corrections and classifications remain externally qualified inputs. This published positive-part formula is distinct from calibrating each input.
Usage
rfr_portfolio_risk_correction(
government_weight,
corporate_weight,
government_risk_correction,
corporate_risk_correction,
qualification_reference,
context,
fundamental_spread_inputs = NULL,
...
)
Arguments
government_weight |
Government weight. Reference type: |
corporate_weight |
Corporate weight. Reference type: |
government_risk_correction |
Government risk correction. Reference type: |
corporate_risk_correction |
Corporate risk correction. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
fundamental_spread_inputs |
Fundamental spread inputs. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-portfolio-rc-4")
result <- do.call(rfr_portfolio_risk_correction,
c(case$kwargs, list(context = context)))
result$value
Whole-portfolio weights: do not renormalize the two bond categories.
Description
Whole-portfolio weights: do not renormalize the two bond categories.
Usage
rfr_reference_portfolio_spread(
government_weight,
corporate_weight,
government_spread,
corporate_spread,
qualification_reference,
context,
...
)
Arguments
government_weight |
Government weight. Reference type: |
corporate_weight |
Corporate weight. Reference type: |
government_spread |
Government spread. Reference type: |
corporate_spread |
Corporate spread. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-refspread-4")
result <- do.call(rfr_reference_portfolio_spread,
c(case$kwargs, list(context = context)))
result$value
Subtract an externally qualified risk correction without an output floor.
Description
Subtract an externally qualified risk correction without an output floor.
Usage
rfr_risk_corrected_spread(
spread,
risk_correction,
qualification_reference,
context,
...
)
Arguments
spread |
Spread. Reference type: |
risk_correction |
Risk correction. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-riskspread-3")
result <- do.call(rfr_risk_corrected_spread,
c(case$kwargs, list(context = context)))
result$value
Piecewise correction for a qualified homogeneous spread bucket, decimal rates.
Description
EEA sovereign classification, matching duration/quality and 30-year LTAS estimation are external. This is not a choice of portfolio-weight denominator.
Usage
rfr_risk_correction_2027(
spread,
long_term_average_spread,
asset_class,
qualification_reference,
context,
...
)
Arguments
spread |
Spread. Reference type: |
long_term_average_spread |
Long term average spread. Reference type: |
asset_class |
Asset class. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-rc-other-0")
result <- do.call(rfr_risk_correction_2027,
c(case$kwargs, list(context = context)))
result$value
Fit qualified instruments once and return annual spot plus optional grid.
Description
Cashflow rows are payment dates, columns are instruments. Prices share their cashflows' nominal basis. Signed coupons are allowed (section9.15). The last payment time is the externally qualified LLP. Qualification includes DLT selection, input availability, dates, CRA and currency basis. Alpha search is the documented heuristic, not a global optimality proof. The technical search bound is explicit and is NOT a regulatory alpha cap.
Usage
rfr_smith_wilson_spot(
payment_times,
cashflows,
prices,
maturity,
ufr,
qualification_reference,
output_maturities = list(),
alpha_search_max = 2,
volatility_adjustment = NULL,
matching_adjustment = NULL,
context,
...
)
Arguments
payment_times |
Payment times. Reference type: |
cashflows |
Cashflows. Reference type: |
prices |
Prices. Reference type: |
maturity |
Maturity. Reference type: |
ufr |
Ufr. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
output_maturities |
Output maturities. Reference type: |
alpha_search_max |
Alpha search max. Reference type: |
volatility_adjustment |
Volatility adjustment. Reference type: |
matching_adjustment |
Matching adjustment. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-smith-wilson-flat-zero")
result <- do.call(rfr_smith_wilson_spot,
c(case$kwargs, list(context = context)))
result$value
Convert a matching annual zero-coupon spot rate to a discount factor.
Description
Year fractions and curve qualification are explicit external inputs; this performs no interpolation, day-count choice or VA/MA eligibility decision.
Usage
rfr_spot_discount_factor(
spot_rate,
time_years,
qualification_reference,
context,
...
)
Arguments
spot_rate |
Spot rate. Reference type: |
time_years |
Time years. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("rfr-discount-future-five-two")
result <- do.call(rfr_spot_discount_factor,
c(case$kwargs, list(context = context)))
result$value
Add the approved currency-specific annual transition to one curve point.
Description
The equivalent annual rate must value the eligible portfolio on the matching basis including applicable VA. Existing rfr_equivalent_annual_rate can solve nonnegative cashflows; mixed-sign portfolios need qualified external roots. Do not include eligible obligations in VA calculation or combine with MA/308d.
Usage
rfr_transitional_spot_rate(
spot_rate,
legacy_rate,
equivalent_annual_rate,
matching_adjustment_used,
technical_provisions_transition_used,
approval_reference,
qualification_reference,
context,
...
)
Arguments
spot_rate |
Spot rate. Reference type: |
legacy_rate |
Legacy rate. Reference type: |
equivalent_annual_rate |
Equivalent annual rate. Reference type: |
matching_adjustment_used |
Matching adjustment used. Reference type: |
technical_provisions_transition_used |
Technical provisions transition used. Reference type: |
approval_reference |
Approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("ltg-transition-baseline-rate-2025-01-17")
result <- do.call(rfr_transitional_spot_rate,
c(case$kwargs, list(context = context)))
result$value
Derive the context year's UFR using the prior year's annual calculation.
Description
Annual history ends one year before that calculation, hence two years before application. AMECO/OECD source qualification and any no-target ARMA projection remain external. No term premium is added. Fractions preserve decimal grid/threshold boundaries and never fill missing years.
Usage
rfr_ultimate_forward_rate(
annual_rates,
previous_real_rate,
previous_ufr,
inflation,
qualification_reference,
context,
...
)
Arguments
annual_rates |
Annual rates. Reference type: |
previous_real_rate |
Previous real rate. Reference type: |
previous_ufr |
Previous ufr. Reference type: |
inflation |
Inflation. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-ufr-complete-history-baseline")
result <- do.call(rfr_ultimate_forward_rate,
c(case$kwargs, list(context = context)))
result$value
Literal revaluation difference/VA*, not a valuation model or per-bp rescaling.
Description
Qualified asset values exclude immaterial unit-linked spread exposure. Qualified BEL includes future discretionary benefits without feeding back the asset spread shock. Paired values are already in one reporting currency.
Usage
rfr_va_pvbp(
unadjusted_value,
adjusted_value,
notional_va,
valuation_kind,
qualification_reference,
context,
pegged_currency = NULL,
pegged_notional_va = NULL,
...
)
Arguments
unadjusted_value |
Unadjusted value. Reference type: |
adjusted_value |
Adjusted value. Reference type: |
notional_va |
Notional va. Reference type: |
valuation_kind |
Valuation kind. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
pegged_currency |
Pegged currency. Reference type: |
pegged_notional_va |
Pegged notional va. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: currency_per_rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-pvbp-0")
result <- do.call(rfr_va_pvbp,
c(case$kwargs, list(context = context)))
result$value
Compute VA from risk-corrected spreads; neither authorize nor apply it.
Description
Country uplift is added BEFORE the factor and requires both strict tests. Official data, MA exclusion and pre-extrapolation application remain external.
Usage
rfr_volatility_adjustment(
currency_spread,
country_applicable,
country_spread = NULL,
qualification_reference,
context,
...
)
Arguments
currency_spread |
Currency spread. Reference type: |
country_applicable |
Country applicable. Reference type: |
country_spread |
Country spread. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rfr-va-1")
result <- do.call(rfr_volatility_adjustment,
c(case$kwargs, list(context = context)))
result$value
Currency VA only; no automatic macro addition or undertaking-specific approval.
Description
Currency VA only; no automatic macro addition or undertaking-specific approval.
Usage
rfr_volatility_adjustment_2027(
risk_corrected_spread,
credit_spread_sensitivity,
qualification_reference,
context,
firm_adjustment = NULL,
...
)
Arguments
risk_corrected_spread |
Risk corrected spread. Reference type: |
credit_spread_sensitivity |
Credit spread sensitivity. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
firm_adjustment |
Firm adjustment. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: rate.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-va-2")
result <- do.call(rfr_volatility_adjustment_2027,
c(case$kwargs, list(context = context)))
result$value
Discount SCR(t) of the Art.38 reference undertaking at basic rates t+1.
Description
Discount SCR(t) of the Art.38 reference undertaking at basic rates t+1.
Usage
risk_margin(projected_scr, basic_rates, runoff_complete, context, ...)
Arguments
projected_scr |
Projected scr. Reference type: |
basic_rates |
Basic rates. Reference type: |
runoff_complete |
Runoff complete. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("risk-margin-2027-one-year")
result <- do.call(risk_margin,
c(case$kwargs, list(context = context)))
result$value
Future life formula from deterministic annual net cashflows, first at k=1.
Description
The supplied rate is the externally qualified IRR under the basic RFR term structure. Signed individual cashflows are allowed; whole-path BE suitability remains an external condition. Lambda is included in adjusted duration ONCE.
Usage
risk_margin_adjusted_duration_2027(
initial_scr,
cashflows,
internal_rate,
conditions,
eligibility_reference,
basis_reference,
context,
...
)
Arguments
initial_scr |
Initial scr. Reference type: |
cashflows |
Cashflows. Reference type: |
internal_rate |
Internal rate. Reference type: |
conditions |
Conditions. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
basis_reference |
Basis reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("rm-duration-future-zero-scr")
result <- do.call(risk_margin_adjusted_duration_2027,
c(case$kwargs, list(context = context)))
result$value
Baseline life formula including the divisor printed in archived Annex IV.
Description
Duration and rate conventions are externally qualified. No curve fitting, runoff model or automatic suitability determination is performed.
Usage
risk_margin_duration(
initial_scr,
modified_duration,
discount_rate,
conditions,
eligibility_reference,
basis_reference,
context,
...
)
Arguments
initial_scr |
Initial scr. Reference type: |
modified_duration |
Modified duration. Reference type: |
discount_rate |
Discount rate. Reference type: |
conditions |
Conditions. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
basis_reference |
Basis reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-duration-baseline-zero-scr")
result <- do.call(risk_margin_duration,
c(case$kwargs, list(context = context)))
result$value
Regulatory selection condition only; insurer supplies the approved model.
Description
A zero result does not approve another method. Suitability covers EVERY runoff time; no such finding is inferred from one successful valuation.
Usage
risk_margin_internal_model_required(
uses_approved_internal_model,
suitable_all_runoff_times,
qualification_reference,
context,
...
)
Arguments
uses_approved_internal_model |
Uses approved internal model. Reference type: |
suitable_all_runoff_times |
Suitable all runoff times. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-model-baseline-required")
result <- do.call(risk_margin_internal_model_required,
c(case$kwargs, list(context = context)))
result$value
Apply a nonnegative externally qualified share; never infer it from SCR0.
Description
Shares cover the actual portfolio's LOBs. Omitted unused LOBs are permitted only with explicit full-scope confirmation. A1e-12 sum tolerance is numerical, not a regulatory materiality threshold; shares are never renormalised. Signed allocations are outside this component, not declared legally banned.
Usage
risk_margin_lob_allocation(
total_risk_margin,
allocation_shares,
lob,
lifetime_contributions_qualified,
complete_scope_confirmed,
allocation_reference,
context,
...
)
Arguments
total_risk_margin |
Total risk margin. Reference type: |
allocation_shares |
Allocation shares. Reference type: |
lob |
Lob. Reference type: |
lifetime_contributions_qualified |
Lifetime contributions qualified. Reference type: |
complete_scope_confirmed |
Complete scope confirmed. Reference type: |
allocation_reference |
Allocation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-allocation-baseline-lob-1")
result <- do.call(risk_margin_lob_allocation,
c(case$kwargs, list(context = context)))
result$value
Externally calibrated alpha_lob * BE_net(0), not a prescribed default alpha.
Description
Percentage is a fraction (0.03 means3%). No unsupported100% cap is invented. Scope, calibration, hierarchy, future BE and options/guarantees restrictions are documented external qualifications, not inferred from the two numbers.
Usage
risk_margin_percentage(
net_best_estimate,
percentage,
conditions,
eligibility_reference,
percentage_reference,
context,
...
)
Arguments
net_best_estimate |
Net best estimate. Reference type: |
percentage |
Percentage. Reference type: |
conditions |
Conditions. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
percentage_reference |
Percentage reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-simple-baseline-m4-zero")
result <- do.call(risk_margin_percentage,
c(case$kwargs, list(context = context)))
result$value
SCR(t)=SCR(0)*BE_net(t)/BE_net(0); never apply lambda inside SCR(t).
Description
BE(t) is valued AT time t, not a time-zero discounted cashflow surrogate. Whole-path nonnegative BE and risk-profile assumptions are externally qualified. No BE forecast or automatic method selection is produced.
Usage
risk_margin_proportional_scr(
initial_scr,
initial_net_best_estimate,
future_net_best_estimate,
conditions,
eligibility_reference,
projection_reference,
context,
...
)
Arguments
initial_scr |
Initial scr. Reference type: |
initial_net_best_estimate |
Initial net best estimate. Reference type: |
future_net_best_estimate |
Future net best estimate. Reference type: |
conditions |
Conditions. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
projection_reference |
Projection reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-simple-baseline-m2-zero")
result <- do.call(risk_margin_proportional_scr,
c(case$kwargs, list(context = context)))
result$value
SCR + TP - recoverables, not an asset portfolio or optimisation result.
Description
Preserve signs and disclose a negative implied balance. Qualification of values and a feasible market-risk-minimising portfolio remain external.
Usage
risk_margin_reference_asset_balance(
reference_scr,
technical_provisions,
recoverables,
qualification_reference,
context,
...
)
Arguments
reference_scr |
Reference scr. Reference type: |
technical_provisions |
Technical provisions. Reference type: |
recoverables |
Recoverables. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-reference-baseline-negative")
result <- do.call(risk_margin_reference_asset_balance,
c(case$kwargs, list(context = context)))
result$value
Inventory reference-undertaking assumptions, never generate SCR runoff.
Description
Composite splitting and residual non-interest market risk have explicit externally assessed conditions. No quantitative materiality cutoff is invented; deferred-tax loss absorption must not be assumed.
Usage
risk_margin_reference_evidence_check(
evidence,
composite_undertaking,
material_residual_market_risk,
qualification_reference,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
composite_undertaking |
Composite undertaking. Reference type: |
material_residual_market_risk |
Material residual market risk. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-reference-baseline-tax-missing")
result <- do.call(risk_margin_reference_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Reserve-only 3sigma_res_modPCO_net(t), never the whole nonlife SCR.
Description
Zero premium volume must be externally justified; no materiality threshold is invented. Sigma and claims projections are external, including any USP or profile-specific reinsurance adjustments. No lambda is applied here.
Usage
risk_margin_reserve_scr(
net_claims_best_estimate,
aggregated_reserve_sigma,
premium_volume,
conditions,
eligibility_reference,
projection_reference,
context,
...
)
Arguments
net_claims_best_estimate |
Net claims best estimate. Reference type: |
aggregated_reserve_sigma |
Aggregated reserve sigma. Reference type: |
premium_volume |
Premium volume. Reference type: |
conditions |
Conditions. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
projection_reference |
Projection reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rm-reserve-baseline-zero")
result <- do.call(risk_margin_reserve_scr,
c(case$kwargs, list(context = context)))
result$value
Full, excluded, or externally qualified time-proportionate recognition.
Description
Proportional_factor is required only for a qualified short contract without valid209(3) replacement. Its exposure-dependent time basis is external. Finite/similar arrangements are excluded from volume/USP even if209 passes. Scenario valuation must already reflect only the actually transferred risk; this factor is NOT applied blindly to recoverables, LGD or capital amounts. counterparty_factor may bind the separately calculated211 haircut. Default1 explicitly declares full counterparty recognition, never verifies it. Optional residential mortgage guarantee payment window implements only future215(c)(iii)/(d); all other guarantee criteria remain in qualification.
Usage
risk_mitigation_recognition_factor(
remaining_months,
conditions,
purpose,
instrument_kind,
finite_or_similar,
replacement = NULL,
proportional_factor = NULL,
counterparty_factor = 1,
residential_guarantee_payment_months = NULL,
qualification_reference,
context,
...
)
Arguments
remaining_months |
Remaining months. Reference type: |
conditions |
Conditions. Reference type: |
purpose |
Purpose. Reference type: |
instrument_kind |
Instrument kind. Reference type: |
finite_or_similar |
Finite or similar. Reference type: |
replacement |
Replacement. Reference type: |
proportional_factor |
Proportional factor. Reference type: |
counterparty_factor |
Counterparty factor. Reference type: |
residential_guarantee_payment_months |
Residential guarantee payment months. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("closing-rules-baseline-finite-usp")
result <- do.call(risk_mitigation_recognition_factor,
c(case$kwargs, list(context = context)))
result$value
Extra impact/action disclosures for an externally qualified105a holding.
Description
Share is relative to ALL held assets, not the equity portfolio. The counterfactual SCR-compliance fact must already have been established. Exactly4% does not trigger the share branch. No general reporting waiver.
Usage
rsr_long_term_equity_extra_disclosure_2027(
long_term_equity_asset_share,
scr_compliant_without_treatment,
qualification_reference,
context,
...
)
Arguments
long_term_equity_asset_share |
Long term equity asset share. Reference type: |
scr_compliant_without_treatment |
Scr compliant without treatment. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("rsr-content-future-lte-0-true")
result <- do.call(rsr_long_term_equity_extra_disclosure_2027,
c(case$kwargs, list(context = context)))
result$value
Available dated rule profiles
Description
Available dated rule profiles
Usage
rule_profiles()
Details
Profiles and their applicability guards are inherited from the published Python Golden Source. No latest profile is selected implicitly.
Value
Named list of profile intervals, supported methods and resource aliases.
See Also
Examples
names(rule_profiles()$profiles)
Loss from external BOF; optional gross83 input checks are not a valuation model.
Description
Loss from external BOF; optional gross83 input checks are not a valuation model.
Usage
scenario_loss(base_bof, stressed_bof, context, assumption_checks = NULL, ...)
Arguments
base_bof |
Base bof. Reference type: |
stressed_bof |
Stressed bof. Reference type: |
context |
Explicit |
assumption_checks |
Assumption checks. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("scenario-2027-bof-0")
result <- do.call(scenario_loss,
c(case$kwargs, list(context = context)))
result$value
Apply Article16's cross-branch conditions to external factual declarations.
Description
Credit/surety remain prohibited. Legal expenses require the assistance main branch and the explicitly declared travel or sea-vessel exception; all base conditions still apply. This function does not grant or verify a licence.
Usage
scope_ancillary_risk_conditions(
ancillary_branch,
main_branch,
main_risk_authorised,
linked_to_main,
same_object,
same_contract,
legal_expenses_exception = NULL,
qualification_reference,
context,
...
)
Arguments
ancillary_branch |
Ancillary branch. Reference type: |
main_branch |
Main branch. Reference type: |
main_risk_authorised |
Main risk authorised. Reference type: |
linked_to_main |
Linked to main. Reference type: |
same_object |
Same object. Reference type: |
same_contract |
Same contract. Reference type: |
legal_expenses_exception |
Legal expenses exception. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("scope-ancillary-baseline-ordinary")
result <- do.call(scope_ancillary_risk_conditions,
c(case$kwargs, list(context = context)))
result$value
Screen one year's literal Article4(1) conditions in the selected profile.
Description
Inputs are externally qualified gross EUR amounts. No netting or zero floor is inferred. Article4(2-5) time rules, authorisation and cross-border business must be assessed separately; a result of1 is not a scope exemption.
Usage
scope_volume_conditions(
gross_written_premiums,
gross_technical_provisions,
reinsurance_written_premiums,
reinsurance_technical_provisions,
part_of_group,
group_gross_technical_provisions = NULL,
has_disallowed_business,
qualification_reference,
context,
...
)
Arguments
gross_written_premiums |
Gross written premiums. Reference type: |
gross_technical_provisions |
Gross technical provisions. Reference type: |
reinsurance_written_premiums |
Reinsurance written premiums. Reference type: |
reinsurance_technical_provisions |
Reinsurance technical provisions. Reference type: |
part_of_group |
Part of group. Reference type: |
group_gross_technical_provisions |
Group gross technical provisions. Reference type: |
has_disallowed_business |
Has disallowed business. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("scope-volume-baseline-zero")
result <- do.call(scope_volume_conditions,
c(case$kwargs, list(context = context)))
result$value
Three-year breach of one identified amount, for the following-year trigger.
Description
Period consecutiveness and historically applicable thresholds are externally qualified. Different monetary criteria must not be mixed within a series. This component does not select an effective legal regime for the entity.
Usage
scope_volume_entry_trigger(
annual_exceedance,
qualification_reference,
context,
...
)
Arguments
annual_exceedance |
Annual exceedance. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("scope-history-baseline-entry-all")
result <- do.call(scope_volume_entry_trigger,
c(case$kwargs, list(context = context)))
result$value
Only historical/prospective volume conditions, not supervisory release.
Description
Forecasts are external. Cross-border activity, voluntary authorisation and supervisory satisfaction remain separate, even when this indicator is1.
Usage
scope_volume_release_history(
past_any_exceedance,
forecast_any_exceedance,
qualification_reference,
context,
...
)
Arguments
past_any_exceedance |
Past any exceedance. Reference type: |
forecast_any_exceedance |
Forecast any exceedance. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("scope-history-baseline-release-breach-0")
result <- do.call(scope_volume_release_history,
c(case$kwargs, list(context = context)))
result$value
Compose standard formula and explicit imposed add-ons, not a full release.
Description
Inputs exclude these add-ons already. For the risk_margin view only the governance Article37(1)c add-on is removed by37(5); all reference-undertaking selection underDR38 remains external, not inferred from this view switch.
Usage
scr_standard_formula(
bscr,
operational,
adjustment_tp,
adjustment_dt,
context,
capital_addons = NULL,
purpose = "scr",
...
)
Arguments
bscr |
Bscr. Reference type: |
operational |
Operational. Reference type: |
adjustment_tp |
Adjustment tp. Reference type: |
adjustment_dt |
Adjustment dt. Reference type: |
context |
Explicit |
capital_addons |
Capital addons. Reference type: |
purpose |
Purpose. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("scr-standard-zero")
result <- do.call(scr_standard_formula,
c(case$kwargs, list(context = context)))
result$value
Three collateral branches on an externally qualified Article176(4) shock.
Description
Full coverage is inclusive; equality to the unsecured post-stress value leaves the original shock unchanged. This does not value collateral.
Usage
secured_bond_spread_stress(
unsecured_stress,
asset_value,
risk_adjusted_collateral,
qualification_reference,
context,
...
)
Arguments
unsecured_stress |
Unsecured stress. Reference type: |
asset_value |
Asset value. Reference type: |
risk_adjusted_collateral |
Risk adjusted collateral. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-secured-spread-extreme-1")
result <- do.call(secured_bond_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Article178 factors on externally qualified positions; no automatic transition relief.
Description
Paragraph6 literally uses the paragraph3 senior table at CQS5. The unusual source reference remains explicit, not silently redirected to paragraph4.
Usage
securitisation_spread_stress(
modified_duration,
category,
qualification_reference,
credit_quality_step = NULL,
transition = NULL,
context,
imposed_increase_fraction = NULL,
supervisory_decision_reference = NULL,
...
)
Arguments
modified_duration |
Modified duration. Reference type: |
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
transition |
Transition. Reference type: |
context |
Explicit |
imposed_increase_fraction |
Imposed increase fraction. Reference type: |
supervisory_decision_reference |
Supervisory decision reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-securitisation-residual-na-0")
result <- do.call(securitisation_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Select the gross charge corresponding to the greatest net-of-FDB loss.
Description
Select the gross charge corresponding to the greatest net-of-FDB loss.
Usage
select_scenario(gross_losses, net_losses, tie_break = NULL, context, ...)
Arguments
gross_losses |
Gross losses. Reference type: |
net_losses |
Net losses. Reference type: |
tie_break |
Tie break. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("net-scenario-selection")
result <- do.call(select_scenario,
c(case$kwargs, list(context = context)))
result$value
Select the balance-sheet audit duty, not the complete audit perimeter.
Description
Captive classification is not conditional on Article51 disclosure relief. The caller must qualify national extensions explicitly; no default national rule, automatic legal research or audit-content approval is inferred.
Usage
sfcr_balance_sheet_audit_required_2027(
small_non_complex,
captive,
national_extension_applies,
qualification_reference,
context,
...
)
Arguments
small_non_complex |
Small non complex. Reference type: |
captive |
Captive. Reference type: |
national_extension_applies |
National extension applies. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("sfcr-audit-111")
result <- do.call(sfcr_balance_sheet_audit_required_2027,
c(case$kwargs, list(context = context)))
result$value
Declared captive relief conditions, distinct from ORSA/reporting relief.
Description
Captive status, beneficiary qualification, loan/cash-pool scope and the deterministic maximum-loss assessment are external. Reinsurance liability exclusion concerns the underlying insurance contracts, not only the treaty.
Usage
sfcr_captive_disclosure_conditions_2027(
captive_type,
permitted_policyholders,
natural_person_tp_share,
no_compulsory_liability,
group_loans_asset_share = NULL,
maximum_loss_deterministic = NULL,
qualification_reference,
context,
...
)
Arguments
captive_type |
Captive type. Reference type: |
permitted_policyholders |
Permitted policyholders. Reference type: |
natural_person_tp_share |
Natural person tp share. Reference type: |
no_compulsory_liability |
No compulsory liability. Reference type: |
group_loans_asset_share |
Group loans asset share. Reference type: |
maximum_loss_deterministic |
Maximum loss deterministic. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("sfcr-insurance-share-zero")
result <- do.call(sfcr_captive_disclosure_conditions_2027,
c(case$kwargs, list(context = context)))
result$value
Inventory references for an externally qualified full narrative part.
Description
A conditional paragraph needs either its content evidence or a qualified non-applicability assessment, never an unqualified silent omission. References are not retrieved or assessed. Quantitative-only relief reports require a different perimeter and are deliberately not certified here.
Usage
sfcr_content_evidence_check(
evidence,
report_part,
full_narrative_scope,
assessment_reference,
scope_reference,
context,
structure_sections = NULL,
structure_reference = NULL,
de_materiality = NULL,
reporting_scope = "solo",
group_evidence = NULL,
...
)
Arguments
evidence |
Evidence. Reference type: |
report_part |
Report part. Reference type: |
full_narrative_scope |
Full narrative scope. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
scope_reference |
Scope reference. Reference type: |
context |
Explicit |
structure_sections |
Structure sections. Reference type: |
structure_reference |
Structure reference. Reference type: |
de_materiality |
De materiality. Reference type: |
reporting_scope |
Reporting scope. Reference type: |
group_evidence |
Group evidence. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("sfcr-content-baseline-sfcr-empty")
result <- do.call(sfcr_content_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Join versioned duty references and qualified event facts, not legal sign-off.
Description
Every control needs evidence, including reasoned non-applicability when conditional. AVAILABLE merely records a reference. Elapsed months and historical deadline facts are externally qualified; no calendar guess. Missing optional screenings remain NOT_ASSESSED, never implicitly passed.
Usage
sfcr_publication_evidence_check(
evidence,
assessment_reference,
context,
publication_facts = NULL,
capital_events = NULL,
...
)
Arguments
evidence |
Evidence. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
publication_facts |
Publication facts. Reference type: |
capital_events |
Capital events. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("sfcr-publication-future-missing")
result <- do.call(sfcr_publication_evidence_check,
c(case$kwargs, list(context = context)))
result$value
One host state's establishment AND services premiums; strict EUR threshold.
Description
The host authority's materiality decision is explicit, never inferred from market shares. SNC exclusion applies to both branches. This definition is not the different significant-branch screen in delegated Article354.
Usage
significant_cross_border_activity_2027(
host_gross_premiums,
small_non_complex,
host_authority_significant,
qualification_reference,
context,
...
)
Arguments
host_gross_premiums |
Host gross premiums. Reference type: |
small_non_complex |
Small non complex. Reference type: |
host_authority_significant |
Host authority significant. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-close-cross-host")
result <- do.call(significant_cross_border_activity_2027,
c(case$kwargs, list(context = context)))
result$value
Screen declared assessments and the higher-SCR exception to material error.
Description
Do not create a quantitative materiality threshold. A comparison with the standard calculation is only requested where the exception is invoked; the result records supplied facts, not a substantive adequacy conclusion.
Usage
simplification_proportionality_conditions(
conditions,
simplified_scr_higher = NULL,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
simplified_scr_higher |
Simplified scr higher. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("proportionality-baseline-ordinary")
result <- do.call(simplification_proportionality_conditions,
c(case$kwargs, list(context = context)))
result$value
Check distinct strict SNC versus inclusive immaterial-risk thresholds.
Description
Shares refer to each risk's externally qualified reference calculation; never infer a common denominator or double-count nested modules. The age is externally qualified and covers the oldest required reference evidence.
Usage
simplification_share_screen_2027(
risk_shares,
regime,
evidence_age_years,
small_non_complex = NULL,
qualification_reference,
context,
...
)
Arguments
risk_shares |
Risk shares. Reference type: |
regime |
Regime. Reference type: |
evidence_age_years |
Evidence age years. Reference type: |
small_non_complex |
Small non complex. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("simplification-2027-individual-over")
result <- do.call(simplification_share_screen_2027,
c(case$kwargs, list(context = context)))
result$value
Sum qualified bucket losses plus signed, externally valued DeltaLiab.
Description
Amount weighting is algebraically identical to MV times portfolio shares. Fractions avoid unnecessary intermediate overflow and cancellation. No options/guarantee model, floor or general eligibility approval is inferred.
Usage
simplified_bond_spread_risk(
buckets,
liability_change,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
buckets |
Buckets. Reference type: |
liability_change |
Liability change. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("simplified-market-baseline-empty-book")
result <- do.call(simplified_bond_spread_risk,
c(case$kwargs, list(context = context)))
result$value
DR104 factor: rated values have no invented cap; only unrated is capped.
Description
DR104 factor: rated values have no invented cap; only unrated is capped.
Usage
simplified_bond_spread_stress(
modified_duration,
credit_quality_step,
eligibility_reference,
context,
...
)
Arguments
modified_duration |
Modified duration. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("simplified-market-baseline-slope-0")
result <- do.call(simplified_bond_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Sum per-contract max(current net benefit + additional future PV - net BE,0).
Description
Inputs refer to the year/event specified by the chosen article. A net portfolio difference is not a substitute for individually floored contracts.
Usage
simplified_capital_at_risk(
contracts,
kind,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
contracts |
Contracts. Reference type: |
kind |
Kind. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("uw-biometric-baseline-car-health_income-negative-be")
result <- do.call(simplified_capital_at_risk,
c(case$kwargs, list(context = context)))
result$value
Conservative grouping PD, not LGD-weighted single-name PD under Article199.
Description
Conservative grouping PD, not LGD-weighted single-name PD under Article199.
Usage
simplified_default_group_pd(
probabilities,
eligibility_reference,
valuation_reference,
context,
pool_rating_group = NULL,
...
)
Arguments
probabilities |
Probabilities. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
pool_rating_group |
Pool rating group. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: probability.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mitigation-baseline-zero-pd")
result <- do.call(simplified_default_group_pd,
c(case$kwargs, list(context = context)))
result$value
Three printed terms under Art93/100; no period inference or term floors.
Description
Health Art100(d) has conflicting DE/EN d2 descriptions. The supplied d2 basis must be explicitly externally qualified; its numeric value is retained.
Usage
simplified_disability_risk(
capital_at_risk_1,
capital_at_risk_2,
incidence_rate_1,
incidence_rate_2,
termination_rate,
modified_duration,
best_estimate,
kind,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
capital_at_risk_1 |
Capital at risk 1. Reference type: |
capital_at_risk_2 |
Capital at risk 2. Reference type: |
incidence_rate_1 |
Incidence rate 1. Reference type: |
incidence_rate_2 |
Incidence rate 2. Reference type: |
termination_rate |
Termination rate. Reference type: |
modified_duration |
Modified duration. Reference type: |
best_estimate |
Best estimate. Reference type: |
kind |
Kind. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("uw-biometric-baseline-disability-life-no-incidence")
result <- do.call(simplified_disability_risk,
c(case$kwargs, list(context = context)))
result$value
Allocate default-zero BSCR mitigation using absolute EAD by external counterparty.
Description
Reinsurance/securitisation EAD here is BE recoverables under107a(2), not automatically the BE-plus-debtors basis of107. Derivative/SPV EAD is external. A complete scoped portfolio and both hypothetical BSCR valuations are required.
Usage
simplified_ead_mitigation_2027(
exposures,
target_counterparty,
bscr_without,
bscr_with,
default_module_zero_in_both,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
exposures |
Exposures. Reference type: |
target_counterparty |
Target counterparty. Reference type: |
bscr_without |
Bscr without. Reference type: |
bscr_with |
Bscr with. Reference type: |
default_module_zero_in_both |
Default module zero in both. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("mitigation-future-ead-floor")
result <- do.call(simplified_ead_mitigation_2027,
c(case$kwargs, list(context = context)))
result$value
Art94/99/101: factorAn + A*(G(i+shift,n)-G(i,n)).
Description
G(r,n)=((1+r)**n-1)/r, continuously extended to G(0,n)=n. The amount is last-year expenses (life/health) or medical payments, NOT a projected BE. High-precision intermediates avoid cancellation around zero inflation.
Usage
simplified_expense_risk(
previous_year_amount,
modified_duration,
inflation_rate,
kind,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
previous_year_amount |
Previous year amount. Reference type: |
modified_duration |
Modified duration. Reference type: |
inflation_rate |
Inflation rate. Reference type: |
kind |
Kind. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("uw-simplified-baseline-life_expense-zero")
result <- do.call(simplified_expense_risk,
c(case$kwargs, list(context = context)))
result$value
Maximum of qualified top-five building-neighbourhood exposures and theta.
Description
Each category explicitly supplies five ranked centre-neighbourhood sums; nonexistent centres are qualified zero entries. Actual building geometry, full/partial200m intersection, LoBs7/19, ranking by building-specific net insured sum and recoveries not contingent on unrelated claims are external. No point-distance proxy and no second deduction of reinsurance are used.
Usage
simplified_fire_risk(
exposures,
average_residential_sum,
residential_market_shares,
qualification_reference,
context,
...
)
Arguments
exposures |
Exposures. Reference type: |
average_residential_sum |
Average residential sum. Reference type: |
residential_market_shares |
Residential market shares. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-06",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("simpl-close-baseline-fire-no-residential")
result <- do.call(simplified_fire_risk,
c(case$kwargs, list(context = context)))
result$value
Scale the reference SCR with volume, retaining its prescribed floor.
Description
Eligibility under DIR109(2/3), reference calculation and suitability of the company-specific volume are externally established. A factor ratio in the details avoids overflow/underflow from an unnecessary intermediate float.
Usage
simplified_immaterial_risk_2027(
base_scr,
base_volume,
current_volume,
elapsed_years,
is_market_risk,
eligibility_reference,
volume_reference,
context,
...
)
Arguments
base_scr |
Base scr. Reference type: |
base_volume |
Base volume. Reference type: |
current_volume |
Current volume. Reference type: |
elapsed_years |
Elapsed years. Reference type: |
is_market_risk |
Is market risk. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
volume_reference |
Volume reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("simplification-2027-zero-volume")
result <- do.call(simplified_immaterial_risk_2027,
c(case$kwargs, list(context = context)))
result$value
Art95/102 up: half * max(qualified rate, source threshold) * years * S+.
Description
Each contract provides termination_payment_net (after amounts recoverable from the policyholder/intermediary) and technical_provisions_excluding_rm. Negative strains never offset positive ones. Rate and period must describe the positive-strain population. The printed down formula has an unresolved sign issue and is deliberately not converted to positive capital.
Usage
simplified_lapse_risk(
contracts,
average_lapse_rate,
runoff_period,
kind,
direction,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
contracts |
Contracts. Reference type: |
average_lapse_rate |
Average lapse rate. Reference type: |
runoff_period |
Runoff period. Reference type: |
kind |
Kind. Reference type: |
direction |
Direction. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("uw-lapse-baseline-life-empty")
result <- do.call(simplified_lapse_risk,
c(case$kwargs, list(context = context)))
result$value
Art96 factor times the already contract-floored CAR sum, not death benefits.
Description
Art96 factor times the already contract-floored CAR sum, not death benefits.
Usage
simplified_life_catastrophe_risk(
capital_at_risk,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
capital_at_risk |
Capital at risk. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("uw-biometric-baseline-catastrophe-zero")
result <- do.call(simplified_life_catastrophe_risk,
c(case$kwargs, list(context = context)))
result$value
Art92/98: factorqn*growth**((n-1)/2)*BE on qualified selected contracts.
Description
q is the sum-assured weighted NEXT-twelve-month mortality rate. Fractional modified durations are retained; no invented rounding or contract selection.
Usage
simplified_longevity_risk(
mortality_rate,
modified_duration,
best_estimate,
kind,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
mortality_rate |
Mortality rate. Reference type: |
modified_duration |
Modified duration. Reference type: |
best_estimate |
Best estimate. Reference type: |
kind |
Kind. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("uw-simplified-baseline-life-longevity-3")
result <- do.call(simplified_longevity_risk,
c(case$kwargs, list(context = context)))
result$value
Art91/97 finite annual sum with midyear discount and survival weighting.
Description
q is the sum-assured weighted rate over all future years, unlike longevity. The printed upper index is modified duration: fractional values remain unqualified, never silently rounded, truncated or prorated.
Usage
simplified_mortality_risk(
capital_at_risk,
basic_spot_rates,
mortality_rate,
modified_duration,
kind,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
capital_at_risk |
Capital at risk. Reference type: |
basic_spot_rates |
Basic spot rates. Reference type: |
mortality_rate |
Mortality rate. Reference type: |
modified_duration |
Modified duration. Reference type: |
kind |
Kind. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("uw-biometric-baseline-mortality-life-empty")
result <- do.call(simplified_mortality_risk,
c(case$kwargs, list(context = context)))
result$value
Scale externally qualified BECEP to whole-pool BECE, retaining its sign.
Description
Scale externally qualified BECEP to whole-pool BECE, retaining its sign.
Usage
simplified_pool_external_best_estimate(
ceded_best_estimate,
undertaking_share,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
ceded_best_estimate |
Ceded best estimate. Reference type: |
undertaking_share |
Undertaking share. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("pool-simplified-baseline-external-zero")
result <- do.call(simplified_pool_external_best_estimate,
c(case$kwargs, list(context = context)))
result$value
Allocate signed external pool contributions; no extra floor on individual contributions.
Description
Allocate signed external pool contributions; no extra floor on individual contributions.
Usage
simplified_pool_external_mitigation(
best_estimates,
target_counterparty,
total_external_contribution,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
best_estimates |
Best estimates. Reference type: |
target_counterparty |
Target counterparty. Reference type: |
total_external_contribution |
Total external contribution. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("pool-simplified-baseline-contribution")
result <- do.call(simplified_pool_external_mitigation,
c(case$kwargs, list(context = context)))
result$value
PC/PU times already externally netted BEU; do not net external recoveries twice.
Description
PC/PU times already externally netted BEU; do not net external recoveries twice.
Usage
simplified_pool_member_best_estimate(
undertaking_best_estimate,
undertaking_share,
counterparty_share,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
undertaking_best_estimate |
Undertaking best estimate. Reference type: |
undertaking_share |
Undertaking share. Reference type: |
counterparty_share |
Counterparty share. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("pool-simplified-baseline-member-zero")
result <- do.call(simplified_pool_member_best_estimate,
c(case$kwargs, list(context = context)))
result$value
Article108 proportional-contract amount with the prescribed net-BE denominator.
Description
Article108 proportional-contract amount with the prescribed net-BE denominator.
Usage
simplified_proportional_mitigation(
gross_best_estimate,
recoverables,
submodule_scr,
target_counterparty,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
gross_best_estimate |
Gross best estimate. Reference type: |
recoverables |
Recoverables. Reference type: |
submodule_scr |
Submodule scr. Reference type: |
target_counterparty |
Target counterparty. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mitigation-baseline-proportional-zero")
result <- do.call(simplified_proportional_mitigation,
c(case$kwargs, list(context = context)))
result$value
Positive deduction corresponding to the printed negative Article61 AdjCD.
Description
One counterparty/homogeneous group; PD is next12months, duration and BE refer to the same recoverables. Not a counterparty-default SCR or projection.
Usage
simplified_reinsurance_default_adjustment(
probability_of_default,
modified_duration,
recoverables_best_estimate,
proportionality_satisfied,
qualification_reference,
context,
...
)
Arguments
probability_of_default |
Probability of default. Reference type: |
modified_duration |
Modified duration. Reference type: |
recoverables_best_estimate |
Recoverables best estimate. Reference type: |
proportionality_satisfied |
Proportionality satisfied. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("final-numeric-baseline-ri-zero-pd")
result <- do.call(simplified_reinsurance_default_adjustment,
c(case$kwargs, list(context = context)))
result$value
Allocate underwriting mitigation using BE recoverables plus related debtors.
Description
Only the target's nonnegative condition is imposed on individual recoveries; other signed entries are not silently floored or the resulting share capped.
Usage
simplified_reinsurance_mitigation(
recoverables,
target_counterparty,
scr_without,
scr_with,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
recoverables |
Recoverables. Reference type: |
target_counterparty |
Target counterparty. Reference type: |
scr_without |
Scr without. Reference type: |
scr_with |
Scr with. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mitigation-baseline-negative-total-effect")
result <- do.call(simplified_reinsurance_mitigation,
c(case$kwargs, list(context = context)))
result$value
Literal111a quadratic formula; preserve signed differences, no subfloors.
Description
'hyp' is the scenario without the arrangement. Despite its source label, 'without' denotes the ordinary capital/volume defined in111a(b/e). Recoverables are the qualified best estimate plus corresponding receivables. Segment sigma follows117(3)/148(3), not total premium/reserve sigma.
Usage
simplified_single_segment_mitigation(
cat_hyp,
cat_without,
premium_hyp,
premium_without,
sigma,
recoverables,
single_segment,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
cat_hyp |
Cat hyp. Reference type: |
cat_without |
Cat without. Reference type: |
premium_hyp |
Premium hyp. Reference type: |
premium_without |
Premium without. Reference type: |
sigma |
Sigma. Reference type: |
recoverables |
Recoverables. Reference type: |
single_segment |
Single segment. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2026-10-05",
known_at = "2026-10-06",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("simpl-close-baseline-mitigation-signed")
result <- do.call(simplified_single_segment_mitigation,
c(case$kwargs, list(context = context)))
result$value
Floor the difference of submodule sums once, not each submodule separately.
Description
Floor the difference of submodule sums once, not each submodule separately.
Usage
simplified_submodule_mitigation(
scr_without,
scr_with,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
scr_without |
Scr without. Reference type: |
scr_with |
Scr with. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("mitigation-baseline-sum-floor")
result <- do.call(simplified_submodule_mitigation,
c(case$kwargs, list(context = context)))
result$value
One qualified year of Article29a criteria, not two-year status or approval.
Description
The three-year average NET combined ratio is externally qualified: the source does not prescribe a universal weighting method for its construction. investment_default_scr is only the listed investment exposures, not the whole default module. Intangible charge follows the existing Article203 API. Captive alternative never overrides the Article29a(3) absolute exclusions.
Usage
small_non_complex_annual_conditions_2027(
undertaking_type,
metrics,
conditions,
qualification_reference,
context,
...
)
Arguments
undertaking_type |
Undertaking type. Reference type: |
metrics |
Metrics. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("proportionality-scope-parent-small-group")
result <- do.call(small_non_complex_annual_conditions_2027,
c(case$kwargs, list(context = context)))
result$value
Group213a annual criteria: NOT the solo29a business-share branching.
Description
Group status/history and each method2 entity's SNC classification remain externally qualified. Group premium cap is TOTAL GWP; group surplus must be strictly positive. Two distinct foreign-premium criteria must both pass. Interest TP basis explicitly excludes method2 entities. Method2-only waives consolidated interest/investment tests, never the other group conditions.
Usage
small_non_complex_group_annual_conditions_2027(
method,
metrics,
conditions,
qualification_reference,
context,
...
)
Arguments
method |
Method. Reference type: |
metrics |
Metrics. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("group-close-fail-combined_ratio_three_year_average")
result <- do.call(small_non_complex_group_annual_conditions_2027,
c(case$kwargs, list(context = context)))
result$value
Article180 table factors on externally qualified debt, not eligibility or BOF SCR.
Description
Published rounded discontinuities are retained. Insurer MCR breach requires external confirmation of the paragraph6 first-SFCR applicability condition.
Usage
specific_exposure_spread_stress(
modified_duration,
category,
qualification_reference,
credit_quality_step = NULL,
qualification = NULL,
context,
...
)
Arguments
modified_duration |
Modified duration. Reference type: |
category |
Category. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
credit_quality_step |
Credit quality step. Reference type: |
qualification |
Qualification. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-specific-spread-regional_local-none-12")
result <- do.call(specific_exposure_spread_stress,
c(case$kwargs, list(context = context)))
result$value
Sum three already valued/selected spread submodules; no missing-component defaults.
Description
Sum three already valued/selected spread submodules; no missing-component defaults.
Usage
spread_risk(bonds, securitisation, credit_derivatives, context, ...)
Arguments
bonds |
Bonds. Reference type: |
securitisation |
Securitisation. Reference type: |
credit_derivatives |
Credit derivatives. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-spread-sum-zero")
result <- do.call(spread_risk,
c(case$kwargs, list(context = context)))
result$value
Cap one SPV's separately valued recoverable at its external aggregate exposure.
Description
Do not substitute collateral or sum unrelated counterparties here. Contract boundaries, basis risk and the exposure evidence remain external prerequisites.
Usage
spv_recoverable_cap(
recoverable,
aggregate_maximum_exposure,
exposure_reference = NULL,
context,
...
)
Arguments
recoverable |
Recoverable. Reference type: |
aggregate_maximum_exposure |
Aggregate maximum exposure. Reference type: |
exposure_reference |
Exposure reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("future-spv-cap-zero-exposure")
result <- do.call(spv_recoverable_cap,
c(case$kwargs, list(context = context)))
result$value
Select an archived deadline length for an externally qualified type/scope.
Description
Historical rows are post-transition. Future ORSA has no inherited two-week row. The returned length is not a legally determined calendar date. Explicit group scope uses separate254/256/256b or historical373 rules. Group sfcr/single_sfcr entries include public disclosure, not just filing. Optional304e extension requires an externally qualified delegated act; an extreme event alone never creates an extension. ORSA/SPV are excluded.
Usage
supervisory_reporting_deadline_weeks(
report_kind,
qualification_reference,
scope = "solo",
context,
exceptional_extension_weeks = 0,
delegated_act_reference = NULL,
...
)
Arguments
report_kind |
Report kind. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
scope |
Scope. Reference type: |
context |
Explicit |
exceptional_extension_weeks |
Exceptional extension weeks. Reference type: |
delegated_act_reference |
Delegated act reference. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: weeks.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("reporting-timing-baseline-deadline-orsa")
result <- do.call(supervisory_reporting_deadline_weeks,
c(case$kwargs, list(context = context)))
result$value
Inventory core or full RSR references for a qualified request/period.
Description
Qualitative/quantitative, temporal and data-source alternatives remain alternatives: one reference documents the externally justified selection. No file inspection, content certification, board approval or filing occurs.
Usage
supervisory_reporting_evidence_check(
evidence,
assessment_reference,
scope_reference,
report_kind = "core",
context,
structure_sections = NULL,
structure_reference = NULL,
reporting_scope = "solo",
group_evidence = NULL,
...
)
Arguments
evidence |
Evidence. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
scope_reference |
Scope reference. Reference type: |
report_kind |
Report kind. Reference type: |
context |
Explicit |
structure_sections |
Structure sections. Reference type: |
structure_reference |
Structure reference. Reference type: |
reporting_scope |
Reporting scope. Reference type: |
group_evidence |
Group evidence. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("rsr-content-baseline-empty")
result <- do.call(supervisory_reporting_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Use an externally qualified daily mean; the selected profile determines its window and cap.
Description
Use an externally qualified daily mean; the selected profile determines its window and cap.
Usage
symmetric_adjustment(current_index, average_index, context, ...)
Arguments
current_index |
Current index. Reference type: |
average_index |
Average index. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: ratio.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("market-2027-sa-50")
result <- do.call(symmetric_adjustment,
c(case$kwargs, list(context = context)))
result$value
Average determined daily levels, not dates, months or carried-forward values.
Description
None declares that no index was determined that day; it is not permission to hide missing observations. Exact endpoint selection and completeness remain externally qualified. Never fetch or manufacture market data.
Usage
symmetric_adjustment_average(
daily_indices,
window_months,
complete_window,
index_qualified,
qualification_reference,
context,
...
)
Arguments
daily_indices |
Daily indices. Reference type: |
window_months |
Window months. Reference type: |
complete_window |
Complete window. Reference type: |
index_qualified |
Index qualified. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: index_level.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("symmetric-average-baseline-single")
result <- do.call(symmetric_adjustment_average,
c(case$kwargs, list(context = context)))
result$value
Inventory assumptions, management actions, FDB and behaviour evidence.
Description
Financial models and insurer-specific behaviour remain external. Conditional evidence is selected from explicit qualified scope decisions. A fully declared inventory proves neither method appropriateness nor supervisory compliance.
Usage
technical_provision_assumptions_evidence_check(
evidence,
conditions,
assessment_reference,
scope_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
conditions |
Conditions. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
scope_reference |
Scope reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("tp-assumptions-baseline-all-empty")
result <- do.call(technical_provision_assumptions_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Inventory TP data-quality evidence without certifying data or methods.
Description
External-data use and known deficiencies activate their own controls. The 2027 climate-history safeguard is unconditional, not a defect-only rule. AVAILABLE declares a reference, never verified content or legal compliance.
Usage
technical_provision_data_evidence_check(
evidence,
external_data_used,
data_deficiencies_present,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
external_data_used |
External data used. Reference type: |
data_deficiencies_present |
Data deficiencies present. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("tp-data-baseline-external-deficient-empty")
result <- do.call(technical_provision_data_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Inventory projection scope/uncertainty/expenses, not simulate cashflows.
Description
The 2027 expense basis reflects board decisions on new business; it does not silently inherit the baseline assumption of future new business. Category controls document relevance and appropriate inclusion, including reasoned absence. Currency separation and gross reinsurance expenses remain explicit.
Usage
technical_provision_projection_evidence_check(
evidence,
conditions,
assessment_reference,
scope_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
conditions |
Conditions. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
scope_reference |
Scope reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("tp-projection-baseline-all-empty")
result <- do.call(technical_provision_projection_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Inventory validation and documentation references for an externally qualified scope.
Description
The declared interval is not a calendar or proof of actual completion. Scope must identify all homogeneous groups and applicable segregated parts; references alone do not prove completeness, adequacy, or expert review.
Usage
technical_provision_validation_evidence_check(
evidence,
conditions,
declared_interval_years,
assessment_reference,
scope_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
conditions |
Conditions. Reference type: |
declared_interval_years |
Declared interval years. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
scope_reference |
Scope reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("tp-validation-audit-baseline-empty-evidence")
result <- do.call(technical_provision_validation_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Separate BE/RM method only; negative best estimates/total provisions are not floored.
Description
Separate BE/RM method only; negative best estimates/total provisions are not floored.
Usage
technical_provisions_sum(
best_estimate,
risk_margin,
replication_applies,
context,
...
)
Arguments
best_estimate |
Best estimate. Reference type: |
risk_margin |
Risk margin. Reference type: |
replication_applies |
Replication applies. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("tp-sum")
result <- do.call(technical_provisions_sum,
c(case$kwargs, list(context = context)))
result$value
Deduct the phased, optionally capped approved difference from current TP.
Description
Base amounts are NET on the Article308d(2) date or approved recalibration; the current provision is gross, with current recoverables remaining separate. None limit explicitly means no supervisory cap was imposed, not unknown. A negative deduction is not silently floored or turned into relief.
Usage
technical_provisions_transitional_value(
current_gross_provisions,
base_solvency2_net_provisions,
base_legacy_net_provisions,
supervisory_deduction_limit,
risk_free_transition_used,
approval_reference,
qualification_reference,
context,
...
)
Arguments
current_gross_provisions |
Current gross provisions. Reference type: |
base_solvency2_net_provisions |
Base solvency2 net provisions. Reference type: |
base_legacy_net_provisions |
Base legacy net provisions. Reference type: |
supervisory_deduction_limit |
Supervisory deduction limit. Reference type: |
risk_free_transition_used |
Risk free transition used. Reference type: |
approval_reference |
Approval reference. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("ltg-transition-baseline-tp-cap-zero")
result <- do.call(technical_provisions_transitional_value,
c(case$kwargs, list(context = context)))
result$value
Art86(a) lowest-level charge plus a fraction of its joint-FX difference.
Description
The hypothetical charge is externally valued under simultaneous Art188. Multiple affected components need86(b)'s common capacity treatment, not independent repeated limits or an invented allocation of shared capacity.
Usage
underwriting_currency_basis_risk(
capital_charge,
joint_currency_stress_charge,
single_component_only,
eligibility_reference,
valuation_reference,
context,
...
)
Arguments
capital_charge |
Capital charge. Reference type: |
joint_currency_stress_charge |
Joint currency stress charge. Reference type: |
single_component_only |
Single component only. Reference type: |
eligibility_reference |
Eligibility reference. Reference type: |
valuation_reference |
Valuation reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-10-05",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("final-numeric-baseline-fx-zero")
result <- do.call(underwriting_currency_basis_risk,
c(case$kwargs, list(context = context)))
result$value
Literal formula; never infer percentage-point/fraction scaling of GM/ROCE.
Description
The archived DE definitions do not explicitly resolve that scaling. Means, accounting equity definition and formula-native units need external review. Debt/CFO is signed; no regulatory beta floor/cap is added.
Usage
unlisted_equity_beta(
gross_margin_mean,
debt,
cashflow_mean,
equity_return_mean,
formula_units_qualified,
input_basis_reference,
context,
...
)
Arguments
gross_margin_mean |
Gross margin mean. Reference type: |
debt |
Debt. Reference type: |
cashflow_mean |
Cashflow mean. Reference type: |
equity_return_mean |
Equity return mean. Reference type: |
formula_units_qualified |
Formula units qualified. Reference type: |
input_basis_reference |
Input basis reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: beta.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("unlisted-equity-baseline-beta-intercept")
result <- do.call(unlisted_equity_beta,
c(case$kwargs, list(context = context)))
result$value
Check all supplied issuers; book weights differ from concentration values.
Description
Input completeness, company consolidation, fiscal periods, FX conversion and beta methodology are externally qualified. A failed condition yields0, an unresolved condition raises REVIEW_REQUIRED instead of being treated asFalse.
Usage
unlisted_equity_portfolio_screen(
investments,
qualification_reference,
context,
...
)
Arguments
investments |
Investments. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("unlisted-equity-baseline-portfolio-negative-beta")
result <- do.call(unlisted_equity_portfolio_screen,
c(case$kwargs, list(context = context)))
result$value
Check the inclusive rated-portfolio share and qualified bond facts.
Description
The portfolio denominator excludes Article180(2-16) positions. Classification against the referenced reporting definitions and liability cover is external; a missing rating field is never treated as evidence of an unrated bond.
Usage
unrated_bond_simplification_conditions(
rated_share,
conditions,
qualification_reference,
context,
...
)
Arguments
rated_share |
Rated share. Reference type: |
conditions |
Conditions. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("proportionality-baseline-bond-all-rated")
result <- do.call(unrated_bond_simplification_conditions,
c(case$kwargs, list(context = context)))
result$value
Look up AnnexXVII credibility with the method's correct year basis.
Description
The year count is not evidence of data representativeness or required consecutive history. Revision has no nonlife segment. Terminal table rows apply to all later years; no interpolation or below-table extrapolation.
Usage
usp_credibility_factor(
years,
method,
risk_module,
segment = NULL,
qualification_reference,
context,
...
)
Arguments
years |
Years. Reference type: |
method |
Method. Reference type: |
risk_module |
Risk module. Reference type: |
segment |
Segment. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-credibility-baseline-life")
result <- do.call(usp_credibility_factor,
c(case$kwargs, list(context = context)))
result$value
Inventory active USP data references, never certify their content or quality.
Description
Inventory active USP data references, never certify their content or quality.
Usage
usp_data_evidence_check(
evidence,
external_data_used,
multiple_external_sources,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
external_data_used |
External data used. Reference type: |
multiple_external_sources |
Multiple external sources. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-governance-baseline-evidence-empty-true-true")
result <- do.call(usp_data_evidence_check,
c(case$kwargs, list(context = context)))
result$value
Estimate raw NP-prime for one homogeneous F1 excess-of-loss group.
Description
F1 uses the second RAW moment, not variance. upper_limit is the
absolute upper loss threshold b2, not layer width. Data representativeness,
five reporting years, expense exclusion, gross/net basis, lognormal fit
and treaty eligibility need external qualification. No approval or automatic
standard-formula substitution follows from this component.
Usage
usp_excess_of_loss_estimate(
ultimate_claims,
retention,
upper_limit = NULL,
qualification_reference,
context,
...
)
Arguments
ultimate_claims |
Ultimate claims. Reference type: |
retention |
Retention. Reference type: |
upper_limit |
Upper limit. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-f1-baseline-unlimited")
result <- do.call(usp_excess_of_loss_estimate,
c(case$kwargs, list(context = context)))
result$value
Weight raw F1/F2 group estimates by externally qualified premium volumes.
Description
Same-segment homogeneity and Article116(3) volume measurement are not inferred from group labels. This is a weighted mean, not diversification, credibility weighting or permission to replace a standard parameter. F2 only supports weighting externally qualified estimates here; its printed estimator/moment anomalies are not repaired or evaluated. No inferred F2 cap.
Usage
usp_excess_of_loss_group_weighting(
estimated_factors,
premium_volumes,
qualification_reference,
method = "nonproportional_1",
context,
...
)
Arguments
estimated_factors |
Estimated factors. Reference type: |
premium_volumes |
Premium volumes. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
method |
Method. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-f1-groups-baseline-single")
result <- do.call(usp_excess_of_loss_group_weighting,
c(case$kwargs, list(context = context)))
result$value
Apply B/C1 finite-history correction BEFORE credibility blending.
Description
csigma_hatsqrt((T+1)/(T-1)) + (1-c)*sigma_standard. This correction does not belong to F1/F2 or reserve method2. Appropriate standard sigma and fitted sigma qualification are explicit external inputs.
Usage
usp_lognormal_credibility_blend(
estimated_sigma,
standard_sigma,
credibility,
years,
method,
calibration_reference,
context,
...
)
Arguments
estimated_sigma |
Estimated sigma. Reference type: |
standard_sigma |
Standard sigma. Reference type: |
credibility |
Credibility. Reference type: |
years |
Years. Reference type: |
method |
Method. Reference type: |
calibration_reference |
Calibration reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-lognormal-blend-baseline-premium-zero")
result <- do.call(usp_lognormal_credibility_blend,
c(case$kwargs, list(context = context)))
result$value
Fit prescribed delta/gamma, returning raw sigma before credibility.
Description
Both boundary faces and deterministic interior starts are searched. Optional numerical controls are reported, never treated as regulatory parameters. Nonconvergence and constant log-ratios are REVIEW_REQUIRED, not zero sigma. Data assumptions, consecutive history and supervisory approval stay external.
Usage
usp_lognormal_fit(
losses,
volumes,
method,
qualification_reference,
context,
max_iterations = 1000,
gradient_tolerance = 1e-07,
...
)
Arguments
losses |
Losses. Reference type: |
volumes |
Volumes. Reference type: |
method |
Method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
max_iterations |
Max iterations. Reference type: |
gradient_tolerance |
Gradient tolerance. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-fit-baseline-premium-upper-boundary")
result <- do.call(usp_lognormal_fit,
c(case$kwargs, list(context = context)))
result$value
Evaluate prescribed sigma and objective at explicit delta/gamma.
Description
This does NOT claim the supplied pair minimizes the objective. B uses accident-year aggregated claims and earned premiums; C1 uses financial-year end reserves plus payments for opening claims, and opening reserves. Both include servicing expenses, unlike the F1 individual-claim estimator. Consecutiveness, adjustments, statistical assumptions and fitting need separate qualification. No automatic standard-formula replacement.
Usage
usp_lognormal_sigma(
losses,
volumes,
mixing,
log_coefficient,
method,
qualification_reference,
context,
...
)
Arguments
losses |
Losses. Reference type: |
volumes |
Volumes. Reference type: |
mixing |
Mixing. Reference type: |
log_coefficient |
Log coefficient. Reference type: |
method |
Method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-lognormal-baseline-premium-delta0")
result <- do.call(usp_lognormal_sigma,
c(case$kwargs, list(context = context)))
result$value
Inventory method-specific references, with explicit gross/net and year bases.
Description
B/C/D/E include servicing expenses; F1/F2 exclude them. A reference is never inspected or treated as verified data, calibration or approval. This inventory neither enables the blocked F2 estimator nor extends the square-triangle reserve2 calculator to rectangular development histories.
Usage
usp_method_data_evidence_check(
evidence,
method,
data_basis,
assessment_reference,
context,
...
)
Arguments
evidence |
Evidence. Reference type: |
method |
Method. Reference type: |
data_basis |
Data basis. Reference type: |
assessment_reference |
Assessment reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-method-data-baseline-premium-net-empty")
result <- do.call(usp_method_data_evidence_check,
c(case$kwargs, list(context = context)))
result$value
c*NP_est + (1-c)*NP_standard; separate from either F1/F2 estimator.
Description
Input-factor qualification and their source-defined calibration are external. The engine neither estimates loss distributions here nor substitutes this result into a standard-formula calculation or grants approval.
Usage
usp_nonproportional_credibility_blend(
estimated_factor,
standard_factor,
credibility,
method,
calibration_reference,
context,
...
)
Arguments
estimated_factor |
Estimated factor. Reference type: |
standard_factor |
Standard factor. Reference type: |
credibility |
Credibility. Reference type: |
method |
Method. Reference type: |
calibration_reference |
Calibration reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-blend-baseline-nonproportional_1-full")
result <- do.call(usp_nonproportional_credibility_blend,
c(case$kwargs, list(context = context)))
result$value
Check declared replacement scope, not data/method fitness or authorization.
Description
Gross-premium sigma and the NP factor cannot both be replaced in one segment. Revision is available only absent material inflation risk; materiality follows decision relevance, not an invented numeric cutoff.
Usage
usp_parameter_scope_check(
replacements,
risk_module,
segment = NULL,
qualified_reinsurance = NULL,
material_inflation_risk = NULL,
qualification_reference,
context,
...
)
Arguments
replacements |
Replacements. Reference type: |
risk_module |
Risk module. Reference type: |
segment |
Segment. Reference type: |
qualified_reinsurance |
Qualified reinsurance. Reference type: |
material_inflation_risk |
Material inflation risk. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-governance-baseline-segment-nonlife-1")
result <- do.call(usp_parameter_scope_check,
c(case$kwargs, list(context = context)))
result$value
Check collective coverage and each contract's declared209/210/211/213 compliance.
Description
For multiple contracts the coverage conditions apply collectively, whereas every individual contract must satisfy the cross-article requirements. Qualified equivalent SPV arrangements are included; equivalent transfer is externally assessed, never inferred from the name or number of contracts. Finite/similar transfers invalidate this submitted contract set for USP; omit none from the declaration (empty means all are qualified non-finite).
Usage
usp_reinsurance_contract_conditions(
coverage_conditions,
contract_requirements,
contract_type,
qualification_reference,
finite_reinsurance_ids = list(),
context,
...
)
Arguments
coverage_conditions |
Coverage conditions. Reference type: |
contract_requirements |
Contract requirements. Reference type: |
contract_type |
Contract type. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
finite_reinsurance_ids |
Finite reinsurance ids. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-governance-baseline-treaty-excess_of_loss-15")
result <- do.call(usp_reinsurance_contract_conditions,
c(case$kwargs, list(context = context)))
result$value
D(4) linear blend, WITHOUT the different B/C1 finite-history correction.
Description
D(4) linear blend, WITHOUT the different B/C1 finite-history correction.
Usage
usp_reserve2_credibility_blend(
estimated_sigma,
standard_sigma,
credibility,
calibration_reference,
context,
...
)
Arguments
estimated_sigma |
Estimated sigma. Reference type: |
standard_sigma |
Standard sigma. Reference type: |
credibility |
Credibility. Reference type: |
calibration_reference |
Calibration reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-reserve2-blend-baseline-large")
result <- do.call(usp_reserve2_credibility_blend,
c(case$kwargs, list(context = context)))
result$value
Compute sqrt(MSEP)/reserve for a qualified square cumulative triangle.
Description
Rows run oldest to newest accident year with lengths n,n-1,...,1. I>J is permitted by D(2)e but needs a separately qualified treatment of the printed formula's out-of-range diagonal indices; no silent padding. Consecutive years, expense inclusion, matching net reinsurance basis, negligible oldest-year tail and stochastic assumptions remain external.
Usage
usp_reserve2_estimate(cumulative_claims, qualification_reference, context, ...)
Arguments
cumulative_claims |
Cumulative claims. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-reserve2-baseline-square")
result <- do.call(usp_reserve2_estimate,
c(case$kwargs, list(context = context)))
result$value
Return the upper numerical bracket of the prescribed compound quantile.
Description
Uses prescribed raw-data moments, not a Monte Carlo or internally chosen insurer model. The lower/upper severity-rounding order is mathematical; the floating-point guard is NOT formally certified interval arithmetic. Numerical controls, backend versions, bounds and clipping are disclosed. Nonconvergence or degenerate distribution fits require external review.
Usage
usp_revision_compound_quantile(
annual_benefits,
qualification_reference,
context,
relative_tolerance = 0.001,
max_grid_power = 20,
...
)
Arguments
annual_benefits |
Annual benefits. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
relative_tolerance |
Relative tolerance. Reference type: |
max_grid_power |
Max grid power. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-revision-quantile-baseline-standard")
result <- do.call(usp_revision_compound_quantile,
c(case$kwargs, list(context = context)))
result$value
c*(quantile-mean)/mean+(1-c)*S, preserving the source's absence of a floor.
Description
The quantile of the independent negative-binomial/lognormal compound sum is externally qualified, NOT generated here. Probability must match the active profile (including explicit analyst override). Credibility is supplied, not inferred from the ambiguous printed E(4)a 'section7' cross-reference.
Usage
usp_revision_credibility_blend(
mean_increase,
quantile_increase,
credibility,
quantile_probability,
risk_module,
calibration_reference,
context,
...
)
Arguments
mean_increase |
Mean increase. Reference type: |
quantile_increase |
Quantile increase. Reference type: |
credibility |
Credibility. Reference type: |
quantile_probability |
Quantile probability. Reference type: |
risk_module |
Risk module. Reference type: |
calibration_reference |
Calibration reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-revision-blend-baseline-life-no-floor")
result <- do.call(usp_revision_credibility_blend,
c(case$kwargs, list(context = context)))
result$value
Return expected annual increases and prescribed sample moments.
Description
Each beneficiary supplies aligned A0..AT, including the initial baseline. Only strictly positive changes enter severity statistics. Frequency includes ALL years, including zero-event years. Negative changes are not netted. Computable moments do not prove negative-binomial/lognormal suitability, independence, immaterial inflation risk or the prescribed aggregate quantile.
Usage
usp_revision_moments(annual_benefits, qualification_reference, context, ...)
Arguments
annual_benefits |
Annual benefits. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-revision-moments-baseline-mixed")
result <- do.call(usp_revision_moments,
c(case$kwargs, list(context = context)))
result$value
Select a qualified more accurate method, otherwise conservative capital result.
Description
Capital requirements must be comparable under the same qualified inputs. We do not assume that the largest raw parameter always gives the largest capital requirement. Ties use a disclosed deterministic technical ordering, not a claimed regulatory preference for one standardized method.
Usage
usp_standard_method_selection(
method_results,
parameter,
superiority_demonstrated,
superior_method = NULL,
qualification_reference,
context,
...
)
Arguments
method_results |
Method results. Reference type: |
parameter |
Parameter. Reference type: |
superiority_demonstrated |
Superiority demonstrated. Reference type: |
superior_method |
Superior method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: factor.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("usp-governance-baseline-selection-single-premium_sigma-premium")
result <- do.call(usp_standard_method_selection,
c(case$kwargs, list(context = context)))
result$value
Deduct already scope-aligned goodwill and Article12-zero intangibles.
Description
Method eligibility, hierarchy and Article13(2) exclusions are external. Inputs use the same held-participation basis; never apply ownership twice.
Usage
valuation_accounting_equity_adjustment(
participation_value,
goodwill_amount,
zero_valued_intangibles_amount,
method,
qualification_reference,
context,
...
)
Arguments
participation_value |
Participation value. Reference type: |
goodwill_amount |
Goodwill amount. Reference type: |
zero_valued_intangibles_amount |
Zero valued intangibles amount. Reference type: |
method |
Method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-baseline-accounting-negative-ias_equity_fallback")
result <- do.call(valuation_accounting_equity_adjustment,
c(case$kwargs, list(context = context)))
result$value
Check declared Article9(4) facts; never establish method compatibility.
Description
The IFRS-group exclusion is distinct from the four Article9 conditions. Article13/16 restrictions and substantive comparison evidence remain separate.
Usage
valuation_accounts_method_conditions(
conditions,
in_ifrs_consolidation_group,
qualification_reference,
context,
...
)
Arguments
conditions |
Conditions. Reference type: |
in_ifrs_consolidation_group |
In ifrs consolidation group. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: indicator.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-accounts-baseline-group")
result <- do.call(valuation_accounts_method_conditions,
c(case$kwargs, list(context = context)))
result$value
Apply the held share to externally qualified Article13 net assets.
Description
No floor, method-ranking decision, Article13(2) exclusion determination or asset/technical-provision valuation is inferred from this arithmetic.
Usage
valuation_adjusted_equity_component(
excess_assets_over_liabilities,
share,
qualification_reference,
context,
...
)
Arguments
excess_assets_over_liabilities |
Excess assets over liabilities. Reference type: |
share |
Share. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-baseline-equity-zero")
result <- do.call(valuation_adjusted_equity_component,
c(case$kwargs, list(context = context)))
result$value
Sum externally qualified positions, retaining negative values and surplus.
Description
Own shares remain assets and subordinated debt remains a liability here; the separate Article88 component subsequently adjusts those exactly once. A declared complete input scope does not certify a complete insurer balance.
Usage
valuation_balance_sheet_excess(
assets,
liabilities,
complete_scope,
qualification_reference,
context,
...
)
Arguments
assets |
Assets. Reference type: |
liabilities |
Liabilities. Reference type: |
complete_scope |
Complete scope. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-balance-baseline-zero")
result <- do.call(valuation_balance_sheet_excess,
c(case$kwargs, list(context = context)))
result$value
Discount externally expected settlement payments on a basic risk-free curve.
Description
Recognition/materiality, complete runoff, probability weighting and curve construction are external. In particular VA/MA curves are not accepted.
Usage
valuation_contingent_liability(
cashflows,
recognised_under_article11,
runoff_complete,
curve_basis,
qualification_reference,
curve_reference,
context,
...
)
Arguments
cashflows |
Cashflows. Reference type: |
recognised_under_article11 |
Recognised under article11. Reference type: |
runoff_complete |
Runoff complete. Reference type: |
curve_basis |
Curve basis. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
curve_reference |
Curve reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-extra-baseline-zero")
result <- do.call(valuation_contingent_liability,
c(case$kwargs, list(context = context)))
result$value
Net externally recognised, undiscounted tax balances only when qualified.
Description
Positive results are net assets; negative results are net liabilities. No tax rates, taxable-profit projections, expiry or LAC-DT are calculated.
Usage
valuation_deferred_tax_net(
deferred_tax_assets,
deferred_tax_liabilities,
legally_enforceable_offset,
same_tax_authority,
same_taxable_entity,
undiscounted,
qualification_reference,
context,
excluded_participations = NULL,
valuation_level = NULL,
recognition_conditions = NULL,
recognition_documents = NULL,
...
)
Arguments
deferred_tax_assets |
Deferred tax assets. Reference type: |
deferred_tax_liabilities |
Deferred tax liabilities. Reference type: |
legally_enforceable_offset |
Legally enforceable offset. Reference type: |
same_tax_authority |
Same tax authority. Reference type: |
same_taxable_entity |
Same taxable entity. Reference type: |
undiscounted |
Undiscounted. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
excluded_participations |
Excluded participations. Reference type: |
valuation_level |
Valuation level. Reference type: |
recognition_conditions |
Recognition conditions. Reference type: |
recognition_documents |
Recognition documents. Reference type: |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-tax-net-baseline-zero")
result <- do.call(valuation_deferred_tax_net,
c(case$kwargs, list(context = context)))
result$value
Apply goodwill/other-intangible zero rules, not a fair-value model.
Description
Positive recognition requires both external Article12 qualifications and a separately supplied Article10 value. Unused values are rejected, not ignored.
Usage
valuation_intangible_value(
asset_type,
separately_saleable = NULL,
active_market_value_evidenced = NULL,
qualified_value = NULL,
qualification_reference,
context,
...
)
Arguments
asset_type |
Asset type. Reference type: |
separately_saleable |
Separately saleable. Reference type: |
active_market_value_evidenced |
Active market value evidenced. Reference type: |
qualified_value |
Qualified value. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-23",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-baseline-goodwill-zero")
result <- do.call(valuation_intangible_value,
c(case$kwargs, list(context = context)))
result$value
Remove externally isolated cumulative own-credit value change since initial recognition.
Description
The input is a monetary valuation effect, not a spread or a period-only delta. Initial-recognition credit is retained; do not also apply this correction to a bottom-up value already holding initial credit constant.
Usage
valuation_liability_excluding_own_credit(
current_value,
own_credit_change,
qualification_reference,
context,
...
)
Arguments
current_value |
Current value. Reference type: |
own_credit_change |
Own credit change. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-own-credit-baseline-signed")
result <- do.call(valuation_liability_excluding_own_credit,
c(case$kwargs, list(context = context)))
result$value
Forward a value only on an explicitly supported Article16 method path.
Description
The closed method vocabulary describes this component's supported scope; a rejected unimplemented technique is not thereby declared unlawful. Required cost flags mean material costs were assessed and adjusted where necessary. The future deposit exception delegates its profile, threshold and override checks to the existing component. No zero/default substitutes for missing data.
Usage
valuation_method_checked_value(
qualified_value,
position_type,
method,
qualification_reference,
conditions = NULL,
deposit_terms = NULL,
hierarchy = NULL,
own_credit = NULL,
context,
...
)
Arguments
qualified_value |
Qualified value. Reference type: |
position_type |
Position type. Reference type: |
method |
Method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
conditions |
Conditions. Reference type: |
deposit_terms |
Deposit terms. Reference type: |
hierarchy |
Hierarchy. Reference type: |
own_credit |
Own credit. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-method-baseline-16-3-pass")
result <- do.call(valuation_method_checked_value,
c(case$kwargs, list(context = context)))
result$value
Apply two externally qualified exclusions, not a group-scope decision.
Description
Flags refer specifically to Directive214(2) and229. Otherwise the external Article13 value passes through without a floor or a second ownership share.
Usage
valuation_participation_value(
excluded_from_group_supervision,
deducted_from_group_own_funds,
qualified_value = NULL,
qualification_reference,
context,
...
)
Arguments
excluded_from_group_supervision |
Excluded from group supervision. Reference type: |
deducted_from_group_own_funds |
Deducted from group own funds. Reference type: |
qualified_value |
Qualified value. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2025-01-17",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2024-2025-v0.1")
case <- reference_case("valuation-extra-baseline-retained")
result <- do.call(valuation_participation_value,
c(case$kwargs, list(context = context)))
result$value
Apply the 2027 deposit exception, without computing cost or amortisation.
Description
Deposit classification, term basis, SNC status and materiality are external. Both comparisons are strict; failure does not invent a fair-value fallback.
Usage
valuation_short_term_deposit_cost_2027(
cost_value,
term_years,
small_non_complex,
no_material_valuation_error,
alternative_value = NULL,
method,
qualification_reference,
context,
...
)
Arguments
cost_value |
Cost value. Reference type: |
term_years |
Term years. Reference type: |
small_non_complex |
Small non complex. Reference type: |
no_material_valuation_error |
No material valuation error. Reference type: |
alternative_value |
Alternative value. Reference type: |
method |
Method. Reference type: |
qualification_reference |
Qualification reference. Reference type: |
context |
Explicit |
... |
Reserved; unknown inputs are rejected rather than ignored. |
Details
Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the Golden Source.
Value
A Result list with value, unit, formula_id, sources,
context, reproducible R input_hash/profile_hash, details and status.
Value unit: context currency.
See Also
Context(), NumericOverride(), reference_cases()
Examples
context <- Context(
as_of = "2027-01-30",
known_at = "2026-09-30",
currency = "EUR",
profile_id = "EU-S2-DOCUMENTS-2027-v0.1")
case <- reference_case("valuation-deposit-future-cost")
result <- do.call(valuation_short_term_deposit_cost_2027,
c(case$kwargs, list(context = context)))
result$value