Lesson Learned #046: Tax-Aware Trading Mandate

ID: LL-046 Impact: Identified through automated analysis

Date: December 15, 2025 Severity: HIGH Category: Tax Strategy, Trading Philosophy, Risk Management Mandated By: CEO


Executive Summary

“Taxes and options trading are two sides of the same coin.” - CEO

Tax awareness must be integrated into EVERY trading decision, not treated as an afterthought at year-end.

The Philosophy

GROSS PROFIT ≠ YOUR PROFIT

Your Real Profit = Gross Profit - Taxes - Fees

A 75% win rate means nothing if you're giving 37% to taxes.

Why This Matters

The Math That Changes Everything

Scenario Gross Profit Tax Rate After-Tax Profit
Short-term trade $1,000 37% $630
Long-term trade $1,000 20% $800
Roth IRA trade $1,000 0% $1,000

Same $1,000 profit, but you keep $370 more in a Roth IRA vs taxable short-term!

The Wash Sale Trap

If you sell at a loss and repurchase within 30 days:

  • ❌ Loss is DISALLOWED for tax purposes
  • ❌ You still lost money but can’t deduct it
  • ❌ Loss gets added to cost basis (deferred, not eliminated)

This system now tracks wash sales automatically.

Tax-Aware Trading Rules

Rule 1: Consider Holding Period BEFORE Entering

# BEFORE: Just look at profit potential
if expected_profit > min_threshold:
    execute_trade()

# AFTER: Consider after-tax profit
after_tax_profit = expected_profit * (1 - tax_rate)
if after_tax_profit > min_threshold:
    execute_trade()

Rule 2: Prefer Long-Term When Possible

Strategy Typical Holding Tax Treatment
Options (selling puts) 30-45 days Short-term (37%)
Assigned shares Hold >1 year Long-term (20%)
ETFs (SPY, QQQ) Hold >1 year Long-term (20%)

When assigned shares, consider holding for long-term treatment.

Rule 3: Harvest Losses Strategically

Before year-end (December):

  1. Review all positions for unrealized losses
  2. Sell losing positions to realize losses
  3. Use losses to offset gains (up to $3,000 vs ordinary income)
  4. Wait 31 days before repurchasing (wash sale rule)

Rule 4: Track Cost Basis Meticulously

For options:

  • Selling puts: Premium received = reduces cost basis if assigned
  • Buying back: Difference = capital gain/loss
  • Assignment: Strike price - premium = cost basis of shares

Rule 5: Use Tax-Advantaged Accounts

Account Type Tax Treatment Best For
Roth IRA $0 tax on gains High-growth strategies
Traditional IRA Tax-deferred Income-generating strategies
Taxable Taxed annually Flexibility, no limits

Consider moving options trading to Roth IRA if broker allows.

Integration Into Trading System

Pre-Trade Tax Check

def pre_trade_tax_check(trade):
    """Run BEFORE every trade."""

    # Check wash sale blacklist
    if trade.symbol in wash_sale_blacklist:
        if days_since_loss < 30:
            return BLOCK, "Wash sale risk"

    # Calculate after-tax expected profit
    gross_profit = trade.expected_profit
    tax_rate = get_tax_rate(trade.holding_period)
    after_tax = gross_profit * (1 - tax_rate)

    # Log tax impact
    log(f"Gross: ${gross_profit}, After-tax: ${after_tax}")

    return ALLOW, after_tax

Post-Trade Tax Update

def post_trade_tax_update(trade):
    """Run AFTER every trade."""

    if trade.realized_loss:
        # Add to wash sale blacklist
        wash_sale_blacklist.add(
            symbol=trade.symbol,
            loss_date=today,
            safe_after=today + 30 days
        )

        # Track for tax-loss harvesting
        ytd_losses += trade.loss

    # Update estimated tax liability
    update_estimated_taxes()

Quarterly Tax Calendar

Date Action
Jan 15 Q4 estimated payment due
Apr 15 Q1 estimated payment + tax return due
Jun 15 Q2 estimated payment due
Sep 15 Q3 estimated payment due
Dec 15 Review for tax-loss harvesting
Dec 31 Last day for tax-loss harvesting

System Configuration Added

# config/portfolio_allocation.yaml
tax_strategy:
  enabled: true
  rates:
    combined_short_term: 0.37
    combined_long_term: 0.20
  wash_sale_tracking:
    enabled: true
    window_days: 30
  tax_loss_harvesting:
    enabled: true
    harvest_before: "2025-12-31"

The Tax-Aware Mindset

BEFORE making any trade, ask:

  1. ✅ What’s my AFTER-TAX expected profit?
  2. ✅ Is this symbol on the wash sale blacklist?
  3. ✅ Could I hold this longer for better tax treatment?
  4. ✅ Should this trade be in a tax-advantaged account?
  5. ✅ Does this trade create a wash sale with recent losses?

Key Metrics to Track

Metric Target Current
Tax efficiency ratio >70% 63%
Wash sale violations 0 0
Long-term vs short-term >30% long 0% (all short)
Tax-loss harvested YTD Max $3,000 $1.28

The Bottom Line

“A dollar saved in taxes is a dollar earned.”

Every 1% reduction in effective tax rate on $10,000 profit = $100 more in your pocket.

Tax-aware trading is not optional. It’s part of the strategy.

Tags

tax, options, wash_sale, capital_gains, tax_loss_harvesting, mandate

  • LL_044: Documentation Hygiene Mandate
  • LL_045: Verification Systems
  • LL_020: Options Primary Strategy