Package {solvency2}


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:

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 rule_profiles().

mode

Must be "REFERENCE_ONLY"; a result is not supervisory approval.

overrides

List of NumericOverride() entries.

Value

An immutable-by-convention S3 Context list. Functions validate it before calculation; modifying a copy does not affect other contexts.

See Also

parameter(), rule_profiles()

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, YYYY-MM-DD.

currency

Uppercase three-letter currency.

curve_kind

One of base, va, ma, stress, custom.

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

A DiscountCurve().

payment_date

Exact canonical payment date.

payload

Exact version-1 schema with metadata and date/discount_factor rows.

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 function (an API name) and inputs (a named list). list("$ref" = "node_id") passes a dependency's numeric value into an input; provenance stays in the node results.

context

Explicit Context() shared by all nodes.

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 "profile.json".

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

Context(), parameter()

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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

matrix_id

Matrix id. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

yield_inputs

Yield inputs. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

target_cqs

Target cqs. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

assessment

Assessment. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list. Supply an ordered R list or the documented numeric vector.

latest_financials

Latest financials. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

eligible_currency_revenue_share

Eligible currency revenue share. Reference type: float.

years_without_credit_event

Years without credit event. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

index_yields

Index yields. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

current_issue_id

Current issue id. Reference type: str.

target_cqs

Target cqs. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

intangible_charge

Intangible charge. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

runoff_complete

Runoff complete. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

cashflow_reference

Cashflow reference. Reference type: str.

curve_reference

Curve reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

runoff_complete

Runoff complete. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

cashflow_reference

Cashflow reference. Reference type: str.

curve_reference

Curve reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

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 expected_inflows and expected_outflows in context currency.

curve

Validated DiscountCurve() with an explicit point for every payment date.

runoff_complete

Explicit completeness declaration.

cashflow_reference

External cashflow provenance.

context

Explicit Context() matching the curve date and currency.

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: float.

category

Category. Reference type: str.

classification_reference

Classification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

assigned_eligibility

Assigned eligibility. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

coinvestment

Coinvestment. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

modified_scr

Modified scr. Reference type: float.

method

Method. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

base_eligible_own_funds

Base eligible own funds. Reference type: float | None.

modified_eligible_own_funds

Modified eligible own funds. Reference type: float | None.

rebuttal_established

Rebuttal established. Reference type: bool | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

actual_breach

Actual breach. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

breach_risk_within_horizon

Breach risk within horizon. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

deterioration

Deterioration. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

consolidated_own_funds

Consolidated own funds. Reference type: float | None.

consolidated_scr

Consolidated scr. Reference type: float | None.

transition_measures

Transition measures. Reference type: list[str] | None. Supply an ordered R list or the documented numeric vector.

transition_plan_active

Transition plan active. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

plan_kind

Plan kind. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

scope_reference

Scope reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

technical_provisions

Technical provisions. Reference type: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

direction

Direction. Reference type: str.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

stress_reference

Stress reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

reserve_volume

Reserve volume. Reference type: float.

eligibility_reference

Eligibility reference. Reference type: str.

volume_reference

Volume reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

recoverable

Recoverable. Reference type: float.

use_gross

Use gross. Reference type: bool | None.

peril

Peril. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

region

Region. Reference type: str.

zone_ordinals

Zone ordinals. Reference type: list[int]. Supply an ordered R list or the documented numeric vector.

insured_sum

Insured sum. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

exposure_basis_reference

Exposure basis reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

region_charges

Region charges. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

other_charge

Other charge. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

region

Region. Reference type: str.

zone_ordinal

Zone ordinal. Reference type: int.

insured_sum

Insured sum. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

region

Region. Reference type: str.

weighted_sums

Weighted sums. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

geographic_code

Geographic code. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

financial_years

Financial years. Reference type: ⁠documented input⁠.

retentions

Retentions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_factor

Risk factor. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

classification_reference

Classification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | float | None.

solvency_ratio

Solvency ratio. Reference type: float | None.

mcr_compliant

Mcr compliant. Reference type: bool | None.

sfcr_published

Sfcr published. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

assets

Assets. Reference type: float.

threshold

Threshold. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | float | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | float | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool | None.

premium_payment_enforceable

Premium payment enforceable. Reference type: bool | None.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

coverage_start_date

Coverage start date. Reference type: str.

evidence_reference

Evidence reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

facts

Facts. Reference type: Mapping[str, bool | None]. Supply a named R list with the keys shown in the example/reference case.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr

Scr. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

selected_exposure_ids

Selected exposure ids. Reference type: Sequence[str] | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

net_losses

Net losses. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

tie_break

Tie break. Reference type: str | None.

public_underlying

Public underlying. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

hedge_exemption

Hedge exemption. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

category

Category. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

foreign_currency

Foreign currency. Reference type: str.

direction

Direction. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

classification_reference

Classification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

net_losses

Net losses. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

tie_break

Tie break. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

requirement

Requirement. Reference type: str.

reinsurance_branch

Reinsurance branch. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

domestic_deposit_relief

Domestic deposit relief. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

relief_reference

Relief reference. Reference type: str | None.

source_version

Source version. Reference type: str.

applicability_reference

Applicability reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

source_version

Source version. Reference type: str.

applicability_reference

Applicability reference. Reference type: str.

current_cover_assets

Current cover assets. Reference type: float | None.

foreign_security_exception

Foreign security exception. Reference type: float.

foreign_security_reference

Foreign security reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

market_value

Market value. Reference type: float.

encumbered

Encumbered. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

supervisory_value

Supervisory value. Reference type: float | None.

supervisory_reference

Supervisory reference. Reference type: str | None.

expert_valuation_reference

Expert valuation reference. Reference type: str | None.

source_version

Source version. Reference type: str.

applicability_reference

Applicability reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

gross_outflows

Gross outflows. Reference type: float.

realisable_cash

Realisable cash. Reference type: float.

total_investments

Total investments. Reference type: float.

source_version

Source version. Reference type: str.

applicability_reference

Applicability reference. Reference type: str.

horizon_reference

Horizon reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

prefunded

Prefunded. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

collateral_ignored_in_estate_share

Collateral ignored in estate share. Reference type: bool | None.

legal_reference

Legal reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr_with

Scr with. Reference type: float.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

recoverables

Recoverables. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_mitigation

Risk mitigation. Reference type: float.

collateral_value

Collateral value. Reference type: float.

variant

Variant. Reference type: str.

collateral_basis

Collateral basis. Reference type: str.

collateral_ignored_in_estate_share

Collateral ignored in estate share. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

netting_qualified

Netting qualified. Reference type: bool | None.

liabilities_settled_before_clearing

Liabilities settled before clearing. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

single_name_count

Single name count. Reference type: int | None.

elect_type1

Elect type1. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_adjusted_mortgage

Risk adjusted mortgage. Reference type: float.

eligible_guarantee

Eligible guarantee. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

guarantee_conditions

Guarantee conditions. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

exposure_type

Exposure type. Reference type: str.

classification_reference

Classification reference. Reference type: str.

nominal_value

Nominal value. Reference type: float | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_mitigation_contribution

Risk mitigation contribution. Reference type: float.

risk_adjusted_collateral

Risk adjusted collateral. Reference type: float.

variant

Variant. Reference type: str.

encumbered_asset_fraction

Encumbered asset fraction. Reference type: float.

collateral_ignored_in_estate_share

Collateral ignored in estate share. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

undertaking_share

Undertaking share. Reference type: float | None.

counterparty_share

Counterparty share. Reference type: float | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

classification_reference

Classification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

current_solvency_ratio

Current solvency ratio. Reference type: float | None.

equivalent

Equivalent. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

out_of_scope_members

Out of scope members. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

membership_reference

Membership reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

joint_liability

Joint liability. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

pool_solvency_ratio

Pool solvency ratio. Reference type: float | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

classification_reference

Classification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

solvency_ratio

Solvency ratio. Reference type: float | None.

mcr_compliant

Mcr compliant. Reference type: bool | None.

sfcr_published

Sfcr published. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

substitute_provider

Substitute provider. Reference type: bool | None.

protection

Protection. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

clearing_category

Clearing category. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

central_government_guarantee

Central government guarantee. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_mitigation

Risk mitigation. Reference type: float.

risk_adjusted_collateral

Risk adjusted collateral. Reference type: float.

counterparty_is_insurer

Counterparty is insurer. Reference type: bool | None.

collateral_ignored_in_estate_share

Collateral ignored in estate share. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

encumbered_asset_fraction

Encumbered asset fraction. Reference type: float | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

method

Method. Reference type: str.

proportionality_reference

Proportionality reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

market_adjustment

Market adjustment. Reference type: float | None.

collateral_type

Collateral type. Reference type: str.

conditions

Conditions. Reference type: Mapping[str, bool | None]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

method

Method. Reference type: str.

proportionality_reference

Proportionality reference. Reference type: str | None.

custodian_assessment

Custodian assessment. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

market_adjustment

Market adjustment. Reference type: float.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr_with

Scr with. Reference type: float.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_adjusted_collateral

Risk adjusted collateral. Reference type: float.

netting_applied

Netting applied. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

pool_treatment

Pool treatment. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

provider_substitutions

Provider substitutions. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[dict]. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

method

Method. Reference type: str.

proportionality_reference

Proportionality reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

other_lgd

Other lgd. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

defaulted_forborne_lgd

Defaulted forborne lgd. Reference type: float.

other_lgd

Other lgd. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 annual_effective_rate (decimal) and time_years (explicit year fraction).

curve_id, curve_kind, source_reference

Curve identity; see DiscountCurve().

time_basis_reference

Nonempty external year-fraction convention reference.

context

Explicit Context().

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: README, API, DATA, PARAMETERS, RECIPES, LIMITATIONS, DEVELOPMENT, ACCEPTANCE, DISCLAIMER, SECURITY, THIRD_PARTY_NOTICES or CHANGELOG.

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: str.

symmetric_adjustment

Symmetric adjustment. Reference type: float.

duration_based

Duration based. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

classification

Classification. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

shock

Shock. Reference type: float.

short_position

Short position. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

losses_can_exceed_investment

Losses can exceed investment. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 Context(). If supplied, only resources qualified for that profile and matching synthetic references are exported.

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: float.

evidence

Evidence. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

model_kind

Model kind. Reference type: str.

output_kind

Output kind. Reference type: str.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

model_reference

Model reference. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

scope_reference

Scope reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

category

Category. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

solvency_ratio

Solvency ratio. Reference type: float | None.

mcr_compliant

Mcr compliant. Reference type: bool | None.

sfcr_published

Sfcr published. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

assessment_reference

Assessment reference. Reference type: str.

supervisory_policy_interval_years

Supervisory policy interval years. Reference type: float | None.

non_snc_policy_approval_reference

Non snc policy approval reference. Reference type: str | None.

de_ppp_assessment

De ppp assessment. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

guidance_assessment

Guidance assessment. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

liquidity_assessment

Liquidity assessment. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

annual_total

Annual total. Reference type: float.

supervisory_exception_denied

Supervisory exception denied. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

consolidated_scr

Consolidated scr. Reference type: float.

minimum

Minimum. Reference type: float.

method2_related

Method2 related. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

sector_contributions

Sector contributions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

method2_own_funds_adjustment

Method2 own funds adjustment. Reference type: float.

method2_capital_addon

Method2 capital addon. Reference type: float.

approval_reference

Approval reference. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

entity_scr

Entity scr. Reference type: float.

share

Share. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

related

Related. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

related

Related. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

third_country

Third country. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

related

Related. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

capital_addon

Capital addon. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

simplified_contributions

Simplified contributions. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

calculated_scr

Calculated scr. Reference type: float.

minimum

Minimum. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

sector_contributions

Sector contributions. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

book_values

Book values. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

other_supervisory_shares

Other supervisory shares. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

proportional_amounts

Proportional amounts. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

supervisory_recalculation_required

Supervisory recalculation required. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

recalculated_full_amount

Recalculated full amount. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

related

Related. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

parent_scr

Parent scr. Reference type: float.

related

Related. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

own_funds_adjustment

Own funds adjustment. Reference type: float.

capital_addon

Capital addon. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

sector_contributions

Sector contributions. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

other_nonavailable_own_funds_net

Other nonavailable own funds net. Reference type: float.

scr_contribution

Scr contribution. Reference type: float.

parent_subscribed_capital_share

Parent subscribed capital share. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

model_outputs

Model outputs. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

complete_scope_confirmed

Complete scope confirmed. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

model_reference

Model reference. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr_contribution

Scr contribution. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

related_insurer_scr

Related insurer scr. Reference type: float | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

method1_applied

Method1 applied. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

single_document

Single document. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

consolidated_scr

Consolidated scr. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

issued_before_joining

Issued before joining. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

included_in_group_calculation

Included in group calculation. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

group_supervision_years

Group supervision years. Reference type: float | None.

orsa_support_confirmed

Orsa support confirmed. Reference type: bool | None.

issuer_type

Issuer type. Reference type: str.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

transactions

Transactions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

parent_id

Parent id. Reference type: str.

measure

Measure. Reference type: str.

other_intragroup_adjustments_complete

Other intragroup adjustments complete. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr

Scr. Reference type: float.

share

Share. Reference type: float.

is_subsidiary

Is subsidiary. Reference type: bool | None.

proportionate_deficit_approved

Proportionate deficit approved. Reference type: bool | None.

approval_reference

Approval reference. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

requirements

Requirements. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

measure

Measure. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

group_gross_premiums

Group gross premiums. Reference type: float.

host_market_gross_premiums

Host market gross premiums. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

entity_type

Entity type. Reference type: str.

capital_requirement

Capital requirement. Reference type: float | None.

approval_reference

Approval reference. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

share

Share. Reference type: float.

diversified_component

Diversified component. Reference type: float.

component_scrs

Component scrs. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

transition

Transition. Reference type: Mapping[str, bool] | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

group_counts

Group counts. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

group_counts

Group counts. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

grouping_reference

Grouping reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

mean_benefits

Mean benefits. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

concentration_reference

Concentration reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

peril

Peril. Reference type: str.

scope_reference

Scope reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

nominal_net_best_estimate

Nominal net best estimate. Reference type: float.

attachment_point

Attachment point. Reference type: float.

cover_size

Cover size. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

nominal_net_best_estimate

Nominal net best estimate. Reference type: float.

recovery

Recovery. Reference type: float.

cession_share

Cession share. Reference type: float.

additional_premium

Additional premium. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

valuations

Valuations. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_basis

Valuation basis. Reference type: str.

grouping_mode

Grouping mode. Reference type: str.

grouping_qualified

Grouping qualified. Reference type: bool | None.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

shock

Shock. Reference type: str.

rate_basis

Rate basis. Reference type: str.

selected

Selected. Reference type: bool | None.

selection_reference

Selection reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

income_protection_charge

Income protection charge. Reference type: float.

classification_reference

Classification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

risk

Risk. Reference type: str.

non_hres_volume

Non hres volume. Reference type: float.

hres_volume

Hres volume. Reference type: float.

hres_sigma

Hres sigma. Reference type: float.

parameter_reference

Parameter reference. Reference type: str.

qualification

Qualification. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

risk

Risk. Reference type: str.

representative_sigma

Representative sigma. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

period

Period. Reference type: str.

rate_basis

Rate basis. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

transition

Transition. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

option_kind

Option kind. Reference type: str.

selected

Selected. Reference type: bool | None.

selection_reference

Selection reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

net_losses

Net losses. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

tie_break

Tie break. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

event_exposures

Event exposures. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

exposure_reference

Exposure reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

down_charge

Down charge. Reference type: float.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

module

Module. Reference type: str.

classification_reference

Classification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

countries

Countries. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

exposure_reference

Exposure reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

uses_usp

Uses usp. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

uses_hres

Uses hres. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

reserve_adjustments

Reserve adjustments. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

adjustment_reference

Adjustment reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

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: float.

earned_last_year

Earned last year. Reference type: float.

existing_future_pv

Existing future pv. Reference type: float.

future_short_pv

Future short pv. Reference type: float.

future_long_pv

Future long pv. Reference type: float.

method

Method. Reference type: str.

cap_evidence

Cap evidence. Reference type: Mapping[str, str] | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

eligible_recoverables

Eligible recoverables. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

revision_exposed

Revision exposed. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

instrument

Instrument. Reference type: str.

revenue_route

Revenue route. Reference type: str.

many_users

Many users. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

rating_available

Rating available. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

operating_years

Operating years. Reference type: float | None.

history_basis

History basis. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

investment_kind

Investment kind. Reference type: str.

revenue_route

Revenue route. Reference type: str.

many_users

Many users. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

security_route

Security route. Reference type: str | None.

alternative_security_mechanisms

Alternative security mechanisms. Reference type: list[str] | None. Supply an ordered R list or the documented numeric vector.

in_construction

In construction. Reference type: bool | None.

construction_risk

Construction risk. Reference type: bool | None.

material_operational_risk

Material operational risk. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

solvency_ratio

Solvency ratio. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

maturity

Maturity. Reference type: float.

first_smoothing_point

First smoothing point. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

direction

Direction. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

net_by_currency

Net by currency. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

tie_break

Tie break. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

maturity

Maturity. Reference type: float.

direction

Direction. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

base_dtl

Base dtl. Reference type: float.

stressed_dta

Stressed dta. Reference type: float.

stressed_dtl

Stressed dtl. Reference type: float.

recoverability_reference

Recoverability reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

management_actions_assumed

Management actions assumed. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

operational

Operational. Reference type: float.

adjustment_tp

Adjustment tp. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

net_bscr

Net bscr. Reference type: float.

future_discretionary_benefits

Future discretionary benefits. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

unlimited

Unlimited. Reference type: bool | None.

largest_limit

Largest limit. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

gross_premium

Gross premium. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

valuations

Valuations. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_basis

Valuation basis. Reference type: str.

grouping_mode

Grouping mode. Reference type: str.

grouping_qualified

Grouping qualified. Reference type: bool | None.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

shock

Shock. Reference type: str.

rate_basis

Rate basis. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

selected

Selected. Reference type: bool | None.

selection_reference

Selection reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

direction

Direction. Reference type: str.

option_kind

Option kind. Reference type: str.

selected

Selected. Reference type: bool | None.

selection_reference

Selection reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

net_losses

Net losses. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

tie_break

Tie break. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

beneficiary_count

Beneficiary count. Reference type: int | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

revision_exposed

Revision exposed. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 ⁠file://⁠, are rejected.

curve_id, as_of, currency, curve_kind, source_reference

Explicit CSV metadata; see DiscountCurve(). JSON carries these in its version-1 schema.

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: Mapping. Supply a named R list with the keys shown in the example/reference case.

holdings

Holdings. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

exposure_id

Exposure id. Reference type: str.

complete_scope

Complete scope. Reference type: bool | None.

basis_reference

Basis reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

allocation_basis

Allocation basis. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

total_assets_in_scope

Total assets in scope. Reference type: float.

article84_3a_scope_qualified

Article84 3a scope qualified. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

prudent_grouping

Prudent grouping. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

peril

Peril. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

gross_by_currency

Gross by currency. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

net_by_currency

Net by currency. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

valuation_reference

Valuation reference. Reference type: str.

tie_break

Tie break. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

modified_duration

Modified duration. Reference type: float.

category

Category. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

covers_nonlife_classes_10_to_15

Covers nonlife classes 10 to 15. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

third_country_branch

Third country branch. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str | None.

mixed_premiums

Mixed premiums. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr

Scr. Reference type: float.

absolute_floor

Absolute floor. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

life

Life. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

notional_scr

Notional scr. Reference type: float.

capital_addon

Capital addon. Reference type: float.

absolute_floor

Absolute floor. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

life_linear

Life linear. Reference type: float.

scr_excluding_addon

Scr excluding addon. Reference type: float.

activity

Activity. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

standard_va_scr

Standard va scr. Reference type: float.

own_portfolio_va_scr

Own portfolio va scr. Reference type: float.

permitted_by_member_state

Permitted by member state. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

excludes_company_adjustment

Excludes company adjustment. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

excludes_macro_va

Excludes macro va. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

total_debt_eur

Total debt eur. Reference type: float.

years_since_value_monitoring

Years since value monitoring. Reference type: float.

repayment_route

Repayment route. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

basis

Basis. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

low_count

Low count. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

category

Category. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

peril

Peril. Reference type: str.

scenario

Scenario. Reference type: str.

event

Event. Reference type: int.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

components

Components. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

regional_premiums

Regional premiums. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

gross_premium

Gross premium. Reference type: float.

diversification

Diversification. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

scenario_charges

Scenario charges. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

peril

Peril. Reference type: str.

use_alternative

Use alternative. Reference type: bool | None.

potential_gross_loss

Potential gross loss. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

undertaking_type

Undertaking type. Reference type: str.

life_gross_tp

Life gross tp. Reference type: float.

total_gross_tp

Total gross tp. Reference type: float.

nonlife_gwp

Nonlife gwp. Reference type: float.

total_gwp

Total gwp. Reference type: float.

market_shares

Market shares. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

size_exception_confirmed

Size exception confirmed. Reference type: bool | None.

exception_reference

Exception reference. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

nominal_net_best_estimate

Nominal net best estimate. Reference type: float.

attachment_point

Attachment point. Reference type: float.

cover_size

Cover size. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

nominal_net_best_estimate

Nominal net best estimate. Reference type: float.

recovery

Recovery. Reference type: float.

cession_share

Cession share. Reference type: float.

additional_premium

Additional premium. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

earned_last_year

Earned last year. Reference type: float.

existing_future_pv

Existing future pv. Reference type: float.

future_short_pv

Future short pv. Reference type: float.

future_long_pv

Future long pv. Reference type: float.

method

Method. Reference type: str.

cap_evidence

Cap evidence. Reference type: Mapping[str, str] | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

eligible_recoverables

Eligible recoverables. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

diversification

Diversification. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 schema_version = 1 and an ordered overrides list of resource, path, value, reason entries.

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: str | None.

evidence_reference

Evidence reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

earned_life

Earned life. Reference type: float.

earned_life_ul

Earned life ul. Reference type: float.

earned_nonlife

Earned nonlife. Reference type: float.

previous_life

Previous life. Reference type: float.

previous_life_ul

Previous life ul. Reference type: float.

previous_nonlife

Previous nonlife. Reference type: float.

tp_life

Tp life. Reference type: float.

tp_life_ul

Tp life ul. Reference type: float.

tp_nonlife

Tp nonlife. Reference type: float.

expenses_ul

Expenses ul. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

small_non_complex

Small non complex. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

prior_article29d_approval

Prior article29d approval. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

permitted_policyholders

Permitted policyholders. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

natural_person_tp_share

Natural person tp share. Reference type: float.

no_compulsory_liability

No compulsory liability. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

small_non_complex

Small non complex. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

impact_analysis_interval_years

Impact analysis interval years. Reference type: float.

scenario_review_interval_years

Scenario review interval years. Reference type: float.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

uses_internal_model

Uses internal model. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

evidence

Evidence. Reference type: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualifying_captive

Qualifying captive. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

supervisory_interval_years

Supervisory interval years. Reference type: float | None.

non_snc_approval_reference

Non snc approval reference. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

extrapolated_currency_cashflows

Extrapolated currency cashflows. Reference type: float.

total_cashflows

Total cashflows. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

significant_uncovered_risk_deviation

Significant uncovered risk deviation. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

classification_reference

Classification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

subordinated_liabilities

Subordinated liabilities. Reference type: float.

own_shares

Own shares. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

tier

Tier. Reference type: str.

own_funds_kind

Own funds kind. Reference type: str.

unlisted

Unlisted. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

policy_lower

Policy lower. Reference type: float | None.

policy_upper

Policy upper. Reference type: float | None.

historical_values

Historical values. Reference type: ⁠_NumericHistory | None⁠.

public_announcements

Public announcements. Reference type: ⁠_NumericHistory | None⁠.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

policy_lower

Policy lower. Reference type: float | None.

policy_upper

Policy upper. Reference type: float | None.

historical_values

Historical values. Reference type: ⁠_NumericHistory | None⁠.

public_announcements

Public announcements. Reference type: ⁠_NumericHistory | None⁠.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

without_future_fees

Without future fees. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

available

Available. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

deductions

Deductions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

approval_reference

Approval reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

threshold_basis

Threshold basis. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

formal_amount

Formal amount. Reference type: float | None.

prior_year_distributions

Prior year distributions. Reference type: float | None.

payout_ratio

Payout ratio. Reference type: float | None.

cumulative_interim_profit

Cumulative interim profit. Reference type: float | None.

estimated_annual_distribution

Estimated annual distribution. Reference type: float | None.

elapsed_year_fraction

Elapsed year fraction. Reference type: float | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

basic_tier1

Basic tier1. Reference type: float.

restricted_tier1

Restricted tier1. Reference type: float.

basic_tier2

Basic tier2. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

deductions

Deductions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

portfolio_kind

Portfolio kind. Reference type: str.

immaterial_simplification

Immaterial simplification. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

notional_scr

Notional scr. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

tier1

Tier1. Reference type: float.

restricted_tier1

Restricted tier1. Reference type: float.

tier2

Tier2. Reference type: float.

tier3

Tier3. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

swap_spread

Swap spread. Reference type: float.

tier

Tier. Reference type: str.

one_off_coupon_increase_with_call_option

One off coupon increase with call option. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr

Scr. Reference type: float.

eligible_mcr_own_funds

Eligible mcr own funds. Reference type: float.

mcr

Mcr. Reference type: float.

scr_not_restored_within_period

Scr not restored within period. Reference type: bool | None.

additional_contractual_trigger

Additional contractual trigger. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr

Scr. Reference type: float.

eligible_mcr_own_funds

Eligible mcr own funds. Reference type: float.

mcr

Mcr. Reference type: float.

scr_not_restored_within_period

Scr not restored within period. Reference type: bool | None.

additional_contractual_trigger

Additional contractual trigger. Reference type: bool | None.

mechanism

Mechanism. Reference type: str.

partial_restoration_sufficient

Partial restoration sufficient. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

waiver_conditions

Waiver conditions. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

waiver_reference

Waiver reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 "scalars/intangible" or "matrices/health_nslt".

context

An explicit Context().

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

NumericOverride(), Context()

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: int.

inputs

Inputs. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

intangible_charge

Intangible charge. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

category

Category. Reference type: str.

first_loss_cover

First loss cover. Reference type: float.

guarantee_value

Guarantee value. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

allocation_reference

Allocation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

component

Component. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

reinsurance_premiums

Reinsurance premiums. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

finite_reinsurance_ids

Finite reinsurance ids. Reference type: list[str] | tuple. Supply an ordered R list or the documented numeric vector.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

segment

Segment. Reference type: str.

method

Method. Reference type: str.

uses_usp

Uses usp. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

regional_volumes

Regional volumes. Reference type: Mapping[str, dict] | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

risk_location_reference

Risk location reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

segments

Segments. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

parameter_reference

Parameter reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

premium_nonproportional_cover

Premium nonproportional cover. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

reserve_adjustments

Reserve adjustments. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

adjustment_reference

Adjustment reference. Reference type: str | None.

uses_usp

Uses usp. Reference type: bool | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 Context().

input_hash, profile_hash

Reproducible R input and profile fingerprints.

details

Formula-specific trace and qualification metadata.

status

Component/scenario status; default "REFERENCE_COMPONENT".

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: float.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

route

Route. Reference type: str.

measure_list_changed

Measure list changed. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

measure_ceased

Measure ceased. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

supervisory_restriction

Supervisory restriction. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

time_value_options

Time value options. Reference type: float.

undertaking_scr

Undertaking scr. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

route

Route. Reference type: str.

scenario_reference

Scenario reference. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

alternative_loading

Alternative loading. Reference type: float | None.

alternative_loading_demonstrated

Alternative loading demonstrated. Reference type: bool | None.

alternative_loading_reference

Alternative loading reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

approval_evidence

Approval evidence. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

undertaking_scr

Undertaking scr. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

route

Route. Reference type: str.

scenario_reference

Scenario reference. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

approval_evidence

Approval evidence. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

life_gross_technical_provisions

Life gross technical provisions. Reference type: float.

total_gross_technical_provisions

Total gross technical provisions. Reference type: float.

market_shares

Market shares. Reference type: Mapping[str, float | None]. Supply a named R list with the keys shown in the example/reference case.

size_exception_approved

Size exception approved. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

classification_reference

Classification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 reference_cases().

Value

The selected case, including its inputs, context changes and expected outcome. An unknown identifier raises a structured MISSING_INPUT condition.

See Also

reference_cases()

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 reference_datasets().

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: bool. Supply a single TRUE or FALSE, not a numeric flag.

supervisory_interval_years

Supervisory interval years. Reference type: float | None.

supervisory_reference

Supervisory reference. Reference type: str | None.

non_snc_approval_reference

Non snc approval reference. Reference type: str | None.

scope

Scope. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

last_published_amount

Last published amount. Reference type: float.

cumulative_inflation

Cumulative inflation. Reference type: float.

inflation_since_last_adjustment

Inflation since last adjustment. Reference type: float.

review_due

Review due. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

expected_default_adjustment

Expected default adjustment. Reference type: float.

reconciliation_reference

Reconciliation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

coverage_ratio

Coverage ratio. Reference type: float | None.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

months_since_breach

Months since breach. Reference type: float | None.

credit_quality_step

Credit quality step. Reference type: int | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

partition

Partition. Reference type: Mapping[str, str]. Supply a named R list with the keys shown in the example/reference case.

runoff_complete

Runoff complete. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

projection_reference

Projection reference. Reference type: str.

curve_reference

Curve reference. Reference type: str.

noncollateral_mitigation_included

Noncollateral mitigation included. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

separate_noncollateral_mitigation

Separate noncollateral mitigation. Reference type: Mapping[str, dict] | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

estimated_loss

Estimated loss. Reference type: float.

method

Method. Reference type: str.

valuation_reference

Valuation reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

target_provision

Target provision. Reference type: str.

eligibility_reference

Eligibility reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

partition

Partition. Reference type: Mapping[str, str]. Supply a named R list with the keys shown in the example/reference case.

runoff_complete

Runoff complete. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

projection_reference

Projection reference. Reference type: str.

curve_reference

Curve reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

unadjusted_net_best_estimate

Unadjusted net best estimate. Reference type: float.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

cashflow_features

Cashflow features. Reference type: Mapping[str, bool | None]. Supply a named R list with the keys shown in the example/reference case.

replication_reference

Replication reference. Reference type: str | None.

market_reference

Market reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 list(values = list(...)) for an explicitly declared sequence.

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: bool. Supply a single TRUE or FALSE, not a numeric flag.

permitted_policyholders

Permitted policyholders. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

natural_person_tp_share

Natural person tp share. Reference type: float.

no_compulsory_liability

No compulsory liability. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

reporting_interval_years

Reporting interval years. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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 "2.8.2", "2.8.2-hotfix", "2.10.0".

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 entity, period, unit.

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

"structure", "cells", "dictionary" or "rules".

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 business_code, atom, and optionally open_dimensions and unit. Full archived cell codes are required.

technical_version

Explicit archived technical release.

module

Exact reporting module code.

entity

Named list with explicit scheme and identifier.

instant

Canonical ISO reporting instant, YYYY-MM-DD.

indicators

Named list of explicit Boolean filing indicators.

qualification_reference

External reporting-scope qualification reference.

validation_codes

Optional ordered rule-code list, or "ALL_MODULE" to attempt all archived module/workbook candidates. Unsupported checks stay visible.

filing_overrides

List of explicit NumericOverride() entries for archived filing precision parameters, with original values and reasons audited.

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: list(value = ..., decimals = ...), list(text = ...), list(boolean = ...), list(date = "YYYY-MM-DD"), or an expanded qname.

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 FALSE.

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 "ars".

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: Mapping. Supply a named R list with the keys shown in the example/reference case.

gross_losses

Gross losses. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

net_losses

Net losses. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

target_portfolio

Target portfolio. Reference type: str.

article217_scope_confirmed

Article217 scope confirmed. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

view

View. Reference type: str.

tie_break

Tie break. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

portfolio_kinds

Portfolio kinds. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

article217_scope_confirmed

Article217 scope confirmed. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

sector

Sector. Reference type: str.

maturity_years

Maturity years. Reference type: float.

credit_quality_step

Credit quality step. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

market_data

Market data. Reference type: dict | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

sector

Sector. Reference type: str.

maturity_years

Maturity years. Reference type: float.

credit_quality_step

Credit quality step. Reference type: float.

table

Table. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

market_data

Market data. Reference type: dict | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

maturity_years

Maturity years. Reference type: float.

table

Table. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

market_data

Market data. Reference type: dict | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

series_id

Series id. Reference type: str.

maturity_years

Maturity years. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

market_data

Market data. Reference type: dict | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

maturity_years

Maturity years. Reference type: float.

variant

Variant. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

market_data

Market data. Reference type: dict | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float | None.

liability_pvbp

Liability pvbp. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

reuse

Reuse. Reference type: dict | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

calibration

Calibration. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

first_smoothing_point

First smoothing point. Reference type: float.

maturity

Maturity. Reference type: float.

instrument_kind

Instrument kind. Reference type: str.

coupon_frequency

Coupon frequency. Reference type: int | None.

average_notionals

Average notionals. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

ufr

Ufr. Reference type: float.

phase_in

Phase in. Reference type: bool | None.

approval_reference

Approval reference. Reference type: str | None.

volatility_adjustment

Volatility adjustment. Reference type: float | None.

matching_adjustment

Matching adjustment. Reference type: float | None.

interest_stress

Interest stress. Reference type: str | None.

output_maturities

Output maturities. Reference type: ⁠documented input⁠.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

default_probability

Default probability. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

present_value

Present value. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

last_liquid_forward

Last liquid forward. Reference type: float.

time_after_fsp

Time after fsp. Reference type: float.

phase_in

Phase in. Reference type: bool | None.

approval_reference

Approval reference. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

spot_at_fsp

Spot at fsp. Reference type: float.

time_after_fsp

Time after fsp. Reference type: float.

extrapolated_forward

Extrapolated forward. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool | None.

approval_reference

Approval reference. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

calibration

Calibration. Reference type: str.

last_liquid_maturity_2027

Last liquid maturity 2027. Reference type: float | None.

rounded_preserves_fsp

Rounded preserves fsp. Reference type: bool | None.

lower_preserving_share

Lower preserving share. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

asset_class

Asset class. Reference type: str.

default_statistics_reliable

Default statistics reliable. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

default_spread

Default spread. Reference type: float | None.

downgrade_spread

Downgrade spread. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

default_spread

Default spread. Reference type: float.

downgrade_spread

Downgrade spread. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

later_forwards

Later forwards. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

liquid_swaps_beyond_fsp

Liquid swaps beyond fsp. Reference type: bool | None.

fsp_average_notional

Fsp average notional. Reference type: float | None.

apply_volatility_adjustment

Apply volatility adjustment. Reference type: bool | None.

volatility_adjustment

Volatility adjustment. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

debt_asset_share

Debt asset share. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

euro_risk_corrected_spread

Euro risk corrected spread. Reference type: float.

credit_spread_sensitivity

Credit spread sensitivity. Reference type: float.

country_factor

Country factor. Reference type: float.

undertaking_specific_adjustment_applies

Undertaking specific adjustment applies. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

credit_adjustment

Credit adjustment. Reference type: float.

currency_adjustment

Currency adjustment. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

liability_equivalent_rate

Liability equivalent rate. Reference type: float.

residual_fundamental_spread

Residual fundamental spread. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

application

Application. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

restructured_assets

Restructured assets. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

subinvestment_grade_comparison

Subinvestment grade comparison. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

stressed_best_estimate

Stressed best estimate. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

selected_scenario

Selected scenario. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

contract_selection

Contract selection. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scenario

Scenario. Reference type: str.

rate_basis

Rate basis. Reference type: str.

selected

Selected. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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

reference_cases()

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: float.

liability_pvbp

Liability pvbp. Reference type: float.

pegged_currency

Pegged currency. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

corporate_weight

Corporate weight. Reference type: float.

government_risk_correction

Government risk correction. Reference type: float | None.

corporate_risk_correction

Corporate risk correction. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

fundamental_spread_inputs

Fundamental spread inputs. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

corporate_weight

Corporate weight. Reference type: float.

government_spread

Government spread. Reference type: float.

corporate_spread

Corporate spread. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_correction

Risk correction. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

long_term_average_spread

Long term average spread. Reference type: float.

asset_class

Asset class. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: ⁠documented input⁠.

cashflows

Cashflows. Reference type: ⁠documented input⁠.

prices

Prices. Reference type: ⁠documented input⁠.

maturity

Maturity. Reference type: ⁠documented input⁠.

ufr

Ufr. Reference type: ⁠documented input⁠.

qualification_reference

Qualification reference. Reference type: str.

output_maturities

Output maturities. Reference type: ⁠documented input⁠.

alpha_search_max

Alpha search max. Reference type: ⁠documented input⁠.

volatility_adjustment

Volatility adjustment. Reference type: ⁠documented input⁠.

matching_adjustment

Matching adjustment. Reference type: ⁠documented input⁠.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

time_years

Time years. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

legacy_rate

Legacy rate. Reference type: float.

equivalent_annual_rate

Equivalent annual rate. Reference type: float.

matching_adjustment_used

Matching adjustment used. Reference type: bool | None.

technical_provisions_transition_used

Technical provisions transition used. Reference type: bool | None.

approval_reference

Approval reference. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

previous_real_rate

Previous real rate. Reference type: float.

previous_ufr

Previous ufr. Reference type: float.

inflation

Inflation. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

adjusted_value

Adjusted value. Reference type: float.

notional_va

Notional va. Reference type: float.

valuation_kind

Valuation kind. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

pegged_currency

Pegged currency. Reference type: str | None.

pegged_notional_va

Pegged notional va. Reference type: float | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

country_applicable

Country applicable. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

country_spread

Country spread. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

credit_spread_sensitivity

Credit spread sensitivity. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

firm_adjustment

Firm adjustment. Reference type: dict | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[float]. Supply an ordered R list or the documented numeric vector.

basic_rates

Basic rates. Reference type: list[float]. Supply an ordered R list or the documented numeric vector.

runoff_complete

Runoff complete. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

cashflows

Cashflows. Reference type: list[float]. Supply an ordered R list or the documented numeric vector.

internal_rate

Internal rate. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

basis_reference

Basis reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

modified_duration

Modified duration. Reference type: float.

discount_rate

Discount rate. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

basis_reference

Basis reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

suitable_all_runoff_times

Suitable all runoff times. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

allocation_shares

Allocation shares. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

lob

Lob. Reference type: str.

lifetime_contributions_qualified

Lifetime contributions qualified. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

complete_scope_confirmed

Complete scope confirmed. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

allocation_reference

Allocation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

percentage

Percentage. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

percentage_reference

Percentage reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

initial_net_best_estimate

Initial net best estimate. Reference type: float.

future_net_best_estimate

Future net best estimate. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

projection_reference

Projection reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

technical_provisions

Technical provisions. Reference type: float.

recoverables

Recoverables. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

composite_undertaking

Composite undertaking. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

material_residual_market_risk

Material residual market risk. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

aggregated_reserve_sigma

Aggregated reserve sigma. Reference type: float.

premium_volume

Premium volume. Reference type: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

projection_reference

Projection reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

purpose

Purpose. Reference type: str.

instrument_kind

Instrument kind. Reference type: str.

finite_or_similar

Finite or similar. Reference type: bool | None.

replacement

Replacement. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

proportional_factor

Proportional factor. Reference type: float | None.

counterparty_factor

Counterparty factor. Reference type: float.

residential_guarantee_payment_months

Residential guarantee payment months. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

scr_compliant_without_treatment

Scr compliant without treatment. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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

Context(), parameter()

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: float.

stressed_bof

Stressed bof. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

assumption_checks

Assumption checks. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: int.

main_branch

Main branch. Reference type: int.

main_risk_authorised

Main risk authorised. Reference type: bool | None.

linked_to_main

Linked to main. Reference type: bool | None.

same_object

Same object. Reference type: bool | None.

same_contract

Same contract. Reference type: bool | None.

legal_expenses_exception

Legal expenses exception. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

gross_technical_provisions

Gross technical provisions. Reference type: float.

reinsurance_written_premiums

Reinsurance written premiums. Reference type: float.

reinsurance_technical_provisions

Reinsurance technical provisions. Reference type: float.

part_of_group

Part of group. Reference type: bool | None.

group_gross_technical_provisions

Group gross technical provisions. Reference type: float | None.

has_disallowed_business

Has disallowed business. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Sequence.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Sequence.

forecast_any_exceedance

Forecast any exceedance. Reference type: Sequence.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

operational

Operational. Reference type: float.

adjustment_tp

Adjustment tp. Reference type: float.

adjustment_dt

Adjustment dt. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

capital_addons

Capital addons. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

purpose

Purpose. Reference type: str.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

asset_value

Asset value. Reference type: float.

risk_adjusted_collateral

Risk adjusted collateral. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

category

Category. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

transition

Transition. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

imposed_increase_fraction

Imposed increase fraction. Reference type: float | None.

supervisory_decision_reference

Supervisory decision reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

net_losses

Net losses. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

tie_break

Tie break. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

captive

Captive. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

national_extension_applies

National extension applies. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

permitted_policyholders

Permitted policyholders. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

natural_person_tp_share

Natural person tp share. Reference type: float.

no_compulsory_liability

No compulsory liability. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

group_loans_asset_share

Group loans asset share. Reference type: float | None.

maximum_loss_deterministic

Maximum loss deterministic. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

report_part

Report part. Reference type: str.

full_narrative_scope

Full narrative scope. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

assessment_reference

Assessment reference. Reference type: str.

scope_reference

Scope reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

structure_sections

Structure sections. Reference type: list[str] | None. Supply an ordered R list or the documented numeric vector.

structure_reference

Structure reference. Reference type: str | None.

de_materiality

De materiality. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

reporting_scope

Reporting scope. Reference type: str.

group_evidence

Group evidence. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

publication_facts

Publication facts. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

capital_events

Capital events. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

small_non_complex

Small non complex. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

host_authority_significant

Host authority significant. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

simplified_scr_higher

Simplified scr higher. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

regime

Regime. Reference type: str.

evidence_age_years

Evidence age years. Reference type: float.

small_non_complex

Small non complex. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

liability_change

Liability change. Reference type: float.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

credit_quality_step

Credit quality step. Reference type: str.

eligibility_reference

Eligibility reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

kind

Kind. Reference type: str.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

pool_rating_group

Pool rating group. Reference type: Mapping[str, dict] | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

capital_at_risk_2

Capital at risk 2. Reference type: float.

incidence_rate_1

Incidence rate 1. Reference type: float.

incidence_rate_2

Incidence rate 2. Reference type: float.

termination_rate

Termination rate. Reference type: float.

modified_duration

Modified duration. Reference type: float.

best_estimate

Best estimate. Reference type: float.

kind

Kind. Reference type: str.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

target_counterparty

Target counterparty. Reference type: str.

bscr_without

Bscr without. Reference type: float.

bscr_with

Bscr with. Reference type: float.

default_module_zero_in_both

Default module zero in both. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

modified_duration

Modified duration. Reference type: float.

inflation_rate

Inflation rate. Reference type: float.

kind

Kind. Reference type: str.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

average_residential_sum

Average residential sum. Reference type: float.

residential_market_shares

Residential market shares. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

base_volume

Base volume. Reference type: float.

current_volume

Current volume. Reference type: float.

elapsed_years

Elapsed years. Reference type: float.

is_market_risk

Is market risk. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

eligibility_reference

Eligibility reference. Reference type: str.

volume_reference

Volume reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

average_lapse_rate

Average lapse rate. Reference type: float.

runoff_period

Runoff period. Reference type: float.

kind

Kind. Reference type: str.

direction

Direction. Reference type: str.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

modified_duration

Modified duration. Reference type: float.

best_estimate

Best estimate. Reference type: float.

kind

Kind. Reference type: str.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[float]. Supply an ordered R list or the documented numeric vector.

basic_spot_rates

Basic spot rates. Reference type: list[float]. Supply an ordered R list or the documented numeric vector.

mortality_rate

Mortality rate. Reference type: float.

modified_duration

Modified duration. Reference type: float.

kind

Kind. Reference type: str.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

undertaking_share

Undertaking share. Reference type: float.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

target_counterparty

Target counterparty. Reference type: str.

total_external_contribution

Total external contribution. Reference type: float.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

undertaking_share

Undertaking share. Reference type: float.

counterparty_share

Counterparty share. Reference type: float.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

recoverables

Recoverables. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

submodule_scr

Submodule scr. Reference type: float.

target_counterparty

Target counterparty. Reference type: str.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

modified_duration

Modified duration. Reference type: float.

recoverables_best_estimate

Recoverables best estimate. Reference type: float.

proportionality_satisfied

Proportionality satisfied. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

target_counterparty

Target counterparty. Reference type: str.

scr_without

Scr without. Reference type: float.

scr_with

Scr with. Reference type: float.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

cat_without

Cat without. Reference type: float.

premium_hyp

Premium hyp. Reference type: float.

premium_without

Premium without. Reference type: float.

sigma

Sigma. Reference type: float.

recoverables

Recoverables. Reference type: float.

single_segment

Single segment. Reference type: bool | None.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

scr_with

Scr with. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

metrics

Metrics. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

metrics

Metrics. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

category

Category. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

credit_quality_step

Credit quality step. Reference type: str | None.

qualification

Qualification. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

securitisation

Securitisation. Reference type: float.

credit_derivatives

Credit derivatives. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

aggregate_maximum_exposure

Aggregate maximum exposure. Reference type: float.

exposure_reference

Exposure reference. Reference type: str | None.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

qualification_reference

Qualification reference. Reference type: str.

scope

Scope. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

exceptional_extension_weeks

Exceptional extension weeks. Reference type: float.

delegated_act_reference

Delegated act reference. Reference type: str | None.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

assessment_reference

Assessment reference. Reference type: str.

scope_reference

Scope reference. Reference type: str.

report_kind

Report kind. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

structure_sections

Structure sections. Reference type: list[str] | None. Supply an ordered R list or the documented numeric vector.

structure_reference

Structure reference. Reference type: str | None.

reporting_scope

Reporting scope. Reference type: str.

group_evidence

Group evidence. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

average_index

Average index. Reference type: float.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float | None]. Supply a named R list with the keys shown in the example/reference case.

window_months

Window months. Reference type: int.

complete_window

Complete window. Reference type: bool | None.

index_qualified

Index qualified. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

assessment_reference

Assessment reference. Reference type: str.

scope_reference

Scope reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

external_data_used

External data used. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

data_deficiencies_present

Data deficiencies present. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

assessment_reference

Assessment reference. Reference type: str.

scope_reference

Scope reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

declared_interval_years

Declared interval years. Reference type: float.

assessment_reference

Assessment reference. Reference type: str.

scope_reference

Scope reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

risk_margin

Risk margin. Reference type: float.

replication_applies

Replication applies. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

base_solvency2_net_provisions

Base solvency2 net provisions. Reference type: float.

base_legacy_net_provisions

Base legacy net provisions. Reference type: float.

supervisory_deduction_limit

Supervisory deduction limit. Reference type: float | None.

risk_free_transition_used

Risk free transition used. Reference type: bool | None.

approval_reference

Approval reference. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

joint_currency_stress_charge

Joint currency stress charge. Reference type: float.

single_component_only

Single component only. Reference type: bool | None.

eligibility_reference

Eligibility reference. Reference type: str.

valuation_reference

Valuation reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

debt

Debt. Reference type: float.

cashflow_mean

Cashflow mean. Reference type: float.

equity_return_mean

Equity return mean. Reference type: float.

formula_units_qualified

Formula units qualified. Reference type: bool | None.

input_basis_reference

Input basis reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

conditions

Conditions. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: int.

method

Method. Reference type: str.

risk_module

Risk module. Reference type: str.

segment

Segment. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

external_data_used

External data used. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

multiple_external_sources

Multiple external sources. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[float]. Supply an ordered R list or the documented numeric vector.

retention

Retention. Reference type: float.

upper_limit

Upper limit. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

premium_volumes

Premium volumes. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

method

Method. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

standard_sigma

Standard sigma. Reference type: float.

credibility

Credibility. Reference type: float.

years

Years. Reference type: int.

method

Method. Reference type: str.

calibration_reference

Calibration reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[float]. Supply an ordered R list or the documented numeric vector.

volumes

Volumes. Reference type: list[float]. Supply an ordered R list or the documented numeric vector.

method

Method. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

max_iterations

Max iterations. Reference type: int.

gradient_tolerance

Gradient tolerance. Reference type: float.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[float]. Supply an ordered R list or the documented numeric vector.

volumes

Volumes. Reference type: list[float]. Supply an ordered R list or the documented numeric vector.

mixing

Mixing. Reference type: float.

log_coefficient

Log coefficient. Reference type: float.

method

Method. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

method

Method. Reference type: str.

data_basis

Data basis. Reference type: str.

assessment_reference

Assessment reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

standard_factor

Standard factor. Reference type: float.

credibility

Credibility. Reference type: float.

method

Method. Reference type: str.

calibration_reference

Calibration reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[str]. Supply an ordered R list or the documented numeric vector.

risk_module

Risk module. Reference type: str.

segment

Segment. Reference type: str | None.

qualified_reinsurance

Qualified reinsurance. Reference type: bool | None.

material_inflation_risk

Material inflation risk. Reference type: bool | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

contract_requirements

Contract requirements. Reference type: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

contract_type

Contract type. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

finite_reinsurance_ids

Finite reinsurance ids. Reference type: list[str] | tuple. Supply an ordered R list or the documented numeric vector.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

standard_sigma

Standard sigma. Reference type: float.

credibility

Credibility. Reference type: float.

calibration_reference

Calibration reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: list[list[float]]. Supply an ordered R list or the documented numeric vector.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, list[float]]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

relative_tolerance

Relative tolerance. Reference type: float.

max_grid_power

Max grid power. Reference type: int.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

quantile_increase

Quantile increase. Reference type: float.

credibility

Credibility. Reference type: float.

quantile_probability

Quantile probability. Reference type: float.

risk_module

Risk module. Reference type: str.

calibration_reference

Calibration reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, list[float]]. Supply a named R list with the keys shown in the example/reference case.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

parameter

Parameter. Reference type: str.

superiority_demonstrated

Superiority demonstrated. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

superior_method

Superior method. Reference type: str | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

goodwill_amount

Goodwill amount. Reference type: float.

zero_valued_intangibles_amount

Zero valued intangibles amount. Reference type: float.

method

Method. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, bool]. Supply a named R list with the keys shown in the example/reference case.

in_ifrs_consolidation_group

In ifrs consolidation group. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

share

Share. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

liabilities

Liabilities. Reference type: Mapping[str, float]. Supply a named R list with the keys shown in the example/reference case.

complete_scope

Complete scope. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: Mapping[str, dict]. Supply a named R list with the keys shown in the example/reference case.

recognised_under_article11

Recognised under article11. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

runoff_complete

Runoff complete. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

curve_basis

Curve basis. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

curve_reference

Curve reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

deferred_tax_liabilities

Deferred tax liabilities. Reference type: float.

legally_enforceable_offset

Legally enforceable offset. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

same_tax_authority

Same tax authority. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

same_taxable_entity

Same taxable entity. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

undiscounted

Undiscounted. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

excluded_participations

Excluded participations. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

valuation_level

Valuation level. Reference type: str | None.

recognition_conditions

Recognition conditions. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

recognition_documents

Recognition documents. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: str.

separately_saleable

Separately saleable. Reference type: bool | None.

active_market_value_evidenced

Active market value evidenced. Reference type: bool | None.

qualified_value

Qualified value. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

own_credit_change

Own credit change. Reference type: float.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

position_type

Position type. Reference type: str.

method

Method. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

conditions

Conditions. Reference type: Mapping[str, bool] | None. Supply a named R list with the keys shown in the example/reference case.

deposit_terms

Deposit terms. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

hierarchy

Hierarchy. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

own_credit

Own credit. Reference type: Mapping | None. Supply a named R list with the keys shown in the example/reference case.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: bool. Supply a single TRUE or FALSE, not a numeric flag.

deducted_from_group_own_funds

Deducted from group own funds. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

qualified_value

Qualified value. Reference type: float | None.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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: float.

term_years

Term years. Reference type: float.

small_non_complex

Small non complex. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

no_material_valuation_error

No material valuation error. Reference type: bool. Supply a single TRUE or FALSE, not a numeric flag.

alternative_value

Alternative value. Reference type: float | None.

method

Method. Reference type: str.

qualification_reference

Qualification reference. Reference type: str.

context

Explicit Context() selecting currency, dates, rule profile and overrides.

...

Reserved; unknown inputs are rejected rather than ignored.

Details

Monetary inputs use context currency, not implicit thousands. Ratios and rates are decimal fractions unless a named input says otherwise. Missing, NA, NaN and infinite numeric inputs are rejected; vectors are not silently recycled. Scope and applicability guards follow the 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