Architecture Docker (8 services), FastAPI, TimescaleDB, Redis, Streamlit. Stratégies : scalping, intraday, swing. MLEngine + RegimeDetector (HMM). BacktestEngine + WalkForwardAnalyzer + Optuna optimizer. Routes API complètes dont /optimize async. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
FROM python:3.11-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Dépendances système + TA-Lib C (nécessaire pour feature engineering ML)
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
wget \
|
|
libpq-dev \
|
|
libgomp1 \
|
|
git \
|
|
&& wget https://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz \
|
|
&& tar -xzf ta-lib-0.4.0-src.tar.gz \
|
|
&& cd ta-lib && ./configure --prefix=/usr && make && make install \
|
|
&& cd .. && rm -rf ta-lib ta-lib-0.4.0-src.tar.gz \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Toutes les dépendances (base + ml + dev)
|
|
COPY docker/requirements/base.txt docker/requirements/ml.txt ./requirements/
|
|
RUN pip install --no-cache-dir \
|
|
-r requirements/base.txt \
|
|
-r requirements/ml.txt \
|
|
&& pip install --no-cache-dir \
|
|
jupyterlab==4.0.9 \
|
|
ipywidgets==8.1.1 \
|
|
ipdb==0.13.13 \
|
|
memory-profiler==0.61.0
|
|
|
|
EXPOSE 8888
|
|
|
|
CMD ["jupyter", "lab", \
|
|
"--ip=0.0.0.0", \
|
|
"--port=8888", \
|
|
"--no-browser", \
|
|
"--allow-root", \
|
|
"--notebook-dir=/app/notebooks"]
|