Add SPEC-052 trade spec exit-to-base paper sandbox
This commit is contained in:
parent
50e74270df
commit
0989327f4c
1 changed files with 76 additions and 0 deletions
|
|
@ -0,0 +1,76 @@
|
|||
# SPEC-052 — Invest Trade Specs + Alice Monitor + Exit-to-Base (paper sandbox)
|
||||
|
||||
**SPEC-ID:** 052-MYVEXX
|
||||
**Vincula:** 049, 050, 051
|
||||
**Org Forgejo:** `myvexx` (≠ ligbox)
|
||||
**Status:** 🧪 Sandbox paper (2026-08-05)
|
||||
**Para:** Roger
|
||||
|
||||
## Objectivo
|
||||
|
||||
Permitir: escolher índice/crypto → Alice investiga → **spec no Invest** (alvo, alavancagem simulada, modo de saída) → motor monitoriza → ao atingir alvo **fecha e volta à conta base** (paper).
|
||||
|
||||
## Contrato da Spec (Invest)
|
||||
|
||||
```json
|
||||
{
|
||||
"symbol": "NVDA",
|
||||
"asset_class": "equity",
|
||||
"entry_price": 100.0,
|
||||
"target_pct": 1.20,
|
||||
"leverage_sim": 1.0,
|
||||
"exit_mode": "aviso|semi|auto_paper",
|
||||
"stop_pct": null,
|
||||
"fill_timeout_sec": 300,
|
||||
"on_fill_fail": "abort_alert"
|
||||
}
|
||||
```
|
||||
|
||||
- `target_pct` = **+1,20%** sobre `entry_price` (lucro percentual).
|
||||
- `leverage_sim` = factor só para P&L **simulado** (não broker live).
|
||||
- `exit_mode`: ver tabela abaixo.
|
||||
|
||||
## Modos de saída (aplicar todos)
|
||||
|
||||
| Modo | Comportamento sandbox |
|
||||
|------|------------------------|
|
||||
| **aviso** | Ao alvo → `alerted`; não fecha sozinho |
|
||||
| **semi** | Ao alvo → `ready_to_close`; exige `POST .../confirm_close` |
|
||||
| **auto_paper** | Ao alvo → fecha já → `closed_to_base` |
|
||||
|
||||
Live broker: **proibido** neste bridge (`ALLOW_LIVE_BROKER=0`).
|
||||
|
||||
## Constraints (o “não realista” → regras)
|
||||
|
||||
1. Alvo % = trigger, não garantia de fill.
|
||||
2. Alavancagem = simulada até paper broker explícito.
|
||||
3. Auto só em paper; live = degrau futuro + gate humano.
|
||||
4. Spec no Invest/bridge = fonte da verdade (Alice lê, não inventa).
|
||||
5. Equity vs crypto = mesmo contrato, adapters depois.
|
||||
6. Polling sandbox; websocket = Fase B+.
|
||||
|
||||
## API sandbox (bridge `:3100`)
|
||||
|
||||
| Método | Path | Função |
|
||||
|--------|------|--------|
|
||||
| POST | `/sandbox/specs` | Criar spec |
|
||||
| GET | `/sandbox/specs` | Listar |
|
||||
| GET | `/sandbox/specs/{id}` | Detalhe |
|
||||
| POST | `/sandbox/specs/{id}/tick` | Actualizar preço (manual) |
|
||||
| POST | `/sandbox/specs/{id}/simulate` | Simular path até alvo |
|
||||
| POST | `/sandbox/specs/{id}/confirm_close` | Semi: confirmar fecho |
|
||||
|
||||
Traefik: `https://invest.myvexx.com/api/agents/sandbox/...` (strip `/api/agents`).
|
||||
|
||||
## Critério de done (sandbox)
|
||||
|
||||
1. Criar spec NVDA alvo 1,20% modo `auto_paper`.
|
||||
2. `simulate` sobe preço ≥ +1,20%.
|
||||
3. Estado final `closed_to_base` + `pnl_pct` ≥ 1,20.
|
||||
4. Modos `aviso` e `semi` testados no mesmo motor.
|
||||
|
||||
## Fora de escopo 052
|
||||
|
||||
- Ordem live / UTA funded
|
||||
- UI React completa `/agents` (pode seguir em paralelo Fase A 051)
|
||||
- Fork profundo OpenAlice (bridge consome specs; Alice UI depois)
|
||||
Loading…
Reference in a new issue