Status: Capstone playbook — consolidates the vibe-dashboard project into one
actionable, philosophy-aligned operating document.
Source of truth: real data in /workspace/vibe-dashboard/data/ and the docs
under docs/, analysis/, recommendations/, refresh/, alert/, schedule/.
Nature: Read-only planning aid. No orders are placed by this project. Not tax
or investment advice — confirm with a qualified tax professional before executing.
**Label: *inferred* from positions, realized behavior, and the structures the
account actually holds — not a stated mandate.** Read it as the operating thesis
the data implies, and revisit it whenever it stops matching reality.
The book behaves as if it is run on four convictions:
option sleeves are dominated by a small number of strongly-held names:
HOOD (largest single winner, +$82.7k LT), TSLA (largest option delta), NVDA,
AMZN, NBIS, GOOGL. This is a conviction portfolio, not a diversified one —
the user accepts single-name concentration in exchange for outsized upside.
paired long+short structures (LEAPs collared by short calls / same-expiry
verticals) on long 2027-01-15 and 2028-01-21 expiries — a deliberate choice to
express a view while capping catastrophic downside. UUUU (net long) and TSLL
(net short) are the one-sided wings.
from the tax code — it holds high unrealized gains but is disciplined about
banking short-term and long-term losses (CRWV, TSLL) to offset those gains 1:1,
and about the wash-sale rules that could silently void a harvest.
NBIS +170%, NVDA +98%. The user defers gain recognition and only trims at
laddered targets (15% first rung, +40% next rung) rather than cashing out.
Why the numbers matter: this is a tax extreme-sports account. The single
biggest lever on after-tax returns is *not* picking winners — it is deciding
what gain to realize, when, and covered by what loss.
Data-driven (lot-based) snapshot, 2026-08-21 close equity prices, options peroptions_exposure.json:
| Sleeve | Value | Notes |
|---|---|---|
| Equity (lot-based) | ~$286.7k | concentration.json equity total $286,680.65. (Live-mark estimate in the brief is higher at ~$402k; lot-based book is the conservative, internally-consistent figure.) |
| Options | ~$105k | 22 contracts, ~$16.6M gross notional, 8 underlyings. Mostly long LEAP pairs. |
| Crypto | ~$17k | ~$16.9k per the portfolio brief. |
| Cash / buying power | ~$1.5k / ~$862k | Dry powder is largely un-deployed. |
Concentration (combined equity + option delta, % of real exposure):
| Name | Combined % | Reading |
|---|---|---|
| HOOD | ~32.2% (equity-only; no options) | Largest single name. All gain, all long-term. |
| TSLA | ~21.8% (largely via net-long options, +200 delta shares) | ~$72.6k delta notional. True upside expressway. |
| TSLL | ~16.9% equity (2x TSLA ETF) minus a net-short option wing | ~$58.7k of equity exposure to a 2x ETF. |
Together HOOD + TSLA + TSLL ≈ ~71% of real exposure to three correlated ideas
(brokerage/crypto, and TSLA twice). This is the concentration to be honest about:
it is the source of the gains *and* the source of the risk.
Realized PnL window (data/realized_pnl_history.json, 3-month window to
2026-08-24): total −$1,723.66 across 92 trades, by month:
Historic long-run realized +$70,260 (2024 +$67.8k, 2025 +$570, 2026 +$1.9k):
2024 already banked large gains, so this year's realized losses are the offset fuel.
The account's edge is converting unrealized losses into a dollar-for-dollar
shield on gains, executed on a clean path with strict wash-sale discipline.
| Ticker | Harvestable loss | Term | Wash-sale re-entry window |
|---|---|---|---|
| CRWV | ~$5,753 ST | 100% short-term (all 6 lots) | cleanest — no CRWV buy in prior 30d; stay out until 2026-09-23 |
| TSLL | ~$9,108 | −$960 ST + −$8,148 LT (sell *only* the losing lots) | binding — leveraged 2x TSLA ETF; do not rebuy TSLL (or a "substantially identical" proxy) in the 30-day window |
| UI / VG / TSLA / SPCX / TTWO | ~$70 combined | immaterial | do not harvest — not worth friction or wash risk |
Total harvestable ≈ ~$14.9k (CRWV −5,753 + TSLL −9,108).
owes $0 tax.
NBIS's ~$11.5k ST gain); LT losses offset LT gains (TSLL's LT loss offsets HOOD's
LT gain). Prioritize the ST loss — ST gains would otherwise be taxed at ordinary
rates.
losses makes the covered gains tax-free. Up to $3k/yr of unused loss
reduces ordinary income (≈ $720–$960 at a ~24–32% rate).
*before* or *after*).
wash_sale_risk.json). voiding the biggest lot. A leveraged ETF with TSLA exposure is NOT substantially
identical to plain TSLA equity; if you must keep the view, use a *clearly
different* security (e.g. TSLA directly) and confirm the nuance with an advisor.
the same tax year.**
data/realized_pnl_history.json is the dashboard's audit trail of realized
gains/losses month over month (above), and realized_pnl_view.html renders it.
Use it to confirm a harvest actually landed before re-entering.
options_exposure.json / concentration.json)| Underlying | Net contracts | ~Delta shares | Side | Read |
|---|---|---|---|---|
| TSLA | +2 | +200 | net long | unpaired deep-ITM LEAPs carry genuine upside (~$72.6k delta notional) |
| UUUU | +3 | +300 | net long | pure long call/LEAP book; 2026-10-16 leg expires soonest on the sheet |
| AMZN | −1 | −100 | net short | 12×12 paired LEAPs are flat; the extra naked short at 2027-01-15 rides as a cap (~$25.9k short delta) |
| TSLL | −2 | −200 | net short | two naked short calls, pure premium collection with uncapped upside risk |
| NVDA / GOOGL / INTU / NBIS | 0 | 0 | flat | fully paired same-expiry verticals/synthetics |
The dominant pattern is a long LEAP collar / same-expiry vertical: pay premium
on a deep-ITM long call, collect premium on a short call, cap the upside, cushion
the downside, all inside one expiration. This is how the account goes *long big
names at defined risk*. Manage each pair as one unit — closing only the short
leg of a pair and leaving the long to run risks early assignment into naked short
stock.
mark-to-market.
characterized short-term or long-term purely by holding period (open
≤ 1 yr = ST, > 1 yr = LT).
AMZN 12×12) clearly qualify if held through expiry; NVDA long crosses LTCG on
2026-12-09 and NBIS long already is LTCG-eligible.
short-term treatment (nets at ordinary rates with no LTCG benefit).
want LTCG on — time any loss-harvest so it does not straddle the paired long's
LTCG eligibility.
A repeatable weekly cadence (plus a daily check). Run from inside/workspace/vibe-dashboard/. All read-only.
```bash
# refresh uses the workspace venv + LD_LIBRARY_PATH (set by run_tax_snapshot.sh)
/workspace/.vibetrading-venv/bin/python /workspace/vibe-dashboard/refresh/refresh_data.py
/workspace/.vibetrading-venv/bin/python /workspace/vibe-dashboard/refresh/update_prices.py
```
Re-pulls per-lot tax lots, option positions, and live equity/option quotes
into data/. (update_prices.py already calls get_option_quotes and writes
both live_prices.json and prices.json.)
```bash
/workspace/.vibetrading-venv/bin/python /workspace/vibe-dashboard/refresh/validate.py
```
Prints VALID + totals; exit 0 = OK.
```bash
/workspace/vibe-dashboard/run_tax_snapshot.sh
```
Writes data/snapshots/<TS>.md, rebuilds INDEX, prunes > 90 days. Idempotent.
```bash
/workspace/.vibetrading-venv/bin/python /workspace/vibe-dashboard/alert/check_alerts.py
```
Flags > ±8% moves, profit-target overshoots (+40%), and **wash-sale
'safe to re-enter'** dates. No log spam (only appends when something triggers).
- recommendations/harvest_trade_list.csv — the exact lots to sell.
- recommendations/equity_harvest_plan.md — CRWV + TSLL losing lots.
- recommendations/profit_taking_ladder.md — HOOD/NBIS/AMZN/VG/NVDA trim rungs.
- data/wash_sale_risk.json — current re-entry windows.
by harvested losses this year? Only then consider a same-year trim.
The schedule/ daemon captures a snapshot automatically (default once daily):
```bash
/workspace/vibe-dashboard/schedule/status_schedule.sh # check running
/workspace/vibe-dashboard/schedule/stop_schedule.sh # pause
/workspace/vibe-dashboard/schedule/start_schedule.sh # (re)start
```
Golden rule that unifies the rhythm: *Never realize a gain you cannot
shield.* Every trim is only worth doing in a year where the equivalent loss has
already been banked — and neither CRWV nor TSLL may be re-bought inside its
30-day wash window.
Concrete, ordered by impact-to-effort, all building on what already exists:
alert/check_alerts.py into the daily daemon (or a Hermes cron). check_alerts.py already emits wash-sale re-entry, >8% move, and profit-target
alerts to data/alerts.log and exits 0 (safe for schedulers). Wire it into
schedule/daemon.py after each snapshot, or register it as a Hermes cron, so
re-entry windows are caught without manual runs. Add an email/push notify when
an alert line lands.
dashboard.html. The data for concentration.json, realized_pnl_history.json, options_exposure.json,
wash_sale_risk.json, and profit_targets.json all exists but is only shown
in index.html/realized_pnl_view.html. Add panels for combined concentration,
wash-sale re-entry dates, and realized-PnL by month to the main dashboard.
check_alerts.py and wash_sale_risk.json already compute re-entry dates; surface a green/red banner
per harvested ticker ("SAFE to re-enter 2026-09-23" vs "WASH — do not rebuy") in
the dashboard so the #1 way to break the plan (a greedy re-entry) is optically
obvious.
update_prices.py already fetches get_option_quotes into live_prices.json['options']; wire that into the
dashboard to show current mark-to-market on the ~$105k options book instead of
entry-premium cost only.
alerts.log entries to a push destination (Telegram/email/webhook) so a break of a
position or a wash-window crossing notifies the user without opening the box.
an explicit "as-of" note across dashboard/HTML/docs so stale figures are never
mistaken for live marks, and a quick "run refresh → validate → snapshot" smoke
check for a new operator.
data/equity_tax_lots.json, options_data.json, live_prices.json, concentration.json, options_exposure.json, wash_sale_risk.json,
profit_targets.json, realized_pnl_history.json, PORTFOLIO_BRIEF.md.
analysis/position_theses.md, analysis/wash_sale_tracker.md, analysis/options_exposure.md, analysis/concentration_risk.md.
recommendations/equity_harvest_plan.md, recommendations/options_strategy.md, recommendations/profit_taking_ladder.md,
recommendations/harvest_trade_list.{md,csv}.
refresh/refresh_data.py, refresh/update_prices.py, refresh/validate.py, alert/check_alerts.py, run_tax_snapshot.sh,
tax_snapshot.py, schedule/{daemon.py,start,stop,status}.sh.
dashboard.html, index.html, realized_pnl_view.html — served at https://tax.raj-trades.bhaiya.keiretsu.top and http://127.0.0.1:8899.
docs/README.md, docs/TAX_METHODOLOGY.md, docs/ROBINHOOD_MCP_DATA.md.*This playbook is a consolidation of a read-only tax-optimization project for a
single brokerage account. It is informational only — not tax, investment, or
financial advice, and no orders are ever placed by this project. Tax rules
(wash-sale, holding periods, the $3k offset cap, state taxes, NIIT) are complex and
changing; verify every lot, price, and holding period against your broker's
year-end statement and a licensed tax professional before executing.*