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.
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 endocs/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, tablassignal_grid*.md,last_run.json). Siguen versionadoscontract.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 denumpy/requestsy de Actions. pyproject.toml: metadatos, keywords ypip install -e ".[dev]"como alternativa a losrequirements*.txt.CHANGELOG.mdy ejemplo de JSON del runner endocs/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-MATen README ypyproject.toml. - Stars externos: post corto en X/LinkedIn/Medium con el quickstart + “no es asesoramiento financiero”.
Calidad incremental
pre-commit+ruff(lint rápido) cuando el equipo crezca.- README en inglés:
README.en.md(enlace arriba). - Publicación opcional en PyPI:
docs/PUBLISHING_PYPI.md.
Licencia, seguridad y comunidad
- Licencia: LICENSE (MIT).
- Contribuciones: CONTRIBUTING.md.
- Vulnerabilidades: SECURITY.md (reporte privado).
- Código de conducta: CODE_OF_CONDUCT.md.
Checklist antes de publicar el repo
- Badge CI y
project.urlsya usanemilianob-ux/SISTEMA-OPTIMIZACION-MAT. - Confirmar que no subís
candles.dbgigante ni API keys (.gitignoreya ignoradata/*.db). - Revisar
git status: no deben subirse PDFs, SK-MATHS, Telegram, PDR/DRE en raíz ni artefactosoptimization/sweep*/optimization/signal_grid*(ver sección anterior).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1563aeea7d2a7f72a6658dfbbdaf37c8eb155662f39a99d214c2e72e9a809665
|
|
| MD5 |
796d8d32e88548328367be3161cf73b5
|
|
| BLAKE2b-256 |
e808024bd0471fee221c8ca011c0bb5ebfde4be92adf2edf71c2523918311014
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sistema_optimizacion_mat-0.1.4.tar.gz -
Subject digest:
1563aeea7d2a7f72a6658dfbbdaf37c8eb155662f39a99d214c2e72e9a809665 - Sigstore transparency entry: 1444781010
- Sigstore integration time:
-
Permalink:
emilianob-ux/SISTEMA-OPTIMIZACION-MAT@2e91b9fd99247cef7a9ee81d029227f2521671cb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/emilianob-ux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2e91b9fd99247cef7a9ee81d029227f2521671cb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file sistema_optimizacion_mat-0.1.4-py3-none-any.whl.
File metadata
- Download URL: sistema_optimizacion_mat-0.1.4-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b83d27659be93114e084bb4a605d9dda5d79d0a69807c2c569e92bb84f1a099
|
|
| MD5 |
5833fa73c950583f507b05b7a0883733
|
|
| BLAKE2b-256 |
b8875887ba593dd2d8303093e3979cf49ad09ac78bc203a4b0ad91517ffade78
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sistema_optimizacion_mat-0.1.4-py3-none-any.whl -
Subject digest:
4b83d27659be93114e084bb4a605d9dda5d79d0a69807c2c569e92bb84f1a099 - Sigstore transparency entry: 1444781086
- Sigstore integration time:
-
Permalink:
emilianob-ux/SISTEMA-OPTIMIZACION-MAT@2e91b9fd99247cef7a9ee81d029227f2521671cb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/emilianob-ux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2e91b9fd99247cef7a9ee81d029227f2521671cb -
Trigger Event:
workflow_dispatch
-
Statement type: