# Portfolio Opportunity Cost Rules

## Core Principle

The portfolio review must not become a holding-defense exercise.

Current holdings matter, but every position competes daily against the best available opportunity set across the US market.

Tax matters, but tax avoidance is not the goal. The goal is after-tax compounding.

## Required Portfolio Inputs

Use `/Users/jangbogeun/Documents/Codex/2026-06-06/2/outputs/portfolio_positions_template.csv` when the user provides current positions.
Use `/Users/jangbogeun/Documents/Codex/2026-06-06/2/outputs/tax_lots_template.csv` if the user provides realized/unrealized gain details by lot.
Use `/Users/jangbogeun/Documents/Codex/2026-06-06/2/outputs/tax_aware_growth_strategy.md` for tax-aware replacement decisions.
Use `/Users/jangbogeun/Documents/Codex/2026-06-06/2/outputs/liquidity_and_rotation_opportunity_cost_rules.md` for cash timing, settlement delay, forced-sale, and SOXL/SOXS funding decisions.
Use `/Users/jangbogeun/Documents/Codex/2026-06-06/2/outputs/position_count_and_focus_rules.md` for live position count caps and consolidation decisions.

Minimum useful fields:

- Account: main or sub.
- Ticker.
- Quantity.
- Average cost.
- Current price.
- Market value or portfolio weight.
- Thesis.
- Invalidation condition.

## Required Review Output

Every portfolio review should include:

1. Holding dashboard: ticker, account, weight, average cost, current price, unrealized P/L, thesis status.
2. Concentration map: sector/theme/factor exposure, especially semiconductors, AI, space, defense, high beta, and leverage.
3. Opportunity-cost score: compare each holding against alternative opportunities.
4. Expected upside bands: 0-3%, 3-7%, 7-15%, 15%+.
5. Risk-adjusted upside: expected upside after volatility, liquidity, gap risk, catalyst quality, and invalidation distance.
6. Rotation recommendation: Keep, Add, Trim, Sell, Replace, or Wait.
7. Capital destination: if selling or trimming, where that capital should wait or rotate.
8. Tax drag: estimated tax friction if a gain is realized, and whether the replacement opportunity justifies it.
9. Liquidity and timing drag: whether capital is usable immediately, T+1, T+2, or unknown.
10. Funding-source cost: if a new trade requires selling an underwater holding, compare the locked loss, missed rebound risk, and new trade window.
11. Position count status: whether the account is focused, full, over limit, or requires cleanup.
12. Replacement requirement: if there are already 5 live positions, any new buy must identify the position it replaces.

## Opportunity Cost Rule

If the market regime is favorable and one candidate has a credible 15% upside while another has only 3% upside, prefer the 15% candidate unless:

- The 15% candidate has poor liquidity, extreme gap risk, weak catalyst quality, or unclear invalidation.
- The position would overconcentrate the account in the same factor.
- The current holding has a near-term catalyst with better risk-adjusted upside than raw upside suggests.
- Taxes, fees, settlement, or forced cash timing make immediate rotation inefficient after comparing after-tax opportunity value.
- Adding the new candidate would push the live portfolio above 5 positions without replacing a weaker holding.

For Korean US-stock taxation, assume a 2,500,000 KRW annual basic deduction and roughly 22% tax on taxable overseas stock gains unless updated. This tax drag should be included in the calculation, but it should not veto a clearly superior after-tax opportunity.

## Non-Held Opportunity Rule

The agent must actively scan non-held names. A stock not currently in the account can outrank a current holding if its expected upside, catalyst quality, and risk-adjusted entry are clearly better.

If the account already has 5 live positions, a non-held opportunity can only become actionable as `REPLACE CANDIDATE` or `STAGED ENTRY AFTER EXIT`.

Use these labels:

- `FAST BUY REVIEW`: immediate buy review is justified.
- `STAGED ENTRY`: initial small entry is preferred over full-size entry.
- `WAIT FOR RESET`: strong setup, but current entry is too extended.
- `WATCHLIST ONLY`: interesting but not actionable.
- `AVOID CHASE`: upside is already consumed or invalidation is unclear.
- `REPLACE CANDIDATE`: a current holding may be a weaker use of capital.

Reference:

- `/Users/jangbogeun/Documents/Codex/2026-06-06/2/outputs/new_opportunity_fast_buy_rules.md`

## Ranking Formula

Rank candidates by:

`opportunity_score = expected_upside_quality - downside_risk - liquidity_penalty - correlation_penalty - event_uncertainty`

For taxable replacement decisions:

`after_tax_opportunity_score = opportunity_score - estimated_tax_drag - transaction_cost - execution_risk`

For urgent rotations:

`net_rotation_edge = new_trade_expected_edge - sold_holding_rebound_edge - settlement_delay_cost - tax_drag - spread_slippage_fx_cost - fatigue_cost`

Use qualitative scores if exact data is unavailable:

- `A`: superior use of capital now.
- `B`: good hold or add if trigger confirms.
- `C`: acceptable but opportunity cost is rising.
- `D`: replace candidate.
- `F`: broken thesis or unacceptable risk.

Urgent rotation labels:

- `CLEAR ROTATION`: superior opportunity remains superior after cash delay and funding cost.
- `STAGED ROTATION`: partial sale creates optionality without fully abandoning rebound exposure.
- `CASH OPTION ONLY`: prepare cash, but do not enter yet.
- `DO NOT FORCE SALE`: do not sell an underwater position only to chase the new trade.
- `WAIT FOR CASH`: setup is good, but broker cash timing prevents clean entry.
- `MISSED WINDOW`: the opportunity moved too far before cash became available.

## Required Warnings

- Do not anchor to average cost.
- Do not keep a position only because it is down.
- Do not sell a high-quality setup only because it is temporarily red.
- Do not chase a 15% upside candidate if the invalidation level is undefined.
- Do not ignore a superior non-held setup just because current holdings are emotionally familiar.
- Do not fast-buy a new ticker unless entry trigger, chase limit, invalidation, and size are defined.
- In high-volatility markets, smaller position size can beat a theoretically higher upside.
- Do not let tax avoidance trap capital in a broken or low-upside setup.
- Do not ignore the opportunity cost of settlement delay, FX timing, or broker cash availability.
- Do not sell an underwater but rebound-ready holding to fund `SOXS`/`SOXL` unless the new trade still wins after delay, slippage, locked loss, and missed rebound risk.
- Do not allow the live portfolio to drift above 5 meaningful positions.
- Do not open a 6th position just because the idea is interesting. It must replace a weaker slot.
