Moved files around, updated README
Various files from live trading sessions were dumped in the root. Moved these files sources/misc/ (new folder). Updated README
This commit is contained in:
29
sources/create-watchlist-prompt.md
Normal file
29
sources/create-watchlist-prompt.md
Normal file
@@ -0,0 +1,29 @@
|
||||
New watchlist. Interview me, then build and run it.
|
||||
|
||||
INTERVIEW — exactly 6 questions, quick-answer buttons (or numbered choices in chat), one at a time:
|
||||
1. Size bucket: Large ($10B+) | Mid ($2B–10B) | Small ($300M–2B) | Micro (<$300M) | Mixed
|
||||
2. Setup (max 2): Short squeeze (high SI + gap) | Gap & momentum | Near 50MA confluence |
|
||||
VWAP pullback | Base/measured-move breakout | Volume breakout
|
||||
3. Universe: Full US market | Cha Martin watchlist | My scratchpad file | Sector/theme (free text)
|
||||
4. Liquidity floor: $1M | $5M | $20M | $100M avg daily dollar volume | No floor
|
||||
5. List size: 5 | 10 | 15 | 20 tickers
|
||||
6. Cadence: On-demand only | Daily pre-market 9:15 ET (scheduled job, needs my approval) |
|
||||
Twice daily (9:15 + 11:30 ET) | Intraday every 2h RTH
|
||||
Derive the profile name from the answers (e.g. "smallcap-squeeze"). Do not ask more than 6
|
||||
questions; fold anything else into sensible defaults and state them.
|
||||
|
||||
ARTIFACTS — after the answers:
|
||||
- Save the profile as .mari/scratchpad/watchlists/configs/<name>.json
|
||||
(fields: name, created, updated, size_bucket, horizon, screens, min_dollar_volume,
|
||||
market_cap bounds, universe, list_size, sector_rule "avoid_concentration", cadence, notes).
|
||||
- Never edit _template/config.json; copy its schema.
|
||||
- Run the first scan immediately against live TTG data (snapshot day.vw = session VWAP,
|
||||
day.dv = today dollar volume; market cap verified per finalist via stocks_reference_ticker;
|
||||
ETFs excluded unless I asked for them).
|
||||
- Write results to .mari/scratchpad/watchlists/results/<name>-<YYYY-MM-DD>.md plus -latest.md
|
||||
mirror, and show me the table in chat: Ticker | Price | VWAP or ref level | % from level |
|
||||
$Vol | Mkt Cap | one-line note, plus one alternate and any rejections with reasons.
|
||||
|
||||
RERUN SEMANTICS — going forward, "run my <name> watchlist" = same screens, fresh data, new
|
||||
dated file. "Patch <name>: <change>" = edit one field of the JSON, keep history.
|
||||
If the button-card renderer fails, fall back to numbered in-chat choices — same flow.
|
||||
36
sources/largecap-vwap-pullback.md
Normal file
36
sources/largecap-vwap-pullback.md
Normal file
@@ -0,0 +1,36 @@
|
||||
Run my largecap-vwap-pullback watchlist.
|
||||
|
||||
PROFILE (the 6 answers, saved at .mari/scratchpad/watchlists/configs/largecap-vwap-pullback.json):
|
||||
1. Size bucket: Large cap, market cap ≥ $10B (verify per candidate via ticker details — never assume)
|
||||
2. Setup: VWAP pullback — price within ±0.35% of live session VWAP, session high at least
|
||||
+0.5% above VWAP (ran up, pulled back to the line), price still above/near VWAP
|
||||
3. Universe: full US market (exclude ETFs — require type CS or ADRC in ticker details)
|
||||
4. Liquidity: today's dollar volume ≥ $5M (use $25M to pre-narrow, verify $5M floor on finalists)
|
||||
5. List size: top 5, ranked by push-above-VWAP depth then dollar volume; max 2 per sector
|
||||
6. Cadence: on-demand only ("run my <name> watchlist")
|
||||
|
||||
DATA PATH (TTG MCP servers only):
|
||||
- One call to ttg-stocks stocks_snapshot_all {include_otc:false} → per-ticker day.vw IS the
|
||||
live session VWAP, day.dv is today's dollar volume, day.h is the session high. No per-ticker
|
||||
bar calls needed. Parse: find '{"mcp_ui"' in the dump → json.loads → ["json"]["tickers"].
|
||||
- Market cap only comes from stocks_reference_ticker (market_cap field) — call it per finalist,
|
||||
after narrowing, never before.
|
||||
- Screen passes → market-cap + type verification → reject anything under $10B or any ETF
|
||||
(watch for lookalikes: leveraged ETFs like QID/LABD/AAPD, commodity/crypto ETFs like BITO/ETHA).
|
||||
|
||||
ARTIFACTS:
|
||||
- Save/refresh results at .mari/scratchpad/watchlists/results/<name>-<YYYY-MM-DD>.md,
|
||||
mirror to <name>-latest.md, keep dated history.
|
||||
- Table columns: Ticker | Price | VWAP | % vs VWAP | % High-over-VWAP | $Vol | Mkt Cap | Note.
|
||||
- Include an alternate (6th name) and list any near-miss rejections with the reason (e.g.
|
||||
"AAL cut: $8.6B mcap under the $10B bar").
|
||||
|
||||
OUTPUT: the table + one-line trigger note (VWAP reclaim/hold = long trigger, stop under session
|
||||
low). Terse. No re-asking the 6 questions — they live in the config file.
|
||||
|
||||
Variants — swap only line 1 and the market-cap bar:
|
||||
|
||||
Small-cap list: size bucket: small ($300M–2B) → bar becomes ≥$300M, <$2B
|
||||
Mid-cap: ≥$2B, <$10B
|
||||
Different setup: replace the screen definition in item 2 (e.g., "gap & momentum: day open ≥2% above prev close, dollar volume ≥ 2× 20-day average") — everything else stays
|
||||
The profile JSON on disk is the source of truth; this prompt is just its human-readable twin. Say "run my largecap-vwap-pullback watchlist" any time and I execute exactly this.
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
90
sources/misc/xpon-squeeze-2026-08-24.md
Normal file
90
sources/misc/xpon-squeeze-2026-08-24.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# XPON Short Squeeze — Premarket Signal Reconstruction (2026-08-24)
|
||||
|
||||
## The Setup: What a Pre-Open Scanner Would Have Flagged
|
||||
|
||||
### 1. Extreme Float Restriction
|
||||
- **Free float: 10,684,515 shares** (93.4% of share class)
|
||||
- **Total shares outstanding: ~962,335** (weighted: 953,191)
|
||||
- **Market cap: $3.27M** — deep micro-cap
|
||||
- **22 employees**, listed 2022-04-01, NASDAQ (XNAS)
|
||||
- **1-for-12 reverse split** (effective ~2026 Q2) to regain Nasdaq compliance
|
||||
- A ~$3.30M market cap with 10.7M free float = tiny tradable universe. Any meaningful buy-side interest moves the tape fast.
|
||||
|
||||
### 2. 8/19 Volume Blowout — The "Accumulation Day"
|
||||
| Metric | 8/19 (Thu) | Prior days (typical) |
|
||||
|--------|-----------|---------------------|
|
||||
| Close | $4.43 | $3.30–$3.74 |
|
||||
| High | $4.90 | $3.30–$3.74 |
|
||||
| Volume | **83,482 shares** | ~300–1,000 shares |
|
||||
| $ Volume | $7.37M | <$5K |
|
||||
|
||||
- Volume was **~80–250x** the prior 10-day average (~300–700 shares/day).
|
||||
- Price went from a 3-week range of $3.18–$3.89 to a **$4.90 intraday high** — a break above the established range.
|
||||
- Close at $4.43 held well above the prior range — this is an **accumulation/reversal bar**, not a failed spike.
|
||||
- The 8/20–8/22 follow-through: volume stayed elevated (3.8K, 1K, 680) vs. the prior 1K baseline, and price held above $3.60 — confirming the 8/19 move wasn't a one-day fluke.
|
||||
|
||||
### 3. Premarket 8/24: The Trigger
|
||||
- **Pre-market high: $4.80** (09:24 ET, first 5-min bar: o:3.56 c:4.10 h:4.80 l:3.40, v:1,047,600)
|
||||
- That's a **+8.5% gap** above the 8/23 close of $3.435.
|
||||
- **Pre-market volume: ~1.94M shares in the first hour** (vs. 83K the prior full day) — **23x the prior day's total volume before the open**.
|
||||
- The quote tape shows **bid/ask sizes at 100 shares** throughout pre-market — no institutional size was visible. This was **retail/momentum-driven**, not institutional.
|
||||
- The 09:30 open printed at **$7.77** — a **126% gap** above prior close. The open was already 1.7x the premarket high.
|
||||
|
||||
### 4. The Squeeze Mechanics (First 2 Hours)
|
||||
| Time (ET) | Price | Volume | Notes |
|
||||
|-----------|-------|--------|-------|
|
||||
| 09:25 | 3.40 → 4.80 | 1.0M | Pre-market trigger |
|
||||
| 09:30 | 4.10 → 5.88 | 4.4M | Open + first 5 min |
|
||||
| 09:35 | 5.90 → 6.45 | 3.3M | Acceleration |
|
||||
| 09:40 | 6.17 → 6.18 | 1.7M | Consolidation |
|
||||
| 09:45 | 6.18 → 7.58 | 3.8M | Second wave |
|
||||
| 09:50 | 7.58 → 8.64 | 3.4M | **High: $9.03** |
|
||||
| 09:55 | 8.67 → 8.18 | 2.0M | First fade |
|
||||
| 10:00 | 8.20 → 8.70 | 1.6M | Retest |
|
||||
| 10:05 | 8.70 → 9.84 | 2.4M | **High: $9.99** |
|
||||
| 10:10 | 9.83 → 8.45 | 2.1M | Sharp reversal |
|
||||
| 10:15 | 8.43 → 8.18 | 0.7M | Consolidation |
|
||||
|
||||
- **Intraday high: $9.99** (+191% from prior close) at ~10:05 AM ET
|
||||
- **First 15 min volume: ~13M shares** — 150x the prior day's total
|
||||
- The 10:05 high at $9.99 was a **psychological round number** — classic momentum exhaustion
|
||||
- After 10:15, price faded to $6.31 by mid-morning (low of $6.31 at ~11:30)
|
||||
- **Closed at $7.36** (+114% from prior close) — gave back ~26% of the gains
|
||||
|
||||
### 5. Why Mike Edwards Would Have Flagged This
|
||||
|
||||
A short-squeeze scanner (or discretionary premarket review) would have scored XPON high on:
|
||||
|
||||
1. **Float size**: $3.3M market cap, 10.7M free float — one of the most restricted floats in the market
|
||||
2. **Volume spike**: 8/19 was 80–250x normal — the "something changed" signal
|
||||
3. **Price range break**: 8/19 broke the 3-week $3.18–$3.89 range with a $4.90 high
|
||||
4. **Follow-through**: 8/20–8/22 held above the prior range with elevated volume
|
||||
5. **Premarket gap**: +8.5% gap to $4.80 before the open — confirming momentum
|
||||
6. **Premarket volume**: 1.94M shares pre-market = 23x prior day — "the market is paying attention"
|
||||
7. **Thin liquidity**: 100-share bid/ask sizes = no institutional selling wall, retail/momentum can drive price
|
||||
8. **Reverse split**: Fresh off a 1-for-12 reverse split — stock was recently reset, new float, new retail interest
|
||||
9. **Nasdaq compliance regained**: The reverse split was to fix compliance — "clean bill of health" for short-sellers (reduced short borrow risk)
|
||||
10. **No options market**: No listed options = no hedging mechanism for short-sellers → they can only cover
|
||||
|
||||
### 6. What Went Wrong (Post-Open Fade)
|
||||
- The 10:05 high at $9.99 was a **blow-off top** — no follow-through, sharp reversal
|
||||
- $9.99 → $6.31 in ~90 minutes = **-37% from the high**
|
||||
- The close at $7.36 held above the open ($7.77) — "strong" close for a +114% day, but gave back 26%
|
||||
- **No fundamental catalyst**: Q2 revenue down 32% YoY, net loss, declining cash — this was pure momentum/squeeze, not a fundamental move
|
||||
- The 8/19 volume spike may have been **positioning by a single entity or small group** rather than broad institutional interest
|
||||
|
||||
### 7. Risk Assessment for a Pre-Open Entry
|
||||
- **Entry**: ~$4.10 (first 5-min close) to ~$5.88 (end of first 5 min)
|
||||
- **Target**: $9.99 (10:05 high) = +70% to +140% from entry
|
||||
- **Stop**: $3.40 (pre-market low) = -17% to -42% risk
|
||||
- **R:R at $4.10 entry**: 70%/17% = 4.1:1 (excellent)
|
||||
- **R:R at $5.88 entry**: 70%/42% = 1.7:1 (marginal)
|
||||
- **Risk**: Squeeze stocks can reverse 50%+ in minutes. The 10:05→10:10 fade was $9.84→$8.45 = -14% in 5 minutes.
|
||||
|
||||
### 8. Key Takeaway
|
||||
XPON was a **textbook micro-cap short squeeze setup**:
|
||||
- Tiny float + volume spike + range break + premarket gap + thin liquidity
|
||||
- The squeeze worked (191% intraday gain) but faded hard
|
||||
- The **premarket signals were strong** — a scanner would have ranked this in the top 5-10 premarket names
|
||||
- The **risk/reward was excellent** at pre-market prices but degraded fast once price ran
|
||||
- **No fundamental catalyst** = the move was purely mechanical (short covering + momentum)
|
||||
Reference in New Issue
Block a user