Import All Public Modules¶
This notebook is a smoke test: it imports every public module in AbaQuant and confirms the package loads cleanly. It is a good first notebook to run after installing AbaQuant, since it will fail fast if something is missing from your environment.
What you’ll see:
How to make
abaquantimportable from a notebook (works both for an installed package and for a local source checkout).The full list of public modules covered by AbaQuant’s stable v1 namespace.
Setup¶
Make sure abaquant can be imported, whether it’s installed or you’re running from a local source checkout.
import abaquant
print(f"AbaQuant version: {abaquant.__version__}")
AbaQuant version: 1.0.0rc1
Public module inventory¶
These are the modules that make up AbaQuant’s documented v1 surface.
import importlib
PUBLIC_MODULES = (
"abaquant",
"abaquant.derivatives.vanilla",
"abaquant.derivatives.trees",
"abaquant.derivatives.forwards",
"abaquant.derivatives.strategies",
"abaquant.derivatives.exotics",
"abaquant.financial_math.tvm",
"abaquant.financial_math.rates",
"abaquant.rates",
"abaquant.financial_math.annuities",
"abaquant.financial_math.bonds",
"abaquant.financial_math.cashflows",
"abaquant.financial_math.corporate",
"abaquant.financial_math.equity",
"abaquant.financial_math.loans",
"abaquant.financial_math.portfolio",
"abaquant.financial_math.risk",
"abaquant.derivatives.models",
"abaquant.derivatives.advanced",
"abaquant.derivatives.models.black_scholes",
"abaquant.derivatives.models.binomial",
"abaquant.derivatives.models.bachelier",
"abaquant.derivatives.models.heston",
"abaquant.derivatives.models.merton",
"abaquant.derivatives.models.nig",
"abaquant.derivatives.models.sabr",
"abaquant.derivatives.models.variance_gamma",
"abaquant.derivatives.calibration",
"abaquant.derivatives.calibration.core",
"abaquant.derivatives.analytics.distributions",
"abaquant.derivatives.analytics.parity",
"abaquant.derivatives.analytics.volatility",
"abaquant.derivatives.monte_carlo",
"abaquant.derivatives.numerics.implied_volatility",
"abaquant.derivatives.simulation.gbm",
"abaquant.derivatives.simulation.merton",
"abaquant.derivatives.simulation.levy",
"abaquant.credit.fundamentals",
"abaquant.credit.cds",
"abaquant.credit.cdo",
"abaquant.credit.copula",
"abaquant.credit.transitions",
"abaquant.credit.valuation",
"abaquant.credit.risk",
"abaquant.credit.distribution",
"abaquant.portfolio.optimization",
"abaquant.portfolio.efficient_frontier",
"abaquant.portfolio.risk_metrics",
"abaquant.portfolio.backtesting",
"abaquant.portfolio.stress_testing",
"abaquant.portfolio.hierarchical",
"abaquant.risk",
"abaquant.risk.dashboard",
"abaquant.reports",
"abaquant.reports.exportable",
"abaquant.core",
"abaquant.core.provenance",
"abaquant.marketdata",
"abaquant.marketdata.financials",
"abaquant.marketdata.option_chain_analytics",
"abaquant.marketdata.providers.sec",
"abaquant.visualization",
)
print(f"Modules to import: {len(PUBLIC_MODULES)}")
Modules to import: 62
Run the import smoke test¶
def import_public_modules():
"""Import every public module and return its import status."""
return {
module_name: type(importlib.import_module(module_name)).__name__
for module_name in PUBLIC_MODULES
}
statuses = import_public_modules()
print(f"Imported {len(statuses)} modules successfully.\n")
for name, kind in list(statuses.items())[:8]:
print(f"{name:45s} -> {kind}")
Imported 62 modules successfully.
abaquant -> module
abaquant.derivatives.vanilla -> module
abaquant.derivatives.trees -> module
abaquant.derivatives.forwards -> module
abaquant.derivatives.strategies -> module
abaquant.derivatives.exotics -> module
abaquant.financial_math.tvm -> module
abaquant.financial_math.rates -> module
Takeaway¶
If this notebook runs top to bottom without errors, your AbaQuant environment is healthy and every documented public module is importable. From here, move on to the domain-specific notebooks (derivatives, financial math, credit, portfolio, market data, etc.) to see AbaQuant in action.