quantlib-pro 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quantlib_pro-1.0.0/LICENSE +1 -0
- quantlib_pro-1.0.0/MANIFEST.in +35 -0
- quantlib_pro-1.0.0/PKG-INFO +659 -0
- quantlib_pro-1.0.0/PYPI_PUBLICATION_GUIDE.md +1 -0
- quantlib_pro-1.0.0/README.md +554 -0
- quantlib_pro-1.0.0/SDK_README.md +372 -0
- quantlib_pro-1.0.0/config/prometheus/prometheus.yml +18 -0
- quantlib_pro-1.0.0/docs/API_EXPLORER_SDLC.md +1313 -0
- quantlib_pro-1.0.0/docs/API_REAL_DATA_ENDPOINTS.py +353 -0
- quantlib_pro-1.0.0/docs/DATA_INFRASTRUCTURE_GUIDE.md +446 -0
- quantlib_pro-1.0.0/docs/DATA_PROVIDERS_GUIDE.md +426 -0
- quantlib_pro-1.0.0/docs/IMPLEMENTATION_SUMMARY.md +449 -0
- quantlib_pro-1.0.0/docs/LIQUIDITY_DASHBOARD_CALIBRATION.md +400 -0
- quantlib_pro-1.0.0/docs/TRADER_STRESS_MONITOR_GUIDE.md +670 -0
- quantlib_pro-1.0.0/docs/UAT_PERFORMANCE_INTEGRATION_GUIDE.md +1182 -0
- quantlib_pro-1.0.0/docs/api/README.md +553 -0
- quantlib_pro-1.0.0/docs/api_reference/__init__.py +1 -0
- quantlib_pro-1.0.0/docs/architecture.md +687 -0
- quantlib_pro-1.0.0/docs/conf.py +175 -0
- quantlib_pro-1.0.0/docs/deployment.md +829 -0
- quantlib_pro-1.0.0/docs/guides/user_guide.md +523 -0
- quantlib_pro-1.0.0/docs/index.md +282 -0
- quantlib_pro-1.0.0/docs/load-testing.md +573 -0
- quantlib_pro-1.0.0/docs/mathematical_foundations/index.md +140 -0
- quantlib_pro-1.0.0/docs/mathematical_foundations/ito_calculus.md +1 -0
- quantlib_pro-1.0.0/docs/mathematical_foundations/martingale_theory.md +1 -0
- quantlib_pro-1.0.0/docs/mathematical_foundations/pde_methods.md +1 -0
- quantlib_pro-1.0.0/docs/mathematical_foundations/probability_theory.md +1 -0
- quantlib_pro-1.0.0/docs/mathematical_foundations/stochastic_processes.md +1 -0
- quantlib_pro-1.0.0/docs/monitoring-alerting.md +723 -0
- quantlib_pro-1.0.0/docs/oncall-runbook.md +865 -0
- quantlib_pro-1.0.0/docs/operations/__init__.py +1 -0
- quantlib_pro-1.0.0/docs/performance-monitoring-dashboard.md +914 -0
- quantlib_pro-1.0.0/docs/phased-rollout-plan.md +491 -0
- quantlib_pro-1.0.0/docs/portfolio_theory/index.md +1 -0
- quantlib_pro-1.0.0/docs/production-deployment.md +572 -0
- quantlib_pro-1.0.0/docs/production-readiness-checklist.md +657 -0
- quantlib_pro-1.0.0/docs/secrets-management.md +583 -0
- quantlib_pro-1.0.0/docs/security-hardening-checklist.md +814 -0
- quantlib_pro-1.0.0/docs/tutorials/portfolio_optimization.md +543 -0
- quantlib_pro-1.0.0/docs/user_guide/__init__.py +1 -0
- quantlib_pro-1.0.0/pyproject.toml +226 -0
- quantlib_pro-1.0.0/quantlib_api/__init__.py +50 -0
- quantlib_pro-1.0.0/quantlib_api/_http.py +243 -0
- quantlib_pro-1.0.0/quantlib_api/auth.py +164 -0
- quantlib_pro-1.0.0/quantlib_api/client.py +349 -0
- quantlib_pro-1.0.0/quantlib_api/exceptions.py +69 -0
- quantlib_pro-1.0.0/quantlib_api/resources/__init__.py +43 -0
- quantlib_pro-1.0.0/quantlib_api/resources/analytics.py +84 -0
- quantlib_pro-1.0.0/quantlib_api/resources/backtesting.py +76 -0
- quantlib_pro-1.0.0/quantlib_api/resources/base.py +15 -0
- quantlib_pro-1.0.0/quantlib_api/resources/compliance.py +95 -0
- quantlib_pro-1.0.0/quantlib_api/resources/data.py +66 -0
- quantlib_pro-1.0.0/quantlib_api/resources/execution.py +113 -0
- quantlib_pro-1.0.0/quantlib_api/resources/health.py +34 -0
- quantlib_pro-1.0.0/quantlib_api/resources/liquidity.py +83 -0
- quantlib_pro-1.0.0/quantlib_api/resources/macro.py +63 -0
- quantlib_pro-1.0.0/quantlib_api/resources/market_analysis.py +83 -0
- quantlib_pro-1.0.0/quantlib_api/resources/options.py +123 -0
- quantlib_pro-1.0.0/quantlib_api/resources/portfolio.py +131 -0
- quantlib_pro-1.0.0/quantlib_api/resources/regime.py +68 -0
- quantlib_pro-1.0.0/quantlib_api/resources/risk.py +105 -0
- quantlib_pro-1.0.0/quantlib_api/resources/signals.py +77 -0
- quantlib_pro-1.0.0/quantlib_api/resources/systemic_risk.py +86 -0
- quantlib_pro-1.0.0/quantlib_api/resources/uat.py +92 -0
- quantlib_pro-1.0.0/quantlib_api/resources/volatility.py +84 -0
- quantlib_pro-1.0.0/quantlib_cli/__init__.py +20 -0
- quantlib_pro-1.0.0/quantlib_cli/_endpoints.py +101 -0
- quantlib_pro-1.0.0/quantlib_cli/auth_store.py +105 -0
- quantlib_pro-1.0.0/quantlib_cli/cli.py +617 -0
- quantlib_pro-1.0.0/quantlib_cli/formatters.py +120 -0
- quantlib_pro-1.0.0/quantlib_pro/__init__.py +208 -0
- quantlib_pro-1.0.0/quantlib_pro/analytics/__init__.py +30 -0
- quantlib_pro-1.0.0/quantlib_pro/analytics/correlation_analysis.py +459 -0
- quantlib_pro-1.0.0/quantlib_pro/analytics/manager.py +54 -0
- quantlib_pro-1.0.0/quantlib_pro/api/__init__.py +154 -0
- quantlib_pro-1.0.0/quantlib_pro/api/auth.py +221 -0
- quantlib_pro-1.0.0/quantlib_pro/api/dependencies.py +612 -0
- quantlib_pro-1.0.0/quantlib_pro/api/health.py +242 -0
- quantlib_pro-1.0.0/quantlib_pro/api/models.py +452 -0
- quantlib_pro-1.0.0/quantlib_pro/api/optimizations.py +381 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers.py +1200 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_analytics.py +451 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_backtesting.py +402 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_compliance.py +464 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_data.py +465 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_execution.py +471 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_liquidity.py +410 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_macro.py +323 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_market_analysis.py +462 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_realdata.py +396 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_signals.py +416 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_systemic_risk.py +421 -0
- quantlib_pro-1.0.0/quantlib_pro/api/routers_uat.py +403 -0
- quantlib_pro-1.0.0/quantlib_pro/audit/__init__.py +15 -0
- quantlib_pro-1.0.0/quantlib_pro/audit/calculation_log.py +269 -0
- quantlib_pro-1.0.0/quantlib_pro/cli.py +313 -0
- quantlib_pro-1.0.0/quantlib_pro/compliance/__init__.py +54 -0
- quantlib_pro-1.0.0/quantlib_pro/compliance/audit_trail.py +520 -0
- quantlib_pro-1.0.0/quantlib_pro/compliance/gdpr.py +478 -0
- quantlib_pro-1.0.0/quantlib_pro/compliance/reporting.py +404 -0
- quantlib_pro-1.0.0/quantlib_pro/data/__init__.py +113 -0
- quantlib_pro-1.0.0/quantlib_pro/data/alpha_vantage_client.py +349 -0
- quantlib_pro-1.0.0/quantlib_pro/data/cache.py +159 -0
- quantlib_pro-1.0.0/quantlib_pro/data/cache_manager.py +378 -0
- quantlib_pro-1.0.0/quantlib_pro/data/data_router.py +306 -0
- quantlib_pro-1.0.0/quantlib_pro/data/database.py +123 -0
- quantlib_pro-1.0.0/quantlib_pro/data/fetcher.py +199 -0
- quantlib_pro-1.0.0/quantlib_pro/data/fred_client.py +324 -0
- quantlib_pro-1.0.0/quantlib_pro/data/fred_provider.py +156 -0
- quantlib_pro-1.0.0/quantlib_pro/data/manager.py +250 -0
- quantlib_pro-1.0.0/quantlib_pro/data/market_data.py +237 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/__init__.py +22 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/audit.py +27 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/backtest.py +42 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/base.py +16 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/celery_task.py +36 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/portfolio.py +51 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/timeseries.py +54 -0
- quantlib_pro-1.0.0/quantlib_pro/data/models/user.py +26 -0
- quantlib_pro-1.0.0/quantlib_pro/data/providers/__init__.py +24 -0
- quantlib_pro-1.0.0/quantlib_pro/data/providers/alpha_vantage.py +338 -0
- quantlib_pro-1.0.0/quantlib_pro/data/providers/capital_iq.py +359 -0
- quantlib_pro-1.0.0/quantlib_pro/data/providers/factset.py +482 -0
- quantlib_pro-1.0.0/quantlib_pro/data/providers/multi_provider.py +210 -0
- quantlib_pro-1.0.0/quantlib_pro/data/providers_legacy.py +509 -0
- quantlib_pro-1.0.0/quantlib_pro/data/quality.py +205 -0
- quantlib_pro-1.0.0/quantlib_pro/data/yahoo_client.py +321 -0
- quantlib_pro-1.0.0/quantlib_pro/execution/__init__.py +84 -0
- quantlib_pro-1.0.0/quantlib_pro/execution/backtesting.py +551 -0
- quantlib_pro-1.0.0/quantlib_pro/execution/manager.py +55 -0
- quantlib_pro-1.0.0/quantlib_pro/execution/market_impact.py +325 -0
- quantlib_pro-1.0.0/quantlib_pro/execution/order_book.py +309 -0
- quantlib_pro-1.0.0/quantlib_pro/execution/strategies.py +351 -0
- quantlib_pro-1.0.0/quantlib_pro/governance/__init__.py +30 -0
- quantlib_pro-1.0.0/quantlib_pro/governance/policies.py +544 -0
- quantlib_pro-1.0.0/quantlib_pro/macro/__init__.py +97 -0
- quantlib_pro-1.0.0/quantlib_pro/macro/correlation.py +374 -0
- quantlib_pro-1.0.0/quantlib_pro/macro/economic.py +438 -0
- quantlib_pro-1.0.0/quantlib_pro/macro/macro_regime.py +167 -0
- quantlib_pro-1.0.0/quantlib_pro/macro/manager.py +44 -0
- quantlib_pro-1.0.0/quantlib_pro/macro/sentiment.py +443 -0
- quantlib_pro-1.0.0/quantlib_pro/market_microstructure/__init__.py +13 -0
- quantlib_pro-1.0.0/quantlib_pro/market_microstructure/calibrated_orderbook.py +289 -0
- quantlib_pro-1.0.0/quantlib_pro/market_regime/__init__.py +54 -0
- quantlib_pro-1.0.0/quantlib_pro/market_regime/hmm_detector.py +259 -0
- quantlib_pro-1.0.0/quantlib_pro/market_regime/manager.py +45 -0
- quantlib_pro-1.0.0/quantlib_pro/market_regime/trend_regime.py +296 -0
- quantlib_pro-1.0.0/quantlib_pro/market_regime/volatility_regime.py +284 -0
- quantlib_pro-1.0.0/quantlib_pro/monitoring/health_check.py +361 -0
- quantlib_pro-1.0.0/quantlib_pro/observability/__init__.py +144 -0
- quantlib_pro-1.0.0/quantlib_pro/observability/health.py +350 -0
- quantlib_pro-1.0.0/quantlib_pro/observability/metrics.py +342 -0
- quantlib_pro-1.0.0/quantlib_pro/observability/monitoring.py +475 -0
- quantlib_pro-1.0.0/quantlib_pro/observability/performance.py +369 -0
- quantlib_pro-1.0.0/quantlib_pro/observability/profiler.py +444 -0
- quantlib_pro-1.0.0/quantlib_pro/options/__init__.py +89 -0
- quantlib_pro-1.0.0/quantlib_pro/options/bachelier.py +625 -0
- quantlib_pro-1.0.0/quantlib_pro/options/black_scholes.py +551 -0
- quantlib_pro-1.0.0/quantlib_pro/options/greeks.py +367 -0
- quantlib_pro-1.0.0/quantlib_pro/options/manager.py +313 -0
- quantlib_pro-1.0.0/quantlib_pro/options/monte_carlo.py +377 -0
- quantlib_pro-1.0.0/quantlib_pro/portfolio/__init__.py +52 -0
- quantlib_pro-1.0.0/quantlib_pro/portfolio/black_litterman.py +246 -0
- quantlib_pro-1.0.0/quantlib_pro/portfolio/manager.py +186 -0
- quantlib_pro-1.0.0/quantlib_pro/portfolio/optimization.py +337 -0
- quantlib_pro-1.0.0/quantlib_pro/portfolio/optimizer.py +165 -0
- quantlib_pro-1.0.0/quantlib_pro/portfolio/risk_parity.py +236 -0
- quantlib_pro-1.0.0/quantlib_pro/resilience/__init__.py +17 -0
- quantlib_pro-1.0.0/quantlib_pro/resilience/circuit_breaker.py +204 -0
- quantlib_pro-1.0.0/quantlib_pro/risk/__init__.py +80 -0
- quantlib_pro-1.0.0/quantlib_pro/risk/advanced_analytics.py +504 -0
- quantlib_pro-1.0.0/quantlib_pro/risk/limits.py +206 -0
- quantlib_pro-1.0.0/quantlib_pro/risk/manager.py +220 -0
- quantlib_pro-1.0.0/quantlib_pro/risk/stress.py +21 -0
- quantlib_pro-1.0.0/quantlib_pro/risk/stress_testing.py +356 -0
- quantlib_pro-1.0.0/quantlib_pro/risk/var.py +358 -0
- quantlib_pro-1.0.0/quantlib_pro/sdk.py +294 -0
- quantlib_pro-1.0.0/quantlib_pro/security/__init__.py +40 -0
- quantlib_pro-1.0.0/quantlib_pro/security/authentication.py +203 -0
- quantlib_pro-1.0.0/quantlib_pro/security/encryption.py +118 -0
- quantlib_pro-1.0.0/quantlib_pro/security/rate_limiting.py +226 -0
- quantlib_pro-1.0.0/quantlib_pro/testing/__init__.py +64 -0
- quantlib_pro-1.0.0/quantlib_pro/testing/chaos.py +553 -0
- quantlib_pro-1.0.0/quantlib_pro/testing/load_testing.py +482 -0
- quantlib_pro-1.0.0/quantlib_pro/testing/model_validation.py +485 -0
- quantlib_pro-1.0.0/quantlib_pro/testing/reporting.py +554 -0
- quantlib_pro-1.0.0/quantlib_pro/uat/__init__.py +69 -0
- quantlib_pro-1.0.0/quantlib_pro/uat/bug_tracker.py +397 -0
- quantlib_pro-1.0.0/quantlib_pro/uat/feedback.py +514 -0
- quantlib_pro-1.0.0/quantlib_pro/uat/performance_validation.py +456 -0
- quantlib_pro-1.0.0/quantlib_pro/uat/scenarios.py +632 -0
- quantlib_pro-1.0.0/quantlib_pro/ui/__init__.py +9 -0
- quantlib_pro-1.0.0/quantlib_pro/ui/caching.py +419 -0
- quantlib_pro-1.0.0/quantlib_pro/ui/components.py +436 -0
- quantlib_pro-1.0.0/quantlib_pro/utils/__init__.py +41 -0
- quantlib_pro-1.0.0/quantlib_pro/utils/logging.py +72 -0
- quantlib_pro-1.0.0/quantlib_pro/utils/types.py +108 -0
- quantlib_pro-1.0.0/quantlib_pro/utils/usability.py +422 -0
- quantlib_pro-1.0.0/quantlib_pro/utils/validation.py +89 -0
- quantlib_pro-1.0.0/quantlib_pro/validation/__init__.py +17 -0
- quantlib_pro-1.0.0/quantlib_pro/validation/model_validation.py +294 -0
- quantlib_pro-1.0.0/quantlib_pro/volatility/__init__.py +48 -0
- quantlib_pro-1.0.0/quantlib_pro/volatility/manager.py +39 -0
- quantlib_pro-1.0.0/quantlib_pro/volatility/smile_models.py +348 -0
- quantlib_pro-1.0.0/quantlib_pro/volatility/surface.py +337 -0
- quantlib_pro-1.0.0/quantlib_pro.egg-info/PKG-INFO +659 -0
- quantlib_pro-1.0.0/quantlib_pro.egg-info/SOURCES.txt +216 -0
- quantlib_pro-1.0.0/quantlib_pro.egg-info/dependency_links.txt +1 -0
- quantlib_pro-1.0.0/quantlib_pro.egg-info/entry_points.txt +2 -0
- quantlib_pro-1.0.0/quantlib_pro.egg-info/not-zip-safe +1 -0
- quantlib_pro-1.0.0/quantlib_pro.egg-info/requires.txt +84 -0
- quantlib_pro-1.0.0/quantlib_pro.egg-info/top_level.txt +3 -0
- quantlib_pro-1.0.0/requirements.txt +34 -0
- quantlib_pro-1.0.0/setup.cfg +4 -0
- quantlib_pro-1.0.0/setup.py +126 -0
- quantlib_pro-1.0.0/tests/test_bachelier.py +415 -0
- quantlib_pro-1.0.0/tests/test_market_microstructure.py +106 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
MIT License\n\nCopyright (c) 2024 QuantLib Pro Team\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
include README.md
|
|
2
|
+
include LICENSE
|
|
3
|
+
include pyproject.toml
|
|
4
|
+
include requirements.txt
|
|
5
|
+
include SDK_README.md
|
|
6
|
+
include PYPI_PUBLICATION_GUIDE.md
|
|
7
|
+
|
|
8
|
+
# Documentation
|
|
9
|
+
recursive-include docs *
|
|
10
|
+
|
|
11
|
+
# Data files
|
|
12
|
+
recursive-include quantlib_pro/data *.json *.csv *.yaml *.yml
|
|
13
|
+
recursive-include config *.json *.yaml *.yml
|
|
14
|
+
|
|
15
|
+
# Templates and static files
|
|
16
|
+
recursive-include quantlib_pro/ui *.html *.css *.js
|
|
17
|
+
|
|
18
|
+
# Exclude development and cache files
|
|
19
|
+
recursive-exclude * __pycache__
|
|
20
|
+
recursive-exclude * *.py[co]
|
|
21
|
+
recursive-exclude * .pytest_cache
|
|
22
|
+
recursive-exclude * .mypy_cache
|
|
23
|
+
recursive-exclude * *.log
|
|
24
|
+
recursive-exclude * .DS_Store
|
|
25
|
+
exclude .env
|
|
26
|
+
exclude .env.*
|
|
27
|
+
exclude docker-compose*.yml
|
|
28
|
+
exclude Dockerfile
|
|
29
|
+
prune .git
|
|
30
|
+
prune .github
|
|
31
|
+
prune .venv
|
|
32
|
+
prune logs
|
|
33
|
+
prune cache
|
|
34
|
+
prune monitoring
|
|
35
|
+
prune deploy
|
|
@@ -0,0 +1,659 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: quantlib-pro
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Enterprise Quantitative Finance SDK - Portfolio optimization, risk analysis, options pricing, and market data
|
|
5
|
+
Home-page: https://github.com/quantlib-pro/quantlib-pro
|
|
6
|
+
Author: QuantLib Pro Team
|
|
7
|
+
Author-email: QuantLib Pro Team <info@quantlibpro.com>
|
|
8
|
+
License: MIT
|
|
9
|
+
Keywords: quantitative-finance,portfolio-optimization,risk-management,options-pricing,market-data,derivatives,volatility,backtesting,financial-modeling,quant
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Office/Business :: Financial
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
20
|
+
Requires-Python: >=3.8
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: numpy>=1.26.4
|
|
24
|
+
Requires-Dist: pandas>=2.2.3
|
|
25
|
+
Requires-Dist: scipy>=1.12.0
|
|
26
|
+
Requires-Dist: yfinance>=0.2.48
|
|
27
|
+
Requires-Dist: scikit-learn>=1.4.0
|
|
28
|
+
Requires-Dist: hmmlearn>=0.3.2
|
|
29
|
+
Requires-Dist: matplotlib>=3.9.0
|
|
30
|
+
Requires-Dist: plotly>=5.20.0
|
|
31
|
+
Requires-Dist: seaborn>=0.13.0
|
|
32
|
+
Requires-Dist: streamlit>=1.32.0
|
|
33
|
+
Requires-Dist: networkx>=3.2.0
|
|
34
|
+
Requires-Dist: redis>=5.0.0
|
|
35
|
+
Requires-Dist: sqlalchemy[asyncio]>=2.0.0
|
|
36
|
+
Requires-Dist: asyncpg>=0.29.0
|
|
37
|
+
Requires-Dist: fastapi>=0.110.0
|
|
38
|
+
Requires-Dist: uvicorn[standard]>=0.27.0
|
|
39
|
+
Requires-Dist: python-jose[cryptography]>=3.3.0
|
|
40
|
+
Requires-Dist: passlib[bcrypt]>=1.7.4
|
|
41
|
+
Requires-Dist: python-multipart>=0.0.9
|
|
42
|
+
Requires-Dist: slowapi>=0.1.9
|
|
43
|
+
Requires-Dist: bleach>=6.1.0
|
|
44
|
+
Requires-Dist: cryptography>=42.0.0
|
|
45
|
+
Requires-Dist: prometheus-client>=0.20.0
|
|
46
|
+
Requires-Dist: opentelemetry-api>=1.23.0
|
|
47
|
+
Requires-Dist: opentelemetry-sdk>=1.23.0
|
|
48
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.23.0
|
|
49
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.44b0
|
|
50
|
+
Requires-Dist: opentelemetry-instrumentation-redis>=0.44b0
|
|
51
|
+
Requires-Dist: opentelemetry-instrumentation-requests>=0.44b0
|
|
52
|
+
Requires-Dist: psutil>=5.9.8
|
|
53
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
54
|
+
Requires-Dist: pydantic>=2.6.0
|
|
55
|
+
Requires-Dist: structlog>=24.1.0
|
|
56
|
+
Provides-Extra: sdk
|
|
57
|
+
Requires-Dist: numpy>=1.26.4; extra == "sdk"
|
|
58
|
+
Requires-Dist: pandas>=2.2.3; extra == "sdk"
|
|
59
|
+
Requires-Dist: scipy>=1.12.0; extra == "sdk"
|
|
60
|
+
Requires-Dist: scikit-learn>=1.4.0; extra == "sdk"
|
|
61
|
+
Requires-Dist: yfinance>=0.2.48; extra == "sdk"
|
|
62
|
+
Requires-Dist: requests>=2.31.0; extra == "sdk"
|
|
63
|
+
Provides-Extra: full
|
|
64
|
+
Requires-Dist: streamlit>=1.32.0; extra == "full"
|
|
65
|
+
Requires-Dist: fastapi>=0.110.0; extra == "full"
|
|
66
|
+
Requires-Dist: uvicorn[standard]>=0.27.0; extra == "full"
|
|
67
|
+
Requires-Dist: redis>=5.0.0; extra == "full"
|
|
68
|
+
Requires-Dist: sqlalchemy[asyncio]>=2.0.0; extra == "full"
|
|
69
|
+
Requires-Dist: plotly>=5.20.0; extra == "full"
|
|
70
|
+
Requires-Dist: matplotlib>=3.9.0; extra == "full"
|
|
71
|
+
Provides-Extra: data
|
|
72
|
+
Requires-Dist: yfinance>=0.2.48; extra == "data"
|
|
73
|
+
Requires-Dist: pandas-datareader>=0.10.0; extra == "data"
|
|
74
|
+
Requires-Dist: alpha-vantage>=2.3.1; extra == "data"
|
|
75
|
+
Requires-Dist: fredapi>=0.5.0; extra == "data"
|
|
76
|
+
Provides-Extra: ml
|
|
77
|
+
Requires-Dist: scikit-learn>=1.4.0; extra == "ml"
|
|
78
|
+
Requires-Dist: hmmlearn>=0.3.2; extra == "ml"
|
|
79
|
+
Requires-Dist: tensorflow>=2.15.0; extra == "ml"
|
|
80
|
+
Requires-Dist: torch>=2.1.0; extra == "ml"
|
|
81
|
+
Requires-Dist: xgboost>=2.0.0; extra == "ml"
|
|
82
|
+
Provides-Extra: dev
|
|
83
|
+
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
84
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
85
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
|
|
86
|
+
Requires-Dist: pytest-mock>=3.12.0; extra == "dev"
|
|
87
|
+
Requires-Dist: fakeredis>=2.21.0; extra == "dev"
|
|
88
|
+
Requires-Dist: httpx>=0.27.0; extra == "dev"
|
|
89
|
+
Requires-Dist: black>=24.0.0; extra == "dev"
|
|
90
|
+
Requires-Dist: flake8>=7.0.0; extra == "dev"
|
|
91
|
+
Requires-Dist: mypy>=1.8.0; extra == "dev"
|
|
92
|
+
Requires-Dist: isort>=5.13.0; extra == "dev"
|
|
93
|
+
Requires-Dist: pre-commit>=3.6.0; extra == "dev"
|
|
94
|
+
Requires-Dist: bandit>=1.7.7; extra == "dev"
|
|
95
|
+
Requires-Dist: safety>=3.0.0; extra == "dev"
|
|
96
|
+
Requires-Dist: pandas-stubs>=2.2.0; extra == "dev"
|
|
97
|
+
Requires-Dist: types-redis>=4.6.0; extra == "dev"
|
|
98
|
+
Requires-Dist: types-requests>=2.31.0; extra == "dev"
|
|
99
|
+
Provides-Extra: all
|
|
100
|
+
Requires-Dist: quantlib-pro[data,full,ml,sdk]; extra == "all"
|
|
101
|
+
Dynamic: author
|
|
102
|
+
Dynamic: home-page
|
|
103
|
+
Dynamic: license-file
|
|
104
|
+
Dynamic: requires-python
|
|
105
|
+
|
|
106
|
+
# **QuantLib Pro: Enterprise Quantitative Finance Platform**
|
|
107
|
+
|
|
108
|
+
A comprehensive, production-grade REST API that unifies 30+ specialized quantitative finance applications into a single, scalable platform. Built for institutional traders, portfolio managers, risk analysts, and quantitative researchers who demand professional-grade financial modeling capabilities.
|
|
109
|
+
|
|
110
|
+
[](https://www.python.org)
|
|
111
|
+
[](LICENSE)
|
|
112
|
+
[](https://github.com/psf/black)
|
|
113
|
+
[](https://github.com/gdukens/quant-simulator)
|
|
114
|
+
[](https://fred.stlouisfed.org/)
|
|
115
|
+
|
|
116
|
+
**📊 Enterprise-Ready** | **Real Market Data** | **30+ Applications** | **✅ Production Deployment**
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## **Core Capabilities**
|
|
121
|
+
|
|
122
|
+
### **Portfolio Management**
|
|
123
|
+
- **Modern Portfolio Theory**: Efficient frontier optimization, risk-return analysis
|
|
124
|
+
- **Asset Allocation**: Multi-asset class optimization with constraints and rebalancing
|
|
125
|
+
- **Performance Attribution**: Factor-based return decomposition and benchmark analysis
|
|
126
|
+
|
|
127
|
+
### **Derivatives & Options**
|
|
128
|
+
- **Pricing Models**: Black-Scholes, Monte Carlo simulation, binomial trees
|
|
129
|
+
- **Greeks Analytics**: Real-time Delta, Gamma, Theta, Vega, Rho calculations
|
|
130
|
+
- **Volatility Modeling**: Implied volatility surfaces, skew analysis, term structure
|
|
131
|
+
|
|
132
|
+
### **Risk Management**
|
|
133
|
+
- **Value-at-Risk (VaR)**: Historical, parametric, and Monte Carlo methodologies
|
|
134
|
+
- **Conditional VaR (CVaR)**: Expected shortfall and tail risk assessment
|
|
135
|
+
- **Stress Testing**: Scenario analysis, backtesting, and regulatory compliance metrics
|
|
136
|
+
|
|
137
|
+
### **Market Intelligence**
|
|
138
|
+
- **Regime Detection**: Hidden Markov Models for market state identification
|
|
139
|
+
- **Correlation Analysis**: Dynamic correlation matrices and contagion modeling
|
|
140
|
+
- **Macro Analytics**: Real-time Federal Reserve economic data integration (FRED API)
|
|
141
|
+
|
|
142
|
+
### **Real-Time Data Integration**
|
|
143
|
+
- **Federal Reserve Economic Data (FRED)**: Live GDP, unemployment, inflation, Treasury rates
|
|
144
|
+
- **Yahoo Finance**: Real-time stock prices and market data (unlimited access)
|
|
145
|
+
- **Alpha Vantage**: Professional-grade financial data with 500+ daily calls
|
|
146
|
+
- **Multi-Provider Resilience**: 6-level failover chain with circuit breakers
|
|
147
|
+
- **Enterprise Caching**: 3-tier architecture (Memory → Redis → Persistent storage)
|
|
148
|
+
- **Data Quality Assurance**: Automated validation and anomaly detection
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## **Authentication & Security**
|
|
153
|
+
|
|
154
|
+
### **API Key Authentication**
|
|
155
|
+
```http
|
|
156
|
+
X-API-Key: your_api_key_here
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### **JWT Bearer Token**
|
|
160
|
+
```http
|
|
161
|
+
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
*Enterprise customers receive dedicated API keys with enhanced rate limits and priority support.*
|
|
165
|
+
|
|
166
|
+
### **Service Tiers & Rate Limits**
|
|
167
|
+
|
|
168
|
+
| Tier | Requests/Hour | Features | Support |
|
|
169
|
+
|------|---------------|----------|---------|
|
|
170
|
+
| **Developer** | 100 | Core endpoints, basic analytics | Community |
|
|
171
|
+
| **Professional** | 2,500 | Advanced analytics, real-time data | Email |
|
|
172
|
+
| **Enterprise** | Unlimited | Full platform, custom endpoints | Dedicated |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## **Enterprise Deployment**
|
|
177
|
+
|
|
178
|
+
### **Prerequisites**
|
|
179
|
+
- Python 3.10+ (production tested on 3.10, 3.11, 3.12)
|
|
180
|
+
- 16GB+ RAM (recommended for institutional workloads)
|
|
181
|
+
- Redis 6.0+ for high-performance caching
|
|
182
|
+
- PostgreSQL 13+ for enterprise data persistence
|
|
183
|
+
|
|
184
|
+
### **Quick Start - Development**
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Clone the enterprise repository
|
|
188
|
+
git clone https://github.com/quantlibpro/enterprise-platform.git
|
|
189
|
+
cd enterprise-platform
|
|
190
|
+
|
|
191
|
+
# Create isolated environment
|
|
192
|
+
python -m venv quantlib_env
|
|
193
|
+
# Windows
|
|
194
|
+
quantlib_env\Scripts\activate
|
|
195
|
+
# macOS/Linux
|
|
196
|
+
# source quantlib_env/bin/activate
|
|
197
|
+
|
|
198
|
+
# Install enterprise dependencies
|
|
199
|
+
pip install -r requirements-enterprise.txt
|
|
200
|
+
|
|
201
|
+
# Initialize with real market data
|
|
202
|
+
streamlit run streamlit_app.py --server.port 8503
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Platform Access**: `http://localhost:8501`
|
|
206
|
+
**API Documentation**: `http://localhost:8002/docs`
|
|
207
|
+
**Health Monitoring**: `http://localhost:8002/health`
|
|
208
|
+
|
|
209
|
+
### Docker Deployment
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Build and run with Docker
|
|
213
|
+
docker build -t quantlib-pro:latest .
|
|
214
|
+
docker run -p 8501:8501 quantlib-pro:latest
|
|
215
|
+
|
|
216
|
+
# Or use Docker Compose
|
|
217
|
+
docker-compose up -d
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Production Deployment
|
|
221
|
+
|
|
222
|
+
**Full production infrastructure with monitoring, alerting, and resilience:**
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Deploy to production with all services
|
|
226
|
+
docker-compose -f docker-compose.prod.yml up -d
|
|
227
|
+
|
|
228
|
+
# Services included:
|
|
229
|
+
# - QuantLib Pro application (Streamlit)
|
|
230
|
+
# - PostgreSQL database with persistent storage
|
|
231
|
+
# - Redis cache with persistence
|
|
232
|
+
# - Nginx reverse proxy with SSL/TLS
|
|
233
|
+
# - Prometheus metrics collection
|
|
234
|
+
# - Grafana dashboards
|
|
235
|
+
# - AlertManager for notifications
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Cloud Deployment Scripts:**
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# AWS deployment
|
|
242
|
+
./deploy/aws-deploy.sh
|
|
243
|
+
|
|
244
|
+
# GCP deployment
|
|
245
|
+
./deploy/gcp-deploy.sh
|
|
246
|
+
|
|
247
|
+
# Azure deployment
|
|
248
|
+
./deploy/azure-deploy.sh
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**See [Deployment Guide](docs/deployment-guide.md) for detailed production setup instructions.**
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 🎯 Use Cases
|
|
256
|
+
|
|
257
|
+
### Quantitative Analysts
|
|
258
|
+
```python
|
|
259
|
+
# Portfolio optimization with constraints
|
|
260
|
+
from quantlib_pro.portfolio import PortfolioOptimizer
|
|
261
|
+
|
|
262
|
+
optimizer = PortfolioOptimizer(expected_returns, cov_matrix)
|
|
263
|
+
weights = optimizer.max_sharpe_ratio()
|
|
264
|
+
performance = optimizer.portfolio_performance(weights)
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Risk Managers
|
|
268
|
+
```python
|
|
269
|
+
# Calculate VaR and stress test portfolio
|
|
270
|
+
from quantlib_pro.risk import RiskCalculator, StressTester
|
|
271
|
+
|
|
272
|
+
calculator = RiskCalculator()
|
|
273
|
+
var_95 = calculator.historical_var(returns, 0.95, portfolio_value)
|
|
274
|
+
|
|
275
|
+
tester = StressTester(returns)
|
|
276
|
+
covid_impact = tester.historical_stress_test('2020-02-20', '2020-03-23')
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Options Traders
|
|
280
|
+
```python
|
|
281
|
+
# Price options and calculate Greeks
|
|
282
|
+
from quantlib_pro.derivatives import BlackScholesPricer
|
|
283
|
+
|
|
284
|
+
pricer = BlackScholesPricer(S=100, K=105, T=0.25, r=0.05, sigma=0.25)
|
|
285
|
+
call_price = pricer.call_price()
|
|
286
|
+
delta = pricer.delta('call')
|
|
287
|
+
gamma = pricer.gamma()
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Algorithmic Traders
|
|
291
|
+
```python
|
|
292
|
+
# Backtest trading strategy
|
|
293
|
+
from quantlib_pro.backtesting import Backtester, Strategy
|
|
294
|
+
|
|
295
|
+
class MyStrategy(Strategy):
|
|
296
|
+
def generate_signals(self, data):
|
|
297
|
+
# Your strategy logic
|
|
298
|
+
return signals
|
|
299
|
+
|
|
300
|
+
backtester = Backtester(strategy, data, initial_capital=100_000)
|
|
301
|
+
results = backtester.run()
|
|
302
|
+
print(f"Sharpe Ratio: {results.sharpe_ratio:.2f}")
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## 🏗️ Architecture
|
|
308
|
+
|
|
309
|
+
QuantLib Pro uses **hexagonal (ports and adapters) architecture** with 5 layers:
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
┌─────────────────────────────────────────┐
|
|
313
|
+
│ Presentation (Streamlit UI) │
|
|
314
|
+
├─────────────────────────────────────────┤
|
|
315
|
+
│ Application Services (Orchestration) │
|
|
316
|
+
├─────────────────────────────────────────┤
|
|
317
|
+
│ Domain Logic (Business Rules) │
|
|
318
|
+
├─────────────────────────────────────────┤
|
|
319
|
+
│ Infrastructure (Data, Persistence) │
|
|
320
|
+
└─────────────────────────────────────────┘
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
**Core Modules:**
|
|
324
|
+
- `portfolio/` - Portfolio optimization and rebalancing
|
|
325
|
+
- `risk/` - VaR, CVaR, stress testing, tail risk
|
|
326
|
+
- `derivatives/` - Options pricing, Greeks, Monte Carlo
|
|
327
|
+
- `data/` - Market data providers, caching, validation
|
|
328
|
+
- `backtesting/` - Strategy testing and performance analysis
|
|
329
|
+
- `analytics/` - Regime detection, correlation analysis
|
|
330
|
+
- `governance/` - Audit trail, compliance, policies
|
|
331
|
+
- `observability/` - Profiling, monitoring, alerts
|
|
332
|
+
- `testing/` - Load testing, chaos engineering, model validation
|
|
333
|
+
|
|
334
|
+
See [Architecture Documentation](docs/architecture.md) for details.
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 📊 UI Dashboard
|
|
339
|
+
|
|
340
|
+
### 9 Specialized Pages
|
|
341
|
+
|
|
342
|
+
1. **📊 Portfolio Optimizer** - MPT optimization with constraints
|
|
343
|
+
2. **⚠️ Risk Analytics** - VaR, CVaR, stress testing
|
|
344
|
+
3. **📈 Options Pricing** - Black-Scholes, Monte Carlo, Greeks
|
|
345
|
+
4. **🔄 Backtesting** - Strategy testing and performance metrics
|
|
346
|
+
5. **🎯 Regime Detection** - HMM regime classification
|
|
347
|
+
6. **📉 Monte Carlo** - Wealth simulations and scenario analysis
|
|
348
|
+
7. **🔍 Data Explorer** - Market data visualization
|
|
349
|
+
8. **📊 Advanced Analytics** - Performance profiling, correlation, tail risk
|
|
350
|
+
9. **🧪 Testing** - Load testing, model validation, chaos engineering
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Development Workflow
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
# Install development dependencies
|
|
358
|
+
pip install -r requirements-dev.txt
|
|
359
|
+
|
|
360
|
+
# Install pre-commit hooks
|
|
361
|
+
pre-commit install
|
|
362
|
+
|
|
363
|
+
# Run linting
|
|
364
|
+
black quantlib_pro/ tests/
|
|
365
|
+
flake8 quantlib_pro/ tests/
|
|
366
|
+
isort quantlib_pro/ tests/
|
|
367
|
+
|
|
368
|
+
# Type checking
|
|
369
|
+
mypy quantlib_pro/
|
|
370
|
+
|
|
371
|
+
# Run tests
|
|
372
|
+
pytest tests/ -v
|
|
373
|
+
|
|
374
|
+
# Run with coverage
|
|
375
|
+
pytest tests/ --cov=quantlib_pro --cov-report=html
|
|
376
|
+
|
|
377
|
+
# Run specific test categories
|
|
378
|
+
pytest -m unit # Fast unit tests
|
|
379
|
+
pytest -m integration # Integration tests
|
|
380
|
+
pytest -m load # Performance tests
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## Project Structure
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
quantlib_pro/ # Main package (15,000+ lines)
|
|
389
|
+
├── portfolio/ # Portfolio management
|
|
390
|
+
│ ├── optimizer.py # MPT optimization algorithms
|
|
391
|
+
│ ├── rebalancer.py # Rebalancing logic
|
|
392
|
+
│ └── performance.py # Performance attribution
|
|
393
|
+
│
|
|
394
|
+
├── risk/ # Risk analytics
|
|
395
|
+
│ ├── calculator.py # VaR, CVaR calculations
|
|
396
|
+
│ ├── advanced_analytics.py # Stress testing, tail risk
|
|
397
|
+
│ └── metrics.py # Risk metrics
|
|
398
|
+
│
|
|
399
|
+
├── derivatives/ # Options & derivatives
|
|
400
|
+
│ ├── black_scholes.py # Analytical pricing
|
|
401
|
+
│ ├── monte_carlo.py # MC pricing engine
|
|
402
|
+
│ └── greeks.py # Greeks calculation
|
|
403
|
+
│
|
|
404
|
+
├── data/ # Data management
|
|
405
|
+
│ ├── providers.py # Market data providers
|
|
406
|
+
│ ├── validator.py # Data quality checks
|
|
407
|
+
│ └── cache.py # Caching layer
|
|
408
|
+
│
|
|
409
|
+
├── backtesting/ # Strategy backtesting
|
|
410
|
+
│ ├── engine.py # Backtesting engine
|
|
411
|
+
│ ├── strategy.py # Strategy base class
|
|
412
|
+
│ └── metrics.py # Performance metrics
|
|
413
|
+
│
|
|
414
|
+
├── analytics/ # Advanced analytics
|
|
415
|
+
│ ├── regime_detection.py # HMM regime detection
|
|
416
|
+
│ ├── correlation_analysis.py # Correlation regimes
|
|
417
|
+
│ └── factor_models.py # Factor analysis
|
|
418
|
+
│
|
|
419
|
+
├── governance/ # Compliance & audit
|
|
420
|
+
│ ├── compliance.py # Policy enforcement
|
|
421
|
+
│ ├── audit.py # Audit trail
|
|
422
|
+
│ └── policies.py # Risk policies
|
|
423
|
+
│
|
|
424
|
+
├── observability/ # Performance monitoring
|
|
425
|
+
│ ├── profiler.py # Function profiling
|
|
426
|
+
│ ├── monitoring.py # Real-time monitoring
|
|
427
|
+
│ └── alerts.py # Alert system
|
|
428
|
+
│
|
|
429
|
+
└── testing/ # Testing infrastructure
|
|
430
|
+
├── load_testing.py # Load testing framework
|
|
431
|
+
├── chaos.py # Chaos engineering
|
|
432
|
+
├── model_validation.py # Model validation
|
|
433
|
+
└── reporting.py # Test reporting
|
|
434
|
+
|
|
435
|
+
pages/ # Streamlit UI pages
|
|
436
|
+
├── Home.py # Landing page
|
|
437
|
+
├── 1_📊_Portfolio_Optimizer.py
|
|
438
|
+
├── 2_⚠️_Risk_Analytics.py
|
|
439
|
+
├── 3_📈_Options_Pricing.py
|
|
440
|
+
├── 4_🔄_Backtesting.py
|
|
441
|
+
├── 5_🎯_Regime_Detection.py
|
|
442
|
+
├── 6_📉_Monte_Carlo.py
|
|
443
|
+
├── 7_🔍_Data_Explorer.py
|
|
444
|
+
├── 8_📊_Advanced_Analytics.py
|
|
445
|
+
└── 9_🧪_Testing.py
|
|
446
|
+
|
|
447
|
+
tests/ # Test suite (3,500+ lines)
|
|
448
|
+
├── unit/ # Unit tests
|
|
449
|
+
├── integration/ # Integration tests
|
|
450
|
+
│ └── test_week16_comprehensive.py # 500+ line test suite
|
|
451
|
+
├── fixtures/ # Test fixtures
|
|
452
|
+
└── conftest.py # Pytest configuration
|
|
453
|
+
|
|
454
|
+
docs/ # Documentation
|
|
455
|
+
├── api/ # API reference
|
|
456
|
+
│ └── README.md # Complete API docs
|
|
457
|
+
├── guides/ # User guides
|
|
458
|
+
│ └── user_guide.md # Comprehensive user guide
|
|
459
|
+
├── tutorials/ # Tutorials
|
|
460
|
+
│ └── portfolio_optimization.md # Step-by-step tutorial
|
|
461
|
+
├── architecture.md # Architecture documentation
|
|
462
|
+
└── deployment.md # Deployment guide
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
## 📚 Documentation
|
|
468
|
+
|
|
469
|
+
### Getting Started
|
|
470
|
+
- **[User Guide](docs/guides/user_guide.md)** - Comprehensive guide with examples
|
|
471
|
+
- **[Portfolio Optimization Tutorial](docs/tutorials/portfolio_optimization.md)** - Step-by-step tutorial
|
|
472
|
+
- **[Quick Start](#-quick-start)** - Installation and first steps
|
|
473
|
+
|
|
474
|
+
### Reference
|
|
475
|
+
- **[API Reference](docs/api/README.md)** - Complete API documentation
|
|
476
|
+
- **[Architecture](docs/architecture.md)** - System design and patterns
|
|
477
|
+
- **[Deployment Guide](docs/deployment.md)** - Production deployment
|
|
478
|
+
|
|
479
|
+
### Development
|
|
480
|
+
- **[SDLC Plan](QUANTITATIVE_FINANCE_MEGA_PROJECT_SDLC.md)** - 22-week project plan
|
|
481
|
+
- **[Contributing Guidelines](CONTRIBUTING.md)** - How to contribute
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
## 🧪 Testing
|
|
486
|
+
|
|
487
|
+
QuantLib Pro includes comprehensive testing infrastructure:
|
|
488
|
+
|
|
489
|
+
### Test Coverage
|
|
490
|
+
- **Unit tests** - 100+ tests for core modules
|
|
491
|
+
- **Integration tests** - 15+ end-to-end workflow tests
|
|
492
|
+
- **Load tests** - Performance benchmarking (50-200 concurrent users)
|
|
493
|
+
- **Chaos tests** - Resilience validation (10 fault types)
|
|
494
|
+
- **Model validation** - 21 tests against analytical benchmarks
|
|
495
|
+
|
|
496
|
+
### Running Tests
|
|
497
|
+
|
|
498
|
+
```bash
|
|
499
|
+
# All tests
|
|
500
|
+
pytest tests/ -v
|
|
501
|
+
|
|
502
|
+
# Specific test suites
|
|
503
|
+
pytest tests/unit/ # Unit tests
|
|
504
|
+
pytest tests/integration/ # Integration tests
|
|
505
|
+
|
|
506
|
+
# Load testing
|
|
507
|
+
python -m quantlib_pro.testing.load_testing
|
|
508
|
+
|
|
509
|
+
# Model validation
|
|
510
|
+
python -m quantlib_pro.testing.model_validation
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
### Performance Benchmarks
|
|
514
|
+
|
|
515
|
+
| Operation | P95 Latency | Target |
|
|
516
|
+
|-----------|-------------|--------|
|
|
517
|
+
| Portfolio Optimization | ~300ms | <500ms |
|
|
518
|
+
| VaR Calculation | ~80ms | <100ms |
|
|
519
|
+
| Options Pricing | ~40ms | <50ms |
|
|
520
|
+
| Regime Detection | ~150ms | <200ms |
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
## 🚧 Project Status
|
|
525
|
+
|
|
526
|
+
**Current Phase:** Week 17 of 22 (77% complete)
|
|
527
|
+
|
|
528
|
+
### ✅ Completed (Weeks 1-16)
|
|
529
|
+
|
|
530
|
+
- ✅ Core infrastructure & architecture
|
|
531
|
+
- ✅ Portfolio optimization (MPT, efficient frontier)
|
|
532
|
+
- ✅ Risk analytics (VaR, CVaR, stress testing)
|
|
533
|
+
- ✅ Options pricing (Black-Scholes, Monte Carlo)
|
|
534
|
+
- ✅ Data management & validation
|
|
535
|
+
- ✅ Backtesting engine
|
|
536
|
+
- ✅ Regime detection (HMM)
|
|
537
|
+
- ✅ Monte Carlo simulations
|
|
538
|
+
- ✅ Governance & compliance (audit trail, policies)
|
|
539
|
+
- ✅ Observability (profiling, monitoring, alerts)
|
|
540
|
+
- ✅ Advanced analytics (stress testing, tail risk, correlation)
|
|
541
|
+
- ✅ Testing infrastructure (load, chaos, validation)
|
|
542
|
+
- ✅ Documentation (API, guides, tutorials)
|
|
543
|
+
|
|
544
|
+
### 🔄 In Progress (Week 17)
|
|
545
|
+
- 🔄 Documentation finalization
|
|
546
|
+
- ⏳ API reference completion
|
|
547
|
+
|
|
548
|
+
### 📅 Upcoming (Weeks 18-22)
|
|
549
|
+
- Week 18: User acceptance testing (UAT)
|
|
550
|
+
- Weeks 19-20: Production deployment
|
|
551
|
+
- Weeks 21-22: Hardening & stabilization
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
555
|
+
## 🎓 Key Concepts
|
|
556
|
+
|
|
557
|
+
### Modern Portfolio Theory (MPT)
|
|
558
|
+
```python
|
|
559
|
+
# Maximize Sharpe ratio
|
|
560
|
+
optimizer = PortfolioOptimizer(returns, cov_matrix, risk_free_rate=0.03)
|
|
561
|
+
weights = optimizer.max_sharpe_ratio()
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
### Value at Risk (VaR)
|
|
565
|
+
```python
|
|
566
|
+
# 95% confidence: maximum expected loss
|
|
567
|
+
calculator = RiskCalculator()
|
|
568
|
+
var_95 = calculator.historical_var(returns, 0.95, portfolio_value)
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
### Black-Scholes Options Pricing
|
|
572
|
+
```python
|
|
573
|
+
# European call option price
|
|
574
|
+
pricer = BlackScholesPricer(S=100, K=105, T=0.25, r=0.05, sigma=0.25)
|
|
575
|
+
call_price = pricer.call_price()
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
### Hidden Markov Models (HMM)
|
|
579
|
+
```python
|
|
580
|
+
# Detect market regimes
|
|
581
|
+
detector = RegimeDetector(n_regimes=3)
|
|
582
|
+
regimes = detector.fit_predict(returns)
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
---
|
|
586
|
+
|
|
587
|
+
## 🤝 Contributing
|
|
588
|
+
|
|
589
|
+
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for:
|
|
590
|
+
- Code style guidelines
|
|
591
|
+
- Development workflow
|
|
592
|
+
- Pull request process
|
|
593
|
+
- Issue reporting
|
|
594
|
+
|
|
595
|
+
---
|
|
596
|
+
|
|
597
|
+
## 📄 License
|
|
598
|
+
|
|
599
|
+
MIT License - see [LICENSE](LICENSE) file for details.
|
|
600
|
+
|
|
601
|
+
---
|
|
602
|
+
|
|
603
|
+
## 🙏 Acknowledgments
|
|
604
|
+
|
|
605
|
+
- **Hull, J. C.** - Options, Futures, and Other Derivatives (benchmarks)
|
|
606
|
+
- **Markowitz, H.** - Modern Portfolio Theory
|
|
607
|
+
- **Black, F. & Scholes, M.** - Options pricing model
|
|
608
|
+
- **yfinance** - Primary market data provider (Yahoo Finance)
|
|
609
|
+
- **Alpha Vantage** - Alternative market data API
|
|
610
|
+
- **FactSet** - Enterprise financial data platform
|
|
611
|
+
- **Streamlit** - Web UI framework
|
|
612
|
+
- **NumPy/SciPy** - Scientific computing
|
|
613
|
+
- **Plotly** - Interactive visualizations
|
|
614
|
+
|
|
615
|
+
---
|
|
616
|
+
|
|
617
|
+
## **Resources & Enterprise Support**
|
|
618
|
+
|
|
619
|
+
### **Documentation & Monitoring**
|
|
620
|
+
- **Interactive API Documentation**: [`/docs`](http://localhost:8002/docs) - Swagger UI with live endpoint testing
|
|
621
|
+
- **API Reference Guide**: [`/redoc`](http://localhost:8002/redoc) - Comprehensive endpoint documentation
|
|
622
|
+
- **System Health Dashboard**: [`/health/detailed`](http://localhost:8002/health/detailed) - Real-time performance metrics
|
|
623
|
+
- **Code Examples**: [`/examples`](./examples) - Python, R, and JavaScript integration samples
|
|
624
|
+
|
|
625
|
+
### **Enterprise Support Tiers**
|
|
626
|
+
|
|
627
|
+
| Support Level | Contact Method | Response Time | SLA |
|
|
628
|
+
|---------------|----------------|---------------|-----|
|
|
629
|
+
| **Community** | GitHub Issues | 48-72 hours | Best effort |
|
|
630
|
+
| **Professional** | Email support | 4-8 hours | Business hours |
|
|
631
|
+
| **Enterprise** | Dedicated CSM | 1-2 hours | 24/7 availability |
|
|
632
|
+
|
|
633
|
+
### **Production Services**
|
|
634
|
+
- **Custom Integration**: architecture@quantlibpro.com
|
|
635
|
+
- **Enterprise Licensing**: enterprise@quantlibpro.com
|
|
636
|
+
- **Partnership Opportunities**: partnerships@quantlibpro.com
|
|
637
|
+
- **Technical Support**: support@quantlibpro.com
|
|
638
|
+
|
|
639
|
+
**99.9% Uptime Guarantee** for Enterprise tier customers with dedicated infrastructure and priority support.
|
|
640
|
+
|
|
641
|
+
---
|
|
642
|
+
|
|
643
|
+
## **Technical References**
|
|
644
|
+
|
|
645
|
+
- **Hull, J. C.** - Options, Futures, and Other Derivatives (benchmarks)
|
|
646
|
+
- **Markowitz, H.** - Modern Portfolio Theory
|
|
647
|
+
- **Black, F. & Scholes, M.** - Options pricing model
|
|
648
|
+
- **Federal Reserve Economic Data (FRED)** - Real economic indicators
|
|
649
|
+
- **Yahoo Finance API** - Primary market data provider
|
|
650
|
+
- **Alpha Vantage API** - Professional financial data
|
|
651
|
+
- **Streamlit** - Enterprise web framework
|
|
652
|
+
- **FastAPI** - Production-grade REST API framework
|
|
653
|
+
- **Redis** - High-performance caching layer
|
|
654
|
+
|
|
655
|
+
---
|
|
656
|
+
|
|
657
|
+
**Transform your applications with institutional-grade quantitative finance capabilities.**
|
|
658
|
+
|
|
659
|
+
*Built for enterprise quantitative finance professionals*
|