nirvana-quant: A Statistical and Econometric Framework for Multivariate Cyclical Time Series
nirvana-quant is an open-source Python and C++ research framework for multivariate time-series econometrics, state-space filtering, directional network spillover modeling, and counterfactual panel reconstruction.
The library bridges classical econometric foundations (Vector Autoregressions, Diebold–Yılmaz connectedness, Kalman filters) with modern non-parametric methods (piecewise regression trees, Fisher Information regularization, and finite-sample Split Conformal Prediction).
🚀 Interactive Notebook Demo (1-Click Run)
Test the complete end-to-end systemic risk pipeline across 27 commercial banks with interactive network graphs, SVD market decoupling, domino default contagion, and Basel IV macroprudential capital surcharge calibration:
📊 Visualizations & Topological Risk Analytics
The engine extracts systemic interbank connections from multivariate asset price series:
| Pairwise Spillover Intensity Heatmap (27x27) | Directed Systemic Risk Network Topology |
|---|---|
| Net Transmitter vs. Receiver Ranking | Hub vs. Authority Scatterplot |
|---|---|
⚡ Quickstart in 3 Lines
pip install nirvana-quant
import pandas as pd
from nirvana import NirvanaConnectedness
# Fit a TVP-VAR causal Kalman network model
model = NirvanaConnectedness(kalman_q=1e-3, kalman_r=1e-2, orthogonalize_market=True)
results = model.fit(df_asset_returns)
print(f"Total Connectedness Index (TCI): {results.total_connectedness_index:.2f}%")
print("Top Shock Transmitters:", results.top_transmitters[:5])
print("Top Shock Receivers:", results.top_receivers[:5])
🔬 Core Methodological Modules
1. Harmonic Feature Mapping (nirvana.manifold)
- Maps multi-frequency cyclical signals (such as quarterly financial reporting and annual cycles) onto periodic manifold coordinates ($\mathbb{T}^2 = S^1 \times S^1$).
- Incorporates Discrete Fourier Transform (DFT) power spectral estimation to identify dominant frequencies empirically.
2. Causal State-Space Filtering & TVP (nirvana.kalman)
- Implements sequential Kalman state-space estimation with strictly causal updates (zero lookahead bias).
- Utilizes the Joseph-stabilized covariance formulation: $$P_t = (I - K_t H) P_{t|t-1} (I - K_t H)^T + K_t R K_t^T$$ to ensure positive semi-definiteness under ill-conditioned measurement environments.
- Employs Huber-type innovation bounds to limit sensitivity to fat-tailed shocks.
3. Regularized Piecewise Regression (nirvana.tree)
- Captures non-linear residual structures via bounded piecewise regression trees.
- Utilizes Fisher Information Matrix metrics and sample-margin density criteria to guide terminal-node pruning and mitigate finite-sample overfitting.
4. Directional Spillover & Network Topology (nirvana.network)
- Computes directional connectedness matrices via Vector Autoregressions (VAR) and Generalized Forecast Error Variance Decomposition (GFEVD, Koop–Pesaran–Potter).
- Employs Singular Value Decomposition (SVD) to isolate pervasive common market factors from idiosyncratic innovations.
- Evaluates Kleinberg graph centrality measures (Hub and Authority scores) to distinguish net transmitters from net receivers of shocks.
5. Counterfactual Panel Reconstruction (nirvana.multiverse)
- Implements counterfactual imputation for unbalanced historical panels (such as pre-listing asset periods).
- Evaluates sensitivity across structured simulation paths anchored on peer-group dynamics and macroeconomic benchmarks.
- Uses cubic Hermite transition polynomials ($3t^2 - 2t^3$) to ensure boundary continuity between reconstructed and observed sample periods.
6. Two-Stage Estimation & Conformal Prediction (nirvana.static, nirvana.proof)
- Combines parametric base estimators (OLS, Ridge, Lasso) with non-linear residual trees in a two-stage additive framework.
- Computes distribution-free prediction intervals via Split Conformal Prediction, satisfying finite-sample coverage guarantees: $$P\Big(Y_{n+1} \in [\hat{Y}{n+1} - q, \hat{Y}{n+1} + q]\Big) \ge 1 - \alpha$$
🏛️ Domain Extensions (nirvana.domains)
Domain-specific structural parameters are maintained in modular extensions:
banking: Empirical asset-scaling adjustments, exchange price-band limits, and interbank liquidity position mappings for systemic risk studies.cybersecurity: Directed network graph modeling for anomalous traffic flows and node centrality analysis.supply_chain: Multi-tier propagation models for inventory volatility and supplier dependency shocks.
💻 C++ Implementation (nirvana_cpp/)
For low-latency execution and integration into compiled pipelines, the repository includes a self-contained C++20 header library:
- Header-only:
#include <nirvana/nirvana.hpp>. - Self-contained linear algebra routines (matrix decomposition, SVD, pseudoinverse) without mandatory external dependencies.
- Compatible with standard C++20 compilers (GCC 12+, Clang 15+, MSVC 19.30+).
📦 Installation Options
From PyPI (Recommended)
pip install nirvana-quant
From GitHub
pip install git+https://github.com/yinyusi65/nirvana-quant.git
From Local Source
git clone https://github.com/yinyusi65/nirvana-quant.git
cd nirvana-quant
pip install -e .
📖 Usage Examples
1. Two-Stage Regression with Conformal Prediction Intervals
import numpy as np
from nirvana import NirvanaTwoStageRegressor
# Cross-sectional sample
np.random.seed(42)
X = np.random.randn(120, 3)
y = 1.8 * X[:, 0] - 0.7 * (X[:, 1] ** 2) + np.random.randn(120) * 0.15
# Fit two-stage additive model
regressor = NirvanaTwoStageRegressor(base_estimator="ols", max_depth=4)
regressor.fit(X, y)
# Compute 95% conformal prediction intervals
y_pred, y_lower, y_upper = regressor.predict_interval(X, alpha=0.05)
print(f"Point Forecast: {y_pred[0]:.3f}, 95% Interval: [{y_lower[0]:.3f}, {y_upper[0]:.3f}]")
👤 Authors & Maintainers
- yinyusi65
📄 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Metadata
Release files for nirvana-quant 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nirvana_quant-1.0.3.tar.gz | 81.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nirvana_quant-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 168.6 kB
Release files / nirvana_quant-1.0.3.tar.gz
| Download URL | nirvana_quant-1.0.3.tar.gz |
|---|---|
| Size | 81.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
baf37b37681d8d2e587eedceb318f895bff58567f95dc499b95752beb6dd3bff
|
|
BLAKE2b-256 checksum How to use checksums |
e279e2171e19b9838c2a8e53cb71a50427c474244a23a9b17c969543c2493f92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / nirvana_quant-1.0.3-py3-none-any.whl
| Download URL | nirvana_quant-1.0.3-py3-none-any.whl |
|---|---|
| Size | 87.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec7fc05096b62f0c7cb887ade91dddc2466deea9ade76b8a4b5ae1d1aea25254
|
|
BLAKE2b-256 checksum How to use checksums |
380057ef3cb1450b8c171353c1c83493089729ce0401e356f6acaee0791441c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for nirvana-quant 1.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.