# Core MetaTrader5 and MCP dependencies
# Requires Python >=3.10
MetaTrader5>=5.0.5430
mcp>=1.24.0
fastmcp>=2.14.0
# Python standard library backports
typing-extensions>=4.15.0
# Additional useful packages for development
python-dotenv>=1.2.1
dateparser>=1.2.2
# NumPy 2.x required by pandas-ta-classic (latest)
# Keep <2.2 to satisfy GluonTS (numpy<2.2) if installed.
numpy>=2.0.0,<2.2.0
# pandas (must support NumPy 2.x; pandas>=2.3 supports numpy>=2 on py>=3.12)
pandas>=2.3.3
# pandas-ta classic fork (PyPI) - pin to current latest
pandas-ta-classic==0.3.59
# GluonTS (gt_* methods)
gluonts[torch]>=0.16.2
# Lag-Llama currently pins `gluonts<=0.14.4`, which has no wheels for Python 3.13.
# Keep it optional for now.
# lag-llama @ git+https://github.com/time-series-foundation-models/lag-llama.git
# ARCH (heteroskedasticity models)
arch>=7.2.0; python_version >= "3.9"
arch>=6.3.0; python_version < "3.9"
python-dateutil>=2.9.0.post0
pytz>=2025.2
holidays>=0.40
# SciPy (bounded to <1.16.0 to satisfy statsforecast<->scipy compatibility)
scipy>=1.15.3,<1.16.0; python_version >= "3.10"
scipy>=1.10.1,<1.16.0; python_version < "3.10"
# Optional: denoising backends
PyWavelets>=1.6.0
EMD-signal>=1.6.4
vmdpy>=0.2
# statsmodels
statsmodels>=0.14.5; python_version >= "3.9"
statsmodels>=0.14.0; python_version < "3.9"
# API server
fastapi>=0.124.4
uvicorn[standard]>=0.38.0
# Optional: classical/ML/DL forecasting frameworks (enabled to support all methods)
# statsforecast (classical, numba-accelerated)
statsforecast>=2.0.2
# sktime unified forecasting API
sktime>=0.40.1
# mlforecast (tree/GBM over lags); LightGBM optional
mlforecast>=1.0.2
lightgbm>=4.6.0
# neuralforecast (deep learning; include torch extras). Not available on Python 3.12 due to ray wheels.
neuralforecast[torch]>=3.0.2; python_version < "3.12"
# Ensure torch/torchvision available (CPU wheels by default)
# For Python <3.12: constrained to satisfy neuralforecast (<=2.6.0)
torch>=2.0,<2.7; python_version < "3.12"
torchvision>=0.21.0,<0.22; python_version < "3.12"
# For Python >=3.12: neuralforecast is skipped; keep torch for Chronos/Accelerate
torch>=2.3.0; python_version >= "3.12"
torchvision>=0.17.0; python_version >= "3.12"
# Pillow (torchvision dependency; 10.3.0 avoids DLL issues on Win)
pillow>=10.3.0,<11.1
# Optional: GluonTS + Prophet (gt_* methods)
# NOTE: Current GluonTS releases pin NumPy~=1.16 and conflict with NumPy 2.x.
# gluonts[torch]>=0.14.3 # required for gluonts.torch.* estimators
# cpflows>=0.1.2 # required by MQF2
# prophet>=1.1 # required by gt_prophet
# Optional: foundation models (native packages)
chronos-forecasting>=2.0.0 # Chronos-2 foundation model
timesfm @ git+https://github.com/google-research/timesfm.git@6bd8044275f8b76cdc9554f2fecccac5f31a156c
# uni2ts (Moirai) is currently incompatible with Python 3.13 due to upstream pins.
# Use a separate Python 3.11/3.12 env if you need `--method moirai`.
# uni2ts==2.0.0
# Optional: pattern search ANN and DTW backends
hnswlib>=0.8.0
tslearn>=0.7.0
h5py>=3.15.1
dtaidistance>=2.3.13
stumpy>=1.13.0 # matrix_profile search engine for analog
# Optional: dimensionality reduction methods / ML utilities
scikit-learn>=1.7.2; python_version >= "3.10"
scikit-learn>=1.4.2; python_version >= "3.9" and python_version < "3.10"
scikit-learn>=1.3.2; python_version < "3.9"
# umap-learn>=0.5.5
# pydiffmap>=0.2.0
# pykeops>=2.2.3 # optional acceleration for CNE graph (GPU)
# Plotting for helper scripts
matplotlib>=3.10.8
# Optional: DREAMS-CNE (install from source)
# git+https://github.com/berenslab/DREAMS-CNE@tp
# Feature extraction
tsfresh>=0.20.3
# Finviz stock screener and fundamentals
finvizfinance>=0.15.0