API Reference

Complete API documentation for the privatecredit package.


Package Structure

1
2
3
4
5
6
privatecredit/
    data/           # Data generation and processing
    models/         # Deep learning models
    training/       # Training utilities
    evaluation/     # Metrics and visualization
    utils/          # Configuration and helpers

Quick Import

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Core imports
from privatecredit.data import LoanTapeGenerator, MacroScenarioGenerator
from privatecredit.models import (
    MacroVAE,
    TransitionTransformer,
    LoanTrajectoryModel,
    PortfolioAggregator
)

# Training
from privatecredit.training import Trainer

# Evaluation
from privatecredit.evaluation import (
    calculate_metrics,
    plot_loss_distribution,
    StressTestReport
)

Module Reference

Module Description Link
data Synthetic data generation, loan tape schemas Data API
models Deep generative model components Models API
training Training loops and optimizers Training API
evaluation Metrics, visualization, reporting Evaluation API

Data Module

LoanTapeGenerator

Generate synthetic loan portfolios.

1
2
3
4
5
6
7
8
9
from privatecredit.data import LoanTapeGenerator

generator = LoanTapeGenerator(
    n_loans=10000,
    n_months=60,
    asset_class_weights={'corporate': 0.5, 'consumer': 0.5}
)

loans_df, panel_df = generator.generate()

Full Data API documentation


Models Module

MacroVAE

Conditional VAE for macro scenario generation.

1
2
3
4
5
6
from privatecredit.models import MacroVAE, MacroVAEConfig

config = MacroVAEConfig(n_macro_vars=9, latent_dim=32)
model = MacroVAE(config)

scenarios = model.generate(scenario=0, n_samples=100)

Full Models API documentation


Training Module

Trainer

Unified training interface.

1
2
3
4
from privatecredit.training import Trainer

trainer = Trainer(model, lr=1e-4)
history = trainer.fit(data, epochs=100)

Full Training API documentation


Evaluation Module

Metrics

1
2
3
4
5
6
7
8
from privatecredit.evaluation import calculate_metrics

metrics = calculate_metrics(
    predicted=predicted_losses,
    actual=actual_losses
)

print(metrics['rmse'], metrics['mae'])

Full Evaluation API documentation


Type Hints

All functions include type hints:

1
2
3
4
5
6
7
def generate(
    self,
    scenario: int = 0,
    seq_length: int = 60,
    n_samples: int = 100
) -> torch.Tensor:
    ...

Configuration Classes

Each model has a corresponding config dataclass:

1
2
3
4
5
6
7
8
9
10
from dataclasses import dataclass

@dataclass
class MacroVAEConfig:
    n_macro_vars: int = 9
    seq_length: int = 60
    latent_dim: int = 32
    hidden_dim: int = 128
    n_layers: int = 2
    beta: float = 1.0

Back to Home