Welcome to AWT-Quant’s Documentation!¶
AWT-Quant is an advanced quantitative finance library specializing in:
Stochastic modeling & forecasting (SPDE, GARCH, Jump Diffusion, Monte Carlo).
Multi-factor analysis (MFA) for financial markets.
Portfolio optimization (Mean-Variance, Black-Litterman, Monte Carlo).
Risk management & stress testing.
🚀 GitHub Repository: AWT-Quant 📦 PyPI Package: awt-quant on PyPI 📖 Full Documentation: ReadTheDocs
Contents:
Getting Started¶
If you’re new to AWT-Quant, start with:
Installation Guide → installation
Quick Start Tutorials → quickstart
API Reference & Modules → api_reference
Core Features¶
📊 Stochastic PDE Forecasting¶
Supports Geometric Brownian Motion (GBM), Heston, CIR, OU, Jump Diffusion models.
Monte Carlo simulations & likelihood estimation.
from awt_quant.forecast.stochastic.run_simulations import SPDEMCSimulator
# Initialize stochastic simulator with Heston model
sim = SPDEMCSimulator(
symbol='AAPL',
start_date='2022-01-01',
end_date='2022-03-01',
dt=1,
num_paths=1000,
eq='heston'
)
sim.download_data()
sim.set_parameters()
sim.simulate()
sim.plot_simulation()
📈 Multi-Factor Analysis (MFA)¶
Constructs factors from macro & historical data.
Uses ML-based feature selection (Random Forest, PCA).
K-Means clustering & stress testing.
from awt_quant.portfolio.multi_factor_analysis.main import MultiFactorAnalysis
# Run factor analysis with clustering and stress testing
mfa = MultiFactorAnalysis(
assets=["AAPL", "MSFT", "TSLA", "AMZN", "GOOG"],
factors=["Market", "Size", "Value", "Momentum", "Quality"]
)
mfa.collect_data()
mfa.construct_factors()
mfa.run_clustering()
mfa.run_stress_sensitivity()
mfa.plot_factor_attribution()
💰 Portfolio Optimization¶
Mean-Variance Optimization (MPT) & Efficient Frontier.
Black-Litterman Bayesian Portfolio Optimization.
Monte Carlo Portfolio Simulations.
from awt_quant.portfolio.optimization.optimize import PortfolioOptimizer
# Set up portfolio optimizer with constraints
optimizer = PortfolioOptimizer(
assets=["AAPL", "MSFT", "AMZN", "TSLA", "BND"],
objective="sharpe",
constraints={
"max_volatility": 0.15,
"max_per_asset": 0.25,
"min_per_asset": 0.05
}
)
weights = optimizer.optimize()
optimizer.plot_efficient_frontier()
optimizer.plot_allocation()
📉 Risk Management & Stress Testing¶
VaR, CVaR, Sharpe Ratio, Maximum Drawdown.
Factor exposure analysis & custom performance tear sheets.
from awt_quant.risk.tearsheet import RiskTearsheet
# Generate comprehensive risk report
tearsheet = RiskTearsheet(
assets=["AAPL", "MSFT", "TSLA", "AMZN", "GOOG"],
weights=[0.2, 0.2, 0.2, 0.2, 0.2],
start_date="2020-01-01",
benchmark="SPY"
)
tearsheet.generate(
include_drawdowns=True,
include_stress_tests=True,
include_factor_attribution=True
)
Installation¶
To install AWT-Quant:
# Using pip
pip install awt-quant
# Using Poetry
poetry add awt-quant
# For CUDA support
poetry install --with cuda