Skip to content

API Reference

This section provides complete API documentation for the RWA calculator modules.

Module Overview

Module Purpose
Service API High-level facade: CreditRiskCalc, response models
Pipeline Low-level orchestration and custom pipeline construction
Configuration Configuration classes and factories
Engine Calculation components
Contracts Interfaces and data contracts
Domain Enumerations and core types

Quick Reference

Main Entry Point

from datetime import date
from rwa_calc.api import CreditRiskCalc

response = CreditRiskCalc(
    data_path="/path/to/data",
    framework="CRR",
    reporting_date=date(2026, 12, 31),
    permission_mode="irb",
).calculate()

if response.success:
    print(f"Total RWA: {response.summary.total_rwa:,.0f}")
    df = response.collect_results()

Pipeline API (Advanced)

For custom loaders or direct pipeline access:

from datetime import date
from rwa_calc.engine.pipeline import create_pipeline
from rwa_calc.contracts.config import CalculationConfig

pipeline = create_pipeline()
config = CalculationConfig.crr(reporting_date=date(2026, 12, 31))
result = pipeline.run(config)

Configuration

from rwa_calc.contracts.config import CalculationConfig

# CRR configuration
config = CalculationConfig.crr(
    reporting_date=date(2026, 12, 31),
)

# Basel 3.1 configuration
config = CalculationConfig.basel_3_1(
    reporting_date=date(2027, 1, 1),
)

Enumerations

from rwa_calc.domain.enums import (
    RegulatoryFramework,
    ExposureClass,
    ApproachType,
    CQS,
    CollateralType,
)

Data Contracts

from rwa_calc.contracts.bundles import (
    RawDataBundle,
    ResolvedHierarchyBundle,
    ClassifiedExposuresBundle,
    CRMAdjustedBundle,
    SAResultBundle,
    IRBResultBundle,
    SlottingResultBundle,
    AggregatedResultBundle,
)

API Sections