Skip to main content

Decision-Risk & Robustness Simulator by Eiffel Labs

Project description

RiskLabs

Decision-Risk & Robustness Simulator by Eiffel Labs

RiskLabs is a Python library designed to help quantitative researchers and portfolio managers evaluate the robustness of their strategies. It goes beyond simple backtesting by subjecting strategies to various "flight path" scenarios, such as historical crashes, volatility spikes, and correlation breakdowns.

Features

  • Scenario Analysis: Simulate strategies under stress conditions (e.g., 2008 Crash, COVID-19 Volatility).
  • Robustness Metrics: Calculate specialized scores based on performance stability across regimes.
  • Regime Detection: Analyze strategy behavior in Bull vs. Bear markets.
  • HTML Reporting: Generate beautiful, standalone HTML dashboards with interactive charts.
  • Privacy-First: Runs entirely locally. No data leaves your machine.

Installation

pip install risklabs

Quick Start

from risklabs.client import create_strategy, analyze

# 1. Define a Strategy
strategy = create_strategy(
    name="My 60/40 Portfolio",
    allocations=[
        {"ticker": "SPY", "weight": 0.6},
        {"ticker": "AGG", "weight": 0.4}
    ]
)

# 2. Run Robustness Analysis
print("Running simulations...")
report = analyze(strategy)

# 3. Generate Report
report.to_file("my_portfolio_report.html")
print("Report generated: my_portfolio_report.html")

How It Works

  1. Define Strategy: You specify target allocations (static weights for MVP).
  2. Fetch Data: The library automatically downloads historical data for the tickers using yfinance.
  3. Simulate Scenarios: The engine runs multiple simulations:
    • Historical Baseline: Standard backtest.
    • Crash Replay: Applies historical shock factors.
    • Regime Stress: Modifies volatility and correlation matrices.
  4. Score & Report: Aggregates results into a "Robustness Score" and renders an HTML dashboard.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

risklabs-0.2.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

risklabs-0.2.0-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file risklabs-0.2.0.tar.gz.

File metadata

  • Download URL: risklabs-0.2.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for risklabs-0.2.0.tar.gz
Algorithm Hash digest
SHA256 68b15f4d81b4a2eb8db05dd26ca8fbef3fae5fc569a04de1cbd217cb428e6a31
MD5 6a4dc525ba4caba67f8db259e12fafb2
BLAKE2b-256 feb29053fd0c9e5f99c623997c8dbb0b532d11177bc7ff3c72c6be5c0632ba34

See more details on using hashes here.

File details

Details for the file risklabs-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: risklabs-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for risklabs-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa7f1809156f06cb1aece1fab10602267eb0d8d71d159d1025443423b112e736
MD5 b8cee7a07b2d7d8590446eafb71f30e0
BLAKE2b-256 2843a6373ad8298b28232fab74df559062936ecfbf66e8a977413512cd1c58ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page