Commit Graph

27 Commits

Author SHA1 Message Date
dam
4c54391574 Continue with Step 4 2026-04-05 21:42:12 +02:00
dam
81416630a7 feat(calibration-step3): complete Strategy Promotion workflow and prepare Step 4 entry
Step 3 is now functionally complete and ready to hand off selected strategies
to the optimization stage (Step 4).

Main additions and improvements:

Strategy Promotion
- Added promotion engine results visualization.
- Promotion statuses supported: promote, review, review_diversity, reject.
- Diversity filter included in promotion results.

Manual Step 4 selection
- Added "Step 4" checkbox column in Promotion table.
- Default selection rules:
  - promote → selected automatically
  - review / review_diversity / reject → unselected by default
- User can manually override any selection.
- Selection source tracked (auto, manual_on, manual_off).

Step 4 selection artifact
- Implemented Step 4 selection builder.
- Generates JSON artifact with selected strategies and parameters.
- Includes promotion metadata (status, score, diversity info).
- Preview shown directly in UI.

Dataset metadata integration
- Added backend endpoint:
  GET /api/v2/calibration/strategies/data-info
- Returns dataset metadata:
  start_date, end_date, n_rows, n_days.
- UI now displays dataset information:
  Dataset: start → end | rows | days | WF windows.

Walk-forward estimation improvements
- WF windows calculated using real dataset size.
- Time estimation updated with calibrated formula:
  ~1.5 seconds per window per strategy.
- Time estimate now robust even without date inputs.

UI improvements
- Dataset info line added to calibration page.
- Promotion table extended with Step 4 controls.
- Step 4 selection summary and JSON preview added.

Architecture
- Step 3 now outputs a clean Step 4 selection artifact.
- Promotion acts as recommendation, not final decision.
- Human override supported.

This commit closes the functional implementation of Step 3
and prepares the pipeline for Step 4 (strategy parameter optimization).
2026-03-09 10:54:07 +01:00
DaM
f3de09067e need commit to update repository 2026-03-09 07:59:49 +01:00
dam
ca36383bb3 Strategy promotion added 2026-03-08 12:40:35 +01:00
dam
a42255d58c Step 3 – Strategy validation, regime detection and UI improvements
Main changes:
- Implemented multi-horizon trend regime detection in src/core/market_regime.py
  - EMA(20, 50, 100, 200) trend score model
  - 5 regime states: bull_strong, bull_moderate, sideways, bear_moderate, bear_strong
  - asymmetric persistence filter (bull 5 bars, sideways 3 bars, bear 2 bars)
  - window regime classification using average trend score

- Extended walk-forward outputs
  - window_regimes now include:
    - regime_detail
    - bull_strong_pct
    - bull_moderate_pct
    - sideways_detail_pct
    - bear_moderate_pct
    - bear_strong_pct
    - avg_score

- UI improvements in Step 3
  - regime analysis cards redesigned to show 5 regimes
  - visual "M layout": bull regimes on top, sideways + bear regimes below
  - table updated to display detailed regime percentages
  - equity chart background colored by regime (colorblind-friendly palette)
  - trade density chart improved with aligned Y-axis zero levels

- UX improvements
  - automatic scroll to charts when selecting a strategy
  - better regime badges and labeling
  - colorblind-friendly visualization

Result:
Step 3 now provides full strategy inspection including:
- OOS performance
- regime behaviour
- regime distribution per WF window
- visual regime overlays

Next step:
Implement strategy promotion / selection layer before Step 4 (parameter refinement).
2026-03-06 20:39:37 +01:00
dam
365304f396 Ahora el Step 3 esta parcialmente acabado, y vamos a pasar a realizar el Step 3.5 donde añadimos el regimen de mercado 2026-03-06 11:19:38 +01:00
dam
35efec8dd6 preparando step 3 para dejarlo fino 2026-03-03 11:49:08 +01:00
dam
9a59879988 pequeños cambios para que el step 1 sea mas robusto 2026-03-03 08:55:43 +01:00
DaM
8259e85b68 Update status for using KubuntuPC 2026-03-02 20:04:42 +01:00
DaM
2ec51d0daa Status when starting a new project on Chat GPT 2026-03-01 16:50:15 +01:00
DaM
547a909965 Step 3 y 4 medio preparados. Ha habido una decision es separar en dos step distintos la eleccion de estrategias y luego su optimizacion. A partir de aqui vamos a hacer una refactorizacion quirurgica de los Steps 3 y 4.
Prompt para Char GPT:
Estamos trabajando en un Trading Bot con arquitectura backend/frontend separada.

Stack:
- Backend: FastAPI (Python 3.12)
- Frontend: HTML + Vanilla JS + Tabler UI
- DB: PostgreSQL
- Cache opcional: Redis
- Proyecto estructurado bajo /src
- Carpeta /reports fuera de src

Wizard actual:

Step 1 · Data
Step 2 · Risk & Stops
Step 3 · Strategies (actualmente mezcla validación y optimización)
Step 4 · Optimization (renombrado pero no 100% ajustado aún)

Decisión arquitectónica ya tomada:
- Step 3 será Strategy Validation (parámetros fijos, sin grid)
- Step 4 será Parameter Optimization (grid min/max/step)

Importante:
- Ya he duplicado los archivos para separar Step 3 y Step 4.
- No queremos rehacer desde cero.
- Queremos hacer una refactorización quirúrgica.
- Queremos eliminar lógica de grid del Step 3.
- Queremos mantener infraestructura WF, async jobs, ranking y reporting.

Objetivo de esta sesión:
Refactorizar Step 3 (Validation) de forma limpia y profesional partiendo del código actual.

Reglas:
- No romper Step 4.
- No reescribir todo desde cero.
- Simplificar quirúrgicamente.
- Mantener coherencia de arquitectura.
- Mantener compatibilidad con Step 2 (risk snapshot heredado).
- Mantener generación de PDF.
- Mantener botón Promote to Optimization.

Te adjunto el zip completo de la carpeta src.

Analiza la estructura primero.
No escribas código todavía.
Primero dame:
1. Un diagnóstico estructural.
2. Qué archivos tocar.
3. Qué eliminar.
4. Qué simplificar.
5. Qué mantener.
6. Orden de refactorización seguro.

Después empezaremos la refactorización paso a paso.
Despues empezaremos la refactorizacion paso a paso.
2026-02-15 17:01:00 +01:00
DaM
4365366e7d feat(calibration): Step 3 - Stategies preparado conceptualmente 2026-02-14 13:47:08 +01:00
DaM
f4f4e8e5be feat(calibration): finalize Step 2 Risk & Stops with inline PDF reports and visual validation 2026-02-13 20:56:34 +01:00
DaM
44667df3dd Step 2: Risk and Stops - Generating reports with pdf. It is missing to reorder the PDF. 2026-02-13 07:01:44 +01:00
DaM
4d769af8bf feat(calibration): complete step 1 data inspection with data quality v1 2026-02-08 22:29:09 +01:00
DaM
f85c522f22 feat: finalize portfolio system and quantitative validation- Finalized MA_Crossover(30,100) and TrendFiltered_MA(30,100,ADX=15)
- Implemented portfolio engine with risk-based allocation (50/50)
- Added equity-based metrics for system-level evaluation
- Validated portfolio against standalone strategies
- Reduced max drawdown and volatility at system level
- Quantitative decision closed before paper trading phase
2026-02-02 14:38:05 +01:00
DaM
c569170fcc Engine: add stop loss integration (fixed & trailing) with tests 2026-01-30 17:05:47 +01:00
DaM
af7b862f60 Add walk-forward validation with optimizer, OOS evaluation and visualizer 2026-01-28 23:40:12 +01:00
DaM
e15074c0a7 docs: update backtesting research, optimizer, ADX and visual analysis 2026-01-28 16:24:34 +01:00
DaM
1add69eb56 Archivos añadidos/actuaizados para comentar el bot con ChatGPT 2026-01-28 09:42:16 +01:00
DaM
9ab1f7fadc feat: Backtesting completo + Optimizer + Visualizaciones (Semanas 3-4)
 Motor de backtesting:
- BacktestEngine con simulación de trades
- Sistema de Trade y Position
- Gestión de capital, comisiones y slippage
- Soporte para LONG (por ahora)

 Estrategias implementadas (3):
- MovingAverageCrossover (SMA/EMA configurable)
- RSIStrategy (umbrales personalizables)
- BuyAndHold (baseline para comparación)

 Métricas de performance:
- Sharpe, Sortino, Calmar Ratio
- Max Drawdown, Win Rate, Profit Factor
- Expectancy, Risk/Reward, Recovery Factor

 Optimizador de parámetros:
- Grid search automático
- Prueba todas las combinaciones
- Encuentra mejores parámetros por métrica
- Resultados en DataFrame ordenado

 Visualizaciones:
- Equity curve con benchmark
- Trades sobre gráfico de precios
- Drawdown chart
- Distribución de retornos
- Métricas en dashboard
- Exportar gráficos a PNG

 Scripts:
- backtest.py: Demo simple
- backtest.py compare: Comparar estrategias

 Documentación:
- README actualizado (Semanas 1-4)
- Ejemplos de uso
- Roadmap actualizado
2026-01-28 08:42:23 +01:00
DaM
9b34de3127 feat: Backtesting engine completo + documentación (Semanas 3-4)
 Motor de backtesting:
- BacktestEngine con simulación de trades
- Sistema de Trade y Position
- Gestión de capital y comisiones
- Slippage simulado

 Estrategias implementadas:
- MovingAverageCrossover (SMA/EMA configurable)
- RSIStrategy (umbrales personalizables)
- BuyAndHold (baseline)

 Métricas de performance:
- Sharpe Ratio, Sortino Ratio, Calmar Ratio
- Max Drawdown, Win Rate, Profit Factor
- Expectancy, Risk/Reward Ratio

 Scripts:
- backtest.py: Ejecutar backtests individuales
- backtest.py compare: Comparar múltiples estrategias

 Documentación:
- README actualizado con sección de backtesting
- Ejemplos de uso programático
- Estructura de proyecto actualizada
2026-01-27 21:37:39 +01:00
DaM
0522ea17ca feat: estructura base para Semanas 3-4 (Backtesting)
- Creada estructura de carpetas src/backtest/ y src/strategies/
- Añadidos archivos vacíos para backtesting engine
- Actualizado README.md con gestión de PostgreSQL:
  * Comandos start/stop/restart/status
  * Habilitar/deshabilitar inicio automático
  * Sección completa de gestión del servicio
- Preparado para implementar motor de backtesting
2026-01-27 13:45:24 +01:00
DaM
cc6913168f refactor: estructura limpia con __init__.py (Semanas 1-2)
- Añadido __init__.py en todas las carpetas
- Renombrado monitoring/ a utils/
- Eliminadas carpetas vacías/futuras
- Estructura base lista para Semanas 3-4
2026-01-27 08:27:41 +01:00
DaM
0091b302a1 README actualizado 2026-01-26 22:34:08 +01:00
DaM
ccd1fb3e42 Sistema de trading bot - Semanas 1-2 completadas
- Infraestructura de datos completa
- Descarga desde exchanges (CCXT)
- Procesamiento y limpieza de datos
- Almacenamiento en PostgreSQL
- Sistema anti-duplicados
- Script de descarga masiva
- Tests unitarios
- Documentación completa
2026-01-26 22:16:27 +01:00
DaM
dcffd9dfad Initial commit 2026-01-26 18:57:42 +01:00