numpy>=2.0.0
pandas>=2.2.0
scipy>=1.12.0
yfinance>=0.2.40
requests>=2.32.0
matplotlib>=3.8.0
seaborn>=0.13.0
ta>=0.11.0
tqdm>=4.66.0
joblib>=1.4.0
python-dateutil>=2.9.0
pytz>=2024.1

[all]
scikit-learn>=1.4.0
torch>=2.2.0
statsmodels>=0.14.1
hmmlearn>=0.3.2
cvxpy>=1.5.0
cvxopt>=1.3.2
arch>=7.0.0
lxml>=5.0.0
beautifulsoup4>=4.12.0
polygon-api-client>=1.14.0
ray>=2.9.0

[data]
lxml>=5.0.0
beautifulsoup4>=4.12.0
polygon-api-client>=1.14.0

[dev]
pytest>=8.0.0
pytest-cov>=5.0.0
pytest-xdist>=3.5.0
ruff>=0.6.0
black>=24.0.0
isort>=5.13.0
mypy>=1.10.0
sphinx>=7.3.0
sphinx-rtd-theme>=2.0.0

[distributed]
ray>=2.9.0
dask>=2024.1.0

[full]
scikit-learn>=1.4.0
torch>=2.2.0
statsmodels>=0.14.1
hmmlearn>=0.3.2
cvxpy>=1.5.0
arch>=7.0.0
lxml>=5.0.0
beautifulsoup4>=4.12.0

[ml]
scikit-learn>=1.4.0
torch>=2.2.0
statsmodels>=0.14.1
hmmlearn>=0.3.2

[optimization]
cvxpy>=1.5.0
cvxopt>=1.3.2

[volatility]
arch>=7.0.0
