Skip to main content

Backtest compuesto BTC/ETH (futuros USDT) con ventanas deslizantes, funding y optimización de señales opcional.

Project description

Sistema de optimización MAT — backtest compuesto (BTC/ETH)

English: README.en.md

Motor de simulación por ventanas deslizantes sobre futuros USDT (precio + funding) con gestión de apalancamiento por equity, reglas de señal opcionales en JSON y barridos reproducibles. Pensado para investigación cuantitativa, no como señal de trading en vivo.

CI Python 3.11+ License: MIT

Aviso legal: esto es software experimental. Los resultados históricos no garantizan rendimiento futuro. Usalo bajo tu propio criterio y cumplimiento normativo.


Por qué este repo puede funcionar bien en GitHub

  • Reproducibilidad: CI genera una DB mínima y valida tests + una corrida del runner.
  • Contrato explícito: métricas (p_win_terminal, p_ruin, walk-forward) y docs del dataset en docs/DATASET.md.
  • Extensible: reglas de filtro en JSON (--signal-config), spec tipo ce-optimize en YAML de ejemplo.
  • Honestidad metodológica: tabúes y holdout documentados en docs/brainstorms/ (evitar curve-fitting descuidado).
  • Índice de docs: docs/README.md (tutorial, dataset, PyPI, ejemplos).

Lo que no promete: edge rentable listo para copiar. Open source exitoso aquí = herramienta clara + datos armables + CI verde.


Requisitos

  • Python 3.11+ (probado en CI con 3.11 y 3.12).
  • Dependencias: pip install -r requirements.txt
    Desarrollo / tests: pip install -r requirements-dev.txt

Inicio rápido (sin datos propios)

Tutorial paso a paso (venv, DB sintética, tests, JSON): docs/tutorial_quickstart.md.

pip install -r requirements.txt -r requirements-dev.txt
python scripts/bootstrap_synthetic_candles_db.py
pytest tests/ -q
python compound_optimize_runner.py --db data/synthetic_signal_tune.db --holdout-frac 0.2

La salida es JSON en stdout (métricas agregadas + opcional walk_forward).

Optimización acotada de reglas de señal:

python scripts/optimize_signal_grid.py --db data/synthetic_signal_tune.db --preset smoke --skip-pairs --holdout-frac 0.2

Ver docs/signal_rules_examples.md.


Datos reales (Binance Vision)

El repo incluye utilidades bajo data/binance_vision/ y scripts/download_binance_vision.py para armar tu propio candles.db. El esquema esperado está en docs/DATASET.md.

Variable opcional: COMPOUND_OPT_DB=/ruta/a/candles.db


Componentes principales

Pieza Rol
compound_optimize_runner.py Carga SQLite, cóctel EMA/SMA + anti-whipsaw, equity target/ruina, JSON
leverage_pi.py Política opcional pi_ref (PI + referencia suave)
features/ Indicadores 5m, reglas --signal-config
scripts/optimize_signal_grid.py Rejilla de señales + gates p_ruin / Δ OOS
optimization/contract.yaml Contrato numérico de referencia

Qué va fuera de este repo público

Estas categorías no son el núcleo de optimización/backtest y están en .gitignore para mantenerlas solo localmente (u otro repo privado):

  • PDFs (*.pdf): pitch decks y briefs.
  • SK-MATHS/: documentación conceptual (no el simulador).
  • multi_agent_trading/: otro proyecto.
  • Scripts Telegram (scripts/telegram_hola_bot.py, scripts/telegram_scheduler_hola.py).
  • Raíz: generadores generate_*pdf*.py, generate_audience_pdfs.py, generate_pitch_pdfs.py, generate_pdr_committee_*.py.
  • Raíz: narrativa PDR_*.md, PDR_programa_compras.md, DRE_*.md.
  • optimization/: salidas de corridas (sweep*.json/jsonl, signal_grid*.json, tablas signal_grid*.md, last_run.json). Siguen versionados contract.yaml, contract.json, mc_ladder.py, verify_run.json.

Para material comercial usá otro repositorio o Releases sin mezclarlo con el código reproducible.


Impulsar alcance en GitHub (lo que más suma)

Ya versionado en el repo

  • Dependabot (.github/dependabot.yml) para PRs de actualización de numpy/requests y de Actions.
  • pyproject.toml: metadatos, keywords y pip install -e ".[dev]" como alternativa a los requirements*.txt.
  • CHANGELOG.md y ejemplo de JSON del runner en docs/examples/.

En la configuración del repo (no son archivos)

  • Topics sugeridos: quantitative-finance, backtesting, binance, cryptocurrency, numpy, python, research, futures.
  • About: una línea que diga “sliding-window futures backtest (BTC/ETH) + optional signal optimizer”; link a docs/DATASET.
  • Discussions habilitadas en GitHub para Q&A sin ruido en Issues.
  • URLs del proyecto ya apuntan a emilianob-ux/SISTEMA-OPTIMIZACION-MAT en README y pyproject.toml.
  • Stars externos: post corto en X/LinkedIn/Medium con el quickstart + “no es asesoramiento financiero”.

Calidad incremental


Licencia, seguridad y comunidad

Checklist antes de publicar el repo

  1. Badge CI y project.urls ya usan emilianob-ux/SISTEMA-OPTIMIZACION-MAT.
  2. Confirmar que no subís candles.db gigante ni API keys (.gitignore ya ignora data/*.db).
  3. Revisar git status: no deben subirse PDFs, SK-MATHS, Telegram, PDR/DRE en raíz ni artefactos optimization/sweep* / optimization/signal_grid* (ver sección anterior).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sistema_optimizacion_mat-0.1.4.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sistema_optimizacion_mat-0.1.4-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file sistema_optimizacion_mat-0.1.4.tar.gz.

File metadata

  • Download URL: sistema_optimizacion_mat-0.1.4.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sistema_optimizacion_mat-0.1.4.tar.gz
Algorithm Hash digest
SHA256 1563aeea7d2a7f72a6658dfbbdaf37c8eb155662f39a99d214c2e72e9a809665
MD5 796d8d32e88548328367be3161cf73b5
BLAKE2b-256 e808024bd0471fee221c8ca011c0bb5ebfde4be92adf2edf71c2523918311014

See more details on using hashes here.

Provenance

The following attestation bundles were made for sistema_optimizacion_mat-0.1.4.tar.gz:

Publisher: publish-pypi.yml on emilianob-ux/SISTEMA-OPTIMIZACION-MAT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sistema_optimizacion_mat-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for sistema_optimizacion_mat-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4b83d27659be93114e084bb4a605d9dda5d79d0a69807c2c569e92bb84f1a099
MD5 5833fa73c950583f507b05b7a0883733
BLAKE2b-256 b8875887ba593dd2d8303093e3979cf49ad09ac78bc203a4b0ad91517ffade78

See more details on using hashes here.

Provenance

The following attestation bundles were made for sistema_optimizacion_mat-0.1.4-py3-none-any.whl:

Publisher: publish-pypi.yml on emilianob-ux/SISTEMA-OPTIMIZACION-MAT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page