industries

Pyvorin for Risk Management

VaR, CVaR, stress testing, and portfolio optimisation at speed.

Published May 30, 2026

Value at Risk

Monte Carlo VaR simulations are CPU-intensive. Compile the path generation and portfolio valuation for 5-10x speedup.

def monte_carlo_var(returns, weights, n_sims=100000):
    portfolio_returns = []
    for _ in range(n_sims):
        sim = 0.0
        for i in range(len(weights)):
            sim += weights[i] * random.gauss(0, returns[i])
        portfolio_returns.append(sim)
    return np.percentile(portfolio_returns, 5)

Stress Testing

Run thousands of scenario combinations. Compilation reduces overnight stress tests to under an hour.

Portfolio Optimisation

Mean-variance optimisation with covariance matrix inversion compiles efficiently.