# A2 v14 + v15: mc5 size curve on real tick depth (FW Analyst 2, 6 Oct 2026, v2 15:38 Bangkok)

## v15 (15:38 Bangkok): 4 h time stop. Read this first
- **The 4 h stop makes every size better, and it fixes the lower bound.** Now both models stay green up to $3k.
  - $2k: main 1.89x (halves 2.25x / 1.80x), +$16.3k a trading day; lower bound 1.72x (2.01x / 1.64x), +$13.1k.
  - $3k: main 1.76x, +$20.9k; lower bound 1.45x, +$12.4k, worst 3 days minus $29k. The lower bound's $ a day peaks at $2k.
  - $5k: lower bound breaks (1.02x, second half 0.91x, worst day minus $69k). Do not go there.
- **Ramp target stays $1k to $2k, cap $3k** until live fills say which model is true.
- Checks: H1 at $100 4 h main 2.66x, lower 2.53x vs A1.18's 2.56x. My H2 (2.07x / 2.01x) is higher than A1's 1.67x mainly because A1 left out the four 6 Oct trades, two of which are a 40x and a 16x. All four have finished (last one stopped), so no trade is cut short.

### 4 h table (201 trades, 22 trading days, pulled = 0, all costs)
| Size | Model | Mean x | First half | Second half | $ a trading day | First half | Second half | Worst day | Worst 3 days | Profit without top 3 |
|---|---|---|---|---|---|---|---|---|---|---|
| $100 | main | 2.20x | 2.66x | 2.07x | +1,092 | +698 | +1,421 | −451 | −361 | +14,003 |
| $100 | lower | 2.12x | 2.53x | 2.01x | +1,020 | +641 | +1,335 | −688 | −420 | +12,416 |
| $500 | main | 2.13x | 2.57x | 2.02x | +5,179 | +3,293 | +6,751 | −2,301 | −1,778 | +67,307 |
| $500 | lower | 2.01x | 2.39x | 1.91x | +4,616 | +2,910 | +6,037 | −3,711 | −2,333 | +55,123 |
| $1,000 | main | 2.04x | 2.45x | 1.93x | +9,472 | +6,070 | +12,308 | −4,628 | −3,534 | +122,602 |
| $1,000 | lower | 1.89x | 2.22x | 1.81x | +8,167 | +5,132 | +10,696 | −7,773 | −4,751 | +94,613 |
| $2,000 | main | 1.89x | 2.25x | 1.80x | +16,253 | +10,473 | +21,070 | −9,379 | −7,002 | +209,587 |
| $2,000 | lower | 1.72x | 2.01x | 1.64x | +13,146 | +8,492 | +17,025 | −16,061 | −9,370 | +143,611 |
| $3,000 | main | 1.76x | 2.09x | 1.67x | +20,870 | +13,740 | +26,812 | −14,540 | −10,424 | +263,894 |
| $3,000 | lower | 1.45x | 1.82x | 1.36x | +12,443 | +10,374 | +14,168 | −24,949 | −29,087 | +83,023 |
| $5,000 | main | 1.56x | 1.84x | 1.49x | +25,632 | +17,607 | +32,319 | −24,179 | −17,184 | +301,450 |
| $5,000 | lower | 1.02x | 1.40x | 0.91x | +748 | +8,416 | −5,643 | −68,764 | −107,478 | −206,391 |

- Exits at $2k main: 116 stops, 61 time stops, 24 pulls. Median trade still about 0.5x; 3 in 4 trades lose.
- Per trade rows (both models, 2 h and 4 h, every size): http://159.223.88.168/hx-c9ois/fw/a2code/mc5v15_trades.csv . Code: http://159.223.88.168/hx-c9ois/fw/a2code/mc5v15.py.txt

### Ramp gates I would trust
- **The live PnL cannot judge the edge for a long time.** 3 in 4 trades lose, and the mean lives on about 1 coin in 30. 10 or 20 live trades prove nothing about profit. So the gates check FILLS, which do show up trade by trade.
- Log two quotes on every live fill: the main-model quote and the lower-bound quote (own buy kept vs ignored), next to the real fill.
- **Gates:**
  - $100 × 10 trades: no failed buy or sell; median fill within 2% of quote on buys and sells.
  - $500 × 10 trades: same, and stop exits fill within 5% of the value that triggered them.
  - $1k × 20 trades: same; plus real sell proceeds closer to the main quote than to the lower-bound quote on at least 2 of 3 sells where the two differ by 5%+.
  - $2k: stay here until 50 live trades in total.
  - $3k only if the 50-trade median fill gap is 2% or less and the sells side with the main model. If they side with the lower bound, $2k is the ceiling.
- **Step down one size if:** median fill gap over the last 10 trades worse than 3%, or 2 fills in the last 10 worse than quote by 10%+, or 3 stop exits in the last 10 filled 15%+ below their trigger value.
- **Kill:** any failed sell; wallet below 50% of start; after 60 trades mean under 1.0x AND no trade at 5x or more (spec rule).
- Wallet: the worst 3 days at $2k is minus $9.4k even in the lower bound, so keep at least 3 × (worst day) ≈ $50k behind a $2k ticket, or size down.

## Clock correction
- The v14 header and status line said 16:05 Bangkok. The real time was about 15:28 Bangkok (server clock). Times now come from the server.

## v14 (15:28 Bangkok): 2 h time stop
- **$ a day peaks at about $7,500 a trade (+$16.7k a trading day), but the safe size is $3,000 to $5,000.**
  - Above $5k the gain comes only from the top 3 coins. Without them, profit is flat to $7.5k and collapses at $10k.
  - $3k: mean 1.45x, +$12.3k a trading day, worst day minus $15.2k, worst 3 days minus $10.4k.
  - $5k: mean 1.32x, +$14.8k a trading day, worst day minus $25.3k, worst 3 days minus $18.6k.
- **Both halves agree up to $10k** (first half 13 to 22 Sep, 42 trades; second half 25 Sep to 6 Oct, 159 trades). At $15k the second half turns red.
- **The model choice matters a lot, so here is the range:**
  - Main model: our own buy stays in the pool and we sell back through it. Peak $7.5k.
  - Lower bound: our own buy is ignored at exit (A1 and A2.14 style). Peak $2,250 (+$6.4k a day), already red at $5k.
  - The lower bound is wrong for coins near their launch floor: it pays 0 on a coin where nobody traded, because the only WETH in the pool is ours. 4 trades did exactly that. The truth sits between the two, closer to the main model.
- **Check against A1 at $100:** 1.69x vs A1's 1.64x, 201 of 201 trades matched, 171 within 0.02x. The rest are A1's "90% of reserve" cap and pull timing.

## Main table (201 mc5 trades, 22 trading days, pulled = 0, GMGN 1% each way, pool fee, gas $0.05 a side)

| Size | Mean x | First half | Second half | $ a trading day | First half | Second half | Worst day | Worst 3 days | Profit without top 3 coins | Entry fill vs spot (median) |
|---|---|---|---|---|---|---|---|---|---|---|
| $100 | 1.69x | 2.00x | 1.60x | +626 | +422 | +796 | −481 | −435 | | 0.997 |
| $250 | 1.68x | 1.99x | 1.60x | +1,561 | +1,045 | +1,991 | −1,195 | −894 | | |
| $500 | 1.65x | 1.96x | 1.57x | +2,976 | +2,026 | +3,768 | −2,396 | −1,778 | | 0.986 |
| $1,000 | 1.60x | 1.92x | 1.52x | +5,479 | +3,855 | +6,833 | −4,825 | −3,534 | | 0.972 |
| $2,000 | 1.53x | 1.82x | 1.45x | +9,619 | +6,891 | +11,893 | −9,811 | −7,002 | +98,363 | 0.946 |
| $3,000 | 1.45x | 1.74x | 1.37x | +12,296 | +9,299 | +14,793 | −15,208 | −10,424 | +119,249 | 0.921 |
| $5,000 | 1.32x | 1.62x | 1.25x | +14,836 | +12,969 | +16,391 | −25,268 | −18,577 | +119,541 | 0.875 |
| $7,500 | 1.24x | 1.48x | 1.18x | **+16,717** | +14,987 | +18,158 | −40,069 | −34,200 | +114,256 | 0.824 |
| $10,000 | 1.16x | 1.37x | 1.11x | +14,744 | +15,476 | +14,133 | −58,031 | −74,644 | +38,573 | 0.778 |
| $15,000 | 1.04x | 1.24x | 0.99x | +5,475 | +15,122 | −2,564 | −93,706 | −169,815 | −207,014 | 0.701 |
| $20,000 | 0.99x | 1.14x | 0.95x | −2,718 | +11,510 | −14,574 | −137,452 | −236,401 | −412,936 | 0.637 |

- Median trade is 0.50x at every size (the stop). About 3 in 4 trades lose. Exits at $3k: 107 stops, 73 time stops, 21 pulls.
- "A trading day" = the 22 days with a trade (13 Sep to 6 Oct; none on 16 and 17 Sep; 6 Oct is a part day). Per calendar day, multiply by 0.92.
- Worst 10% of entries at $3k fill at 0.61x of spot: the thinnest pools at +5 min.
- Fill 6 s after the check (spec target) is slightly better, not worse: $1k 1.63x, $3k 1.46x.

## Lower bound (own buy ignored at exit)
| Size | $100 | $500 | $1,000 | $2,000 | $2,250 | $3,000 | $5,000 |
|---|---|---|---|---|---|---|---|
| Mean x | 1.60x | 1.54x | 1.46x | 1.35x | 1.31x | 1.18x | 0.86x |
| $ a trading day | +550 | +2,445 | +4,203 | +6,383 | +6,420 | +4,888 | −6,173 |

## Recommendation
- **Paper and first live at $1k to $2k, cap at $3k a coin until 30 live trades confirm the fills.** At $3k both models are green (1.45x main, 1.18x lower bound), and profit without the top 3 coins is still +$119k.
- Do not go above $5k: the lower bound is red there and the worst 3 days pass minus $18k even in the main model.
- The live bot must log quote vs fill at entry and exit. That one number tells which model is true.

## How
- Trades: A1's own selection (v3frag `series_t` at +300 s, cap $250k to $1M): 201 trades, same as A1's 201.
- Chain data: every Swap, Mint and Burn of the 201 pools from creation to T0 + 2 h, pulled fresh from chain (517,921 events) with ticks and the Swap `liquidity` field.
- State at any moment = last Swap (sqrtPriceX96, liquidity, tick) plus Mints and Burns after it that cover the current tick.
- Buy: (size × 0.99 − gas) WETH, pool fee, walked through the real initialized ticks.
- Exit value: our buy is replayed on the state at that moment, then all tokens are sold back through the real ticks (exact reversal while selling back through our own buy, then the real curve), × pool fee, × 0.99, − gas.
- Exits: stop when net value ≤ 0.5x on a Swap of 0.01+ WETH, filled at the state 3 s later. Time stop at T0 + 2 h. Pull = first in-range Burn taking 50%+ of active liquidity, set to 0 (A1's all-range pull gives the same table within 1%).
- Not modelled: other traders reacting to our size, and MEV.
- Code: http://159.223.88.168/hx-c9ois/fw/a2code/mc5size.py.txt and http://159.223.88.168/hx-c9ois/fw/a2code/mc5ext.py.txt
- Per trade and size: http://159.223.88.168/hx-c9ois/fw/a2code/mc5size_trades.csv

## First principles score
8/10. Fills and exits come from each pool's real liquidity map, every trade, both halves. The open question is how far our own buy stays in the price; the two models bracket it.

Version 2, 6 Oct 2026 15:38 Bangkok (v1 15:28). Latest: http://159.223.88.168/hx-c9ois/fw/a2-mc5-size.md
