Quick Start Guide

This guide will help you get started with Cohomological Risk Scoring in 5 minutes.

Installation

pip install cohomological-risk-scoring

Basic Usage

1. Import the Package

from cohomological_risk_scoring import PCRScorer, FinancialSheaf
import numpy as np

2. Prepare Your Data

You need: - Node features: A matrix where each row represents features of a financial entity - Edges: List of tuples representing connections (transactions)

# Example: 20 financial entities with 4 features each
n_nodes = 20
features = np.random.randn(n_nodes, 4)

# Example: Random transaction network
edges = [(i, j) for i in range(n_nodes)
         for j in range(i+1, n_nodes)
         if np.random.random() > 0.7]

3. Compute Risk Scores

# Initialize scorer
scorer = PCRScorer()

# Fit the model
scorer.fit(features, edges)

# Get risk scores for all nodes
risk_scores = scorer.compute_all_scores()

# Classify entities by risk level
risk_classes = scorer.get_risk_classes()

print(f"High Risk: {risk_classes['high']}")
print(f"Medium Risk: {risk_classes['medium']}")
print(f"Low Risk: {risk_classes['low']}")

4. Visualize Results

# Visualize persistence diagram
scorer.visualize_persistence()

# Generate full report
report = scorer.generate_report()
print(report)

Advanced Usage

Working with Real Financial Data

import pandas as pd
from cohomological_risk_scoring.utils import load_transaction_data

# Load your transaction data
transactions = pd.read_csv('transactions.csv')

# Convert to graph format
edges = list(zip(transactions['from'], transactions['to']))

# Extract features per entity
features = extract_features(transactions)  # Your feature extraction

# Compute risk
scorer = PCRScorer()
scorer.fit(features, edges)
scores = scorer.compute_all_scores()

Customizing Filtration

# Use custom filtration values
filtration_values = np.linspace(0, 1, 20)

scorer = PCRScorer()
scorer.fit(features, edges, filtration=filtration_values)

What’s Next?