v0.8.0 · MIT License · Python 3.9+

Institutional
financial modeling
for Python.

DCF · LBO · Options · Derivatives · ML Forecasting · Portfolio · Macro · Audit.
No Bloomberg. No API keys. 58 modules. Pure Python.

pip install finverse View on GitHub →
PRICE DCF $214.24 2020 2021 2022 2023 2024 2025

Build any model
in minutes.

From a three-line ML-powered DCF to a full credit analysis with GARCH volatility, tail risk, and factor decomposition — everything composes cleanly.

0
Modules
0
Layers
0
API Keys needed
python · finverse_demo.py
# ML-powered DCF in 3 lines from finverse import pull, DCF, sensitivity data = pull.ticker("AAPL") DCF(data).use_ml_forecast().run().summary() # Regime-conditional DCF from finverse import regime_dcf r = regime_dcf(data) → regime: expansion weighted: $214.20 adj: +6.4% # Earnings beat probability from finverse.ml import earnings_surprise earnings_surprise.analyze(data).summary() → beat prob: 73.2% edge: 1.18x sector p82 # Stress test a portfolio from finverse.risk import stress_testing stress_testing.run_all(stocks).summary() → worst: gfc_2008 portfolio: -41.2%
Architecture

13 layers.
Everything composes.

Valuation
DCF · LBO · Three-Statement
ML-assisted assumptions, Monte Carlo, regime-conditional pricing, IRR/MoM buyout modeling.
Options
finverse.options v0.7
Black-Scholes, binomial tree, implied vol surface, arbitrage scanner, EVT-linked tail hedging.
New layer
Derivatives
rates · fx v0.7
IR swaps, FRAs, swaptions, FX forwards, cross-currency basis, Garman-Kohlhagen options.
New layer
ML
12 ML modules
XGBoost forecasts, GJR-GARCH vol, HMM regime detection, earnings surprise, factor rotation.
Risk
EVT · Kelly · Stress Testing
GPD tail VaR at 99.99%, Kelly position sizing, 7 historical shock scenarios including GFC and COVID.
stress_testing new
Portfolio
HRP · Black-Litterman · CVaR
5 optimization methods. Bayesian analyst views. CVaR-minimizing LP. Regime-aware factor tilts.
BL + CVaR new
Credit
Merton · Altman
Structural distance-to-default with GARCH vol. Z-Score for public, private, and non-manufacturers.
Audit
manipulation · earnings_quality
40-signal Random Forest manipulation fingerprint. 10-factor earnings quality. Benford's Law.
40-signal RF new
Macro
Nelson-Siegel · VAR · Nowcast
Yield curve fitting, GDP nowcast, recession probability, impulse response functions via FRED.
Models
options · bonds · regime_dcf
European/American pricing, bond duration/convexity/DV01, synthetic peer multiples, SOTP.
bonds + regime_dcf new
Data
yfinance · EDGAR · FRED
Financials, price history, SEC 10-K/10-Q with XBRL, macro series. Zero paid API keys.
Analysis
sensitivity · backtest · screener
2-variable heatmaps, signal-based backtesting, ML stock screener by sector and criteria.
What makes it different

Everything you need.
Nothing you don't.

58
Core principle

No Bloomberg.
No API keys.
Pure Python.

Every model runs fully offline. The only optional key is a free FRED account for macro data. Everything else — options pricing, derivatives, ML forecasts, credit models — works without any external accounts.

# Zero setup needed
import finverse
data = finverse.pull.ticker("MSFT")
finverse.DCF(data).run().summary()
New in v0.8.0

Regime-conditional everything

regime_dcf() adjusts WACC, growth, and margins per detected macro regime and returns a probability-weighted price across all four regimes.

ML layer

GJR-GARCH. No arch package.

Full GARCH family via scipy MLE. Asymmetric leverage effects. AIC model comparison built in.

Portfolio

Black-Litterman with analyst views

Blend CAPM equilibrium returns with your own views. Absolute or relative. Confidence-weighted Bayesian updating.

Risk

EVT tail risk at 99.99%

GPD peaks-over-threshold. Return periods. Beyond what normal distribution can model.

Testing

253 tests. All synthetic data. Zero network calls.

Every test runs against synthetic financial data — no yfinance calls, no FRED keys, no rate limits. CI passes on Python 3.9 through 3.12 in a clean environment. The entire test suite is a pytest tests/ -v away.

Audit

40-signal manipulation fingerprint

Not just Beneish. A Random Forest trained on 40+ accounting signals — AR growth, SGA inflation, asset quality index, and more — with probability score and ranked top risk drivers.

Up and running
in 30 seconds.

Install the base package or the full variant with visualization and PDF export support. No accounts, no keys, no configuration.

Python 3.9 – 3.12
numpy · pandas
scikit-learn · scipy
xgboost · yfinance
rich · openpyxl
FRED key (optional)
$ pip install finverse # base
$ pip install finverse[full] # + viz
$ pip install finverse[dev] # + tests
Quick start
from finverse import pull, DCF
data = pull.ticker("AAPL")
DCF(data).use_ml_forecast().run().summary()
GitHub Repository ↗ PyPI Page →