docs(project-layout): retire exposure/realistic-broker framing → bias/R/cost-model

The "day in the life" worked example was stale on the #117 (exposure→bias)
and #116 (realistic broker retired → cost-model graph in R) reframes.
Rewrite steps 3/4/7 to the live model: unsized bias stream → in-R
risk-executor + R-evaluator (E[R]/SQN) → optional cost-model graph
(net R = gross R − cost-in-R); money/real-broker pushed to the live
deploy edge; the matrix axis swapped from the retired {sim-optimal,
pepperstone} broker pair to a {fixed-stop, vol-stop} risk-executor axis.

closes #151
This commit is contained in:
2026-06-29 11:17:39 +02:00
parent d8946b1d7b
commit dcf58c5d26
+19 -13
View File
@@ -93,28 +93,34 @@ per-session consent.
2. **Claude** (via the skills pipeline) writes `nodes/third-candle-long/`,
implements `schema` + `eval` against `aura-core`.
3. **Backtest:** `aura backtest nodes/third-candle-long --symbol GER40
--from 2020 --to 2024` → the strategy produces a broker-independent
**exposure stream** (one bounded signed value per cycle = intent); the default
**sim-optimal broker** integrates `exposure·return` into a synthetic
**pip**-equity — the signal's *quality* — yielding a metrics table
(pip-P&L, max-DD, Sharpe) + a run record (manifest + metrics) under `runs/`.
Brokers are consumer **nodes**: the sim-optimal one reads the exposure stream
directly, while a realistic broker reads the *derived* position-event table
add `--broker pepperstone` to get a realistic currency curve *alongside* the
sim-optimal pip curve, two comparable equity curves. (Contract C10.)
--from 2020 --to 2024` → the strategy produces a broker-independent, unsized
**bias stream** (one signed, bounded `f64 ∈ [-1,+1]` per cycle — sign = direction,
magnitude = optional conviction). A downstream **risk-based executor** (stop-rule →
position-management, in **R**, the protective stop defining 1R) turns the bias into
tracked trades, and the **R-evaluator** integrates the per-trade R-outcomes into an
**R-expectancy / R-curve** — the signal's *quality*, measured account- and
instrument-agnostically in **R** (E[R], SQN), not currency. Optionally compose a
**cost model** — a C9 graph of cost nodes, in R (`net R = gross R cost-in-R`) — to
draw the **net-R** curve beside the gross one. The run yields an R-metrics table + a
run record (manifest + metrics) under `runs/`. (Contract C10.) Money, a real broker,
and a currency curve are a later **live/deploy-edge** concern (the only reliable ground
truth, measured forward — never an authored historical "realistic broker"); the legacy
`SimBroker` pip yardstick survives only as an optional dual readout, not the model.
4. **Sweep / Monte-Carlo / matrix — a Rust experiment.** Anything beyond a
single backtest is an *experiment* in `experiments/` (Rust, builder API): a
parameter sweep, Monte-Carlo over seeds, or a structural matrix like "these 10
strategies × these 3 instruments × {sim-optimal, pepperstone}". The matrix is
plain Rust loops, not a config schema (C20). `aura run experiments/compare`
strategies × these 3 instruments × {fixed-stop, vol-stop} risk-executors". The
matrix is plain Rust loops, not a config schema (C20). `aura run experiments/compare`
bootstraps the matrix, fans the disjoint sims over all cores (C1), and writes
the comparable runs to `runs/`.
5. **Compose:** "combine it with `momentum-filter` as a weighted sum" → Claude
writes a composite node (fractal, C9).
6. **Walk-forward:** another experiment kind (rolling in-sample optimize +
out-of-sample test) → an out-of-sample verdict.
7. **Freeze:** `aura freeze nodes/strategy-y --broker pepperstone
--out bots/strategy-y` → a standalone, statically-linked bot (C13).
7. **Freeze:** `aura freeze nodes/strategy-y --out bots/strategy-y` → a standalone,
statically-linked bot (C13); the live broker connection (e.g. cTrader Open API) is
bound at this **deploy edge** — the only place account money appears, measured forward
against a real venue, never an authored historical broker.
8. **Explore — `aura play`.** The playground plays *any* harness and shows what
your **sinks** recorded (C22): live equity/signal streams while a run
executes, and recorded traces + meta-views afterwards — stitched walk-forward