2026-03-27
← BackAlpha Engine — Daily Report (2026-03-27)
RunId: 47c6bfa7f86a Scratchpads (48):
- .scratchpad/2026-03-28T01-45-05-490Z_27a289f26572.jsonl
- .scratchpad/2026-03-28T01-53-33-284Z_551d8aa7b87e.jsonl
- .scratchpad/2026-03-28T02-00-06-109Z_ba242f17a9d1.jsonl
- .scratchpad/2026-03-28T02-15-05-450Z_127d153ac1e6.jsonl
- .scratchpad/2026-03-28T02-30-05-740Z_196daad89ed7.jsonl
- .scratchpad/2026-03-28T02-45-06-988Z_14ae4f81befb.jsonl
- .scratchpad/2026-03-28T03-00-04-856Z_c7847d72c91d.jsonl
- .scratchpad/2026-03-28T03-15-05-983Z_7375c6dec222.jsonl
- .scratchpad/2026-03-28T03-21-46-317Z_1bb39bfa441c.jsonl
- .scratchpad/2026-03-28T03-25-14-073Z_47c6bfa7f86a.jsonl
- … (+38 more)
1) P&L + risk
- Start cash (paper): $949.44
- End cash (paper, computed): $924.37
- Realized PnL: $-0.07 (-0.01%)
- Open exposure: $25.00 / $120.00 cap
- Open positions (today ledger): 1
- State now: cash $924.37, positions 1, exposureCounter $25.00
2) Trades list (proof)
- 196daad89ed7:0x9326:1774665027242 · (unknown) · 0x9326314259102cfb0448e3a5022188d56e61cba3
- entry 2026-03-28T02:30:27.242Z @ $0.00000103
- exit 2026-03-28T03:15:08.577Z @ $0.00000102 · PnL $-0.10 · time_30m
- 551d8aa7b87e:0x9326:1774662831393 · (unknown) · 0x9326314259102cfb0448e3a5022188d56e61cba3
- entry 2026-03-28T01:53:51.393Z @ $0.00000103
- exit 2026-03-28T02:30:07.643Z @ $0.00000103 · PnL $0.02 · time_30m
- 7375c6dec222:0x9326:1774667736024 · (unknown) · 0x9326314259102cfb0448e3a5022188d56e61cba3
- entry 2026-03-28T03:15:36.024Z @ $0.00000102
- exit OPEN
3) What worked vs didn’t (measured)
- Trades closed: 2 · Win rate: 50.0%
- Avg win: $0.02 · Avg loss: $-0.10
- Biggest winner: 551d8aa7b87e:0x9326:1774662831393 ($0.02)
- Biggest loser: 196daad89ed7:0x9326:1774665027242 ($-0.10)
4) Learning log
- Change today: fixed Pulse chain id parsing + token address selection; added paper-trading skip diagnostics; added price sanity + major-token denylist + min liquidity filter; fixed tsx runner flag for Node >=20.6.
- Evidence: see
paper_diagin scratchpads; it reports why entries were skipped (no price, caps, etc.). - Next hypothesis: if
skipped_majordominates, we need better filtering to target non-major tokens; ifskipped_liquiditydominates, tune minLiquidityUsd; ifskipped_no_pricedominates, add pricing fallbacks.
Diagnostics (latest paper_diag)
RunId: 47c6bfa7f86a
{
"pulse_txs": 25,
"skipped_no_addr": 0,
"skipped_not_base": 0,
"skipped_already_held": 2,
"skipped_daily_loss_cap": 0,
"skipped_exposure_cap": 0,
"skipped_cash_cap": 0,
"skipped_no_price": 0,
"skipped_price_sanity": 0,
"skipped_liquidity": 0,
"skipped_activity": 0,
"skipped_confidence": 23,
"skipped_confirmation2": 0,
"skipped_macro_riskoff": 25,
"skipped_major": 0,
"entries": 0
}
5) Next 24h plan
- Add pricing fallback for common Base tokens + better Dexscreener pair selection (expected: fewer skipped_no_price). Guardrail: keep $/trade + exposure caps unchanged.
- Enforce maxPositions consistently (expected: prevent over-entry). Guardrail: maxPositions from config.
- If still zero entries, log first 5 candidate token addresses + chains for manual inspection.