Complete investment analysis, portfolio construction, risk management, and trade execution methodology. Works across stocks, crypto, ETFs, bonds, and alternatives. Zero dependencies — pure agent skill.
Quick Health Check (/8)
Before any investment activity, score your current state:
Signal
✅ Healthy
❌ Fix First
Investment thesis documented
Written with edge + invalidation
"I think it'll go up"
Position sizing calculated
Kelly/fixed-fractional with max cap
"I'll put in $5K"
Stop-loss defined
Price or thesis invalidation trigger
No exit plan
Portfolio heat tracked
Total exposure known, <15%
Unknown aggregate risk
Asset correlation checked
No >40% correlated concentration
All tech / all crypto
Rebalance schedule set
Monthly or threshold-based
Never rebalanced
Tax impact considered
Harvesting losses, holding periods
Tax-blind trading
Performance tracked
Benchmarked vs buy-and-hold
"I think I'm up"
Score /8. Below 5 = fix fundamentals before any new positions.
Phase 1: Investment Thesis Development
Every position starts with a thesis. No thesis = no trade.
risk_rules:# Per-Trade Riskmax_risk_per_trade:2%# of total equitymax_risk_aggressive:3%# only with 5/5 conviction# Portfolio Heatmax_portfolio_heat:15%# total risk across all positionsmax_correlated_exposure:25%# in correlated assetsmax_single_position:10%# of total equity# Position Size Formula# Position Size = (Account × Risk%) / (Entry - Stop Loss)# Example: ($100K × 2%) / ($190 - $175) = $2,000 / $15 = 133 shares# Kelly Criterion (optional, aggressive)# f* = (bp - q) / b# b = win/loss ratio, p = win probability, q = 1-p# ALWAYS use Half-Kelly or Quarter-Kelly (full Kelly = too aggressive)
Position Size Calculator
Account Equity: $___________
Risk Per Trade: ___% (max 2%)
Dollar Risk: $___________ (equity × risk%)
Entry Price: $___________
Stop Loss Price: $___________
Risk Per Share: $___________ (entry - stop)
Position Size: ___________ shares (dollar risk / risk per share)
Position Value: $___________ (shares × entry)
Portfolio Weight: ___% (position value / equity)
CHECK: Portfolio weight < 10%? ☐ Yes ☐ No (reduce if no)
CHECK: Portfolio heat < 15%? ☐ Yes ☐ No (reduce if no)
CHECK: Correlated exposure ok? ☐ Yes ☐ No (reduce if no)
Stop-Loss Decision Tree
Is this a TREND trade?
├── YES → Trailing stop below swing low (ATR-based: 2× ATR)
│ Initial stop: Below last higher low
│ Trail: Move stop to below each new higher low
│
└── NO → Is this a CATALYST trade?
├── YES → Time-based + price stop
│ Price: Below pre-catalyst support
│ Time: Close if no move within 2 days post-catalyst
│
└── Is this a VALUE trade?
├── YES → Thesis invalidation stop
│ Price: Below bear case scenario price
│ Thesis: Close if fundamental thesis breaks
│ Time: Close if no re-rating in stated timeframe
│
└── MEAN REVERSION → Tight stop
Price: If moves further from mean (wider Z-score)
Target: Mean / fair value level
Risk Management Hard Rules
Never average down without a plan — Adding to losers kills accounts. Only add if: thesis intact AND price at predetermined add level AND total position still within limits
Cut losses fast, let winners run — Asymmetric payoff is the goal. 1:3 risk/reward minimum
No revenge trading — After a loss, wait 24 hours before next trade
Daily loss limit — Stop trading for the day after -3% account drawdown
Weekly loss limit — Reduce position sizes by 50% after -5% weekly drawdown
Monthly loss limit — Go to cash if -10% monthly drawdown. Review all positions.
Correlation check — Before every new position, check correlation to existing holdings
Black swan rule — If any asset moves >15% in 24h, review ALL positions immediately
Phase 5: Portfolio Construction
Asset Allocation Framework
portfolio:name:"Growth + Income"target_allocation:# Core (60-70% — low turnover)core:us_large_cap:25%# S&P 500 / quality growthinternational:10%# Developed marketsfixed_income:15%# Bonds / treasuriesbitcoin:10%# Digital gold thesisreal_estate:5%# REITs# Satellite (20-30% — active management)satellite:growth_stocks:15%# Individual stock pickscrypto_alts:5%# L1s, DeFithematic:5%# AI, clean energy, etc.# Cash (5-15%)cash:10%# Dry powder for opportunities# Rebalance Rulesrebalance:method:"threshold"# calendar | threshold | hybridthreshold:5%# Rebalance when drift >5% from targetcalendar_check:"monthly"# Review allocations monthlytax_aware:true# Use new contributions to rebalance first
Portfolio Models by Risk Profile
Profile
Stocks
Bonds
Crypto
Alts
Cash
Expected Return
Max Drawdown
Conservative
30%
40%
5%
10%
15%
6-8%
-15%
Balanced
50%
20%
10%
10%
10%
8-12%
-25%
Growth
60%
10%
15%
10%
5%
12-18%
-35%
Aggressive
50%
0%
30%
15%
5%
15-25%
-50%
Degen
20%
0%
50%
25%
5%
20-40%+
-70%+
Correlation Matrix Template
Track correlations between holdings. Target: no two positions with >0.7 correlation exceeding 20% combined weight.
trade:id:"T-2026-042"date_opened:"2026-02-22"date_closed:null# WHATticker:"BTC-USD"direction:"long"asset_class:"crypto"# SIZINGentry_price:98500position_size:0.15# BTCposition_value:14775portfolio_weight:"8.2%"# RISKstop_loss:93000risk_amount:825# (98500-93000) × 0.15risk_percent:"0.82%"# of portfolio# TARGETStarget_1:105000# 50% of positiontarget_2:115000# 30% of positiontarget_3:130000# 20% of position (runner)risk_reward:"1:3.8"# avg target vs risk# THESISthesis:"BTC consolidating above 200MA, halving supply reduction, ETF inflows accelerating"edge_type:"trend + structural"conviction:4# EXECUTIONentry_type:"limit"# market | limit | scaledscale_plan:null# or: [{"price": 97000, "size": "50%"}, {"price": 95000, "size": "50%"}]# RESULT (fill on close)exit_price:nullexit_reason:null# target_hit | stop_hit | thesis_invalidated | time_stop | manualpnl_dollar:nullpnl_percent:nullr_multiple:null# PnL / initial risk# REVIEWfollowed_plan:null# yes | partially | nolessons:nullmistakes:nullgrade:null# A-F
Execution Checklist (Before EVERY Trade)
Thesis documented with edge, invalidation, timeframe
Position size calculated (≤2% risk, ≤10% portfolio weight)
Stop-loss set (price + thesis + time)
At least 2 take-profit targets defined
Risk/reward ≥1:2 (preferably 1:3+)
Portfolio heat check (total risk <15%)
Correlation check (not adding to concentrated exposure)
No emotional driver (revenge, FOMO, boredom)
Checked economic calendar (no surprise events imminent)
Entry type decided (market/limit/scaled)
Order Types Decision
Situation
Order Type
Why
Strong conviction, want in now
Market
Speed over price
Good setup, not urgent
Limit at support
Better entry
High-conviction, want scale in
Scaled limits (3 levels)
Average entry, reduce timing risk
Breakout trade
Stop-limit above resistance
Only enter if breakout confirms
Catalyst trade
Limit pre-catalyst
Position before event
Phase 7: Performance Tracking
Daily Dashboard
daily_dashboard:date:"2026-02-22"# PORTFOLIO SNAPSHOTportfolio:total_equity:nulldaily_pnl:nulldaily_pnl_percent:nullweekly_pnl:nullmonthly_pnl:nullytd_pnl:null# POSITIONSopen_positions:0portfolio_heat:"0%"# sum of all position riskscash_percent:"100%"# BENCHMARKbenchmark:sp500_ytd:nullbtc_ytd:nullportfolio_vs_sp500:nullportfolio_vs_btc:null# ACTIVITYtrades_today:0alerts_triggered: []
Performance Metrics (Track Weekly)
Metric
Formula
Target
Win Rate
Winning trades / Total trades
>50%
Average R
Average R-multiple of all trades
>1.5R
Profit Factor
Gross profit / Gross loss
>2.0
Expectancy
(Win% × Avg Win) - (Loss% × Avg Loss)
Positive
Max Drawdown
Peak to trough decline
<-15%
Sharpe Ratio
(Return - RFR) / Std Dev
>1.5
Sortino Ratio
(Return - RFR) / Downside Dev
>2.0
Calmar Ratio
Annual Return / Max Drawdown
>1.0
Recovery Factor
Net Profit / Max Drawdown
>3.0
Monthly Review Template
monthly_review:month:"2026-02"# PERFORMANCEportfolio_return:nullbenchmark_return:null# vs S&P 500alpha:null# portfolio - benchmark# TRADING STATStotal_trades:0winning_trades:0losing_trades:0win_rate:nullaverage_winner:nullaverage_loser:nulllargest_winner:nulllargest_loser:nullprofit_factor:null# RISK STATSmax_drawdown:nullavg_portfolio_heat:nullrisk_rule_violations:0# BEHAVIOR ANALYSISfollowed_plan_rate:null# % of trades that followed the planemotional_trades:0# trades driven by FOMO/revenge/boredomearly_exits:0# cut winners shortlate_exits:0# held losers too long# TOP 3 LESSONSlessons:-null-null-null# ADJUSTMENTS FOR NEXT MONTHadjustments:-null
Phase 8: Market Regime Detection
Regime Framework
Regime
Characteristics
Strategy
Position Size
Bull Trend
Rising 200MA, breadth >60%, VIX <20
Trend following, buy dips
Full size
Bear Trend
Falling 200MA, breadth <40%, VIX >30
Short / inverse, raise cash
Half size
Range/Chop
Flat 200MA, breadth 40-60%
Mean reversion, sell premium
Quarter size
High Vol
VIX >35, large daily swings
Reduce exposure, hedge
Minimum size
Euphoria
VIX <12, extreme bullish sentiment
Take profits, hedge
Scale down
Panic
VIX >50, capitulation signals
Accumulate quality
Scale in slowly
Macro Checklist (Weekly)
Fed funds rate / next meeting: ___
US 10Y yield trend: ___
Dollar (DXY) trend: ___
VIX level: ___
Credit spreads: ___ (tightening/widening)
Yield curve: ___ (inverted/flat/steep)
Leading indicators: ___ (improving/declining)
Global liquidity trend: ___ (expanding/contracting)
Track: Cumulative harvested losses, offset against gains + $3K income deduction
Holding Period Optimization
Holding Period
Tax Rate (US)
Strategy
<1 year
Ordinary income (up to 37%)
Only for high-conviction short-term trades
>1 year
Long-term CG (0/15/20%)
Default for all positions when possible
>5 years (QOZ)
Reduced + deferred
Qualified Opportunity Zone investments
Tax-Efficient Account Allocation
Account Type
Best For
Why
Taxable
Long-term holds, tax-loss harvesting
Capital gains treatment
Traditional IRA/401k
Bonds, REITs, high-dividend
Defer high-tax income
Roth IRA
Highest growth potential
Tax-free growth
HSA
Aggressive growth
Triple tax advantage
Phase 11: Screening & Idea Generation
Stock Screener Criteria Templates
Value Screen:
P/E < sector median
P/B < 1.5
Debt/Equity < 0.5
ROE > 12%
FCF positive 5 consecutive years
Insider buying last 90 days
Growth Screen:
Revenue growth > 20% YoY
EPS growth > 15% YoY
Gross margin > 50%
Net retention > 110% (SaaS)
TAM > $10B
Dividend Screen:
Dividend yield > 3%
Payout ratio < 60%
Dividend growth > 5% CAGR (5Y)
Consecutive increases > 10 years
Debt/EBITDA < 3
Crypto Screen:
Market cap > $1B (avoid micro-caps)
Daily volume > $50M
Active development (GitHub commits)
Not >90% held by top 10 wallets
Clear revenue model or adoption metrics
Research Sources (No API Required)
Source
URL
Best For
Yahoo Finance
finance.yahoo.com
Fundamentals, quotes
Finviz
finviz.com
Screening, heatmaps
Macrotrends
macrotrends.net
Historical financials
CoinGecko
coingecko.com
Crypto data
DeFiLlama
defillama.com
DeFi TVL, yields
FRED
fred.stlouisfed.org
Macro data
TradingView
tradingview.com
Charts, technicals
SEC EDGAR
sec.gov/edgar
Filings, insider trades
Glassnode
glassnode.com
On-chain data
Fear & Greed
alternative.me
Crypto sentiment
Phase 12: Advanced Strategies
Options Basics (for hedging)
Strategy
When
Risk
Reward
Protective Put
Own stock, want downside protection
Premium paid
Unlimited upside, limited downside
Covered Call
Own stock, willing to cap upside
Capped gains
Premium income
Cash-Secured Put
Want to buy at lower price
Must buy at strike
Premium + lower entry
Collar
Want protection, willing to cap upside
Capped both ways
Low/no cost protection
DCA (Dollar Cost Averaging) Framework
dca_plan:asset:"BTC"frequency:"weekly"# daily | weekly | biweekly | monthlyamount:250# per purchaseday:"Monday"# specific dayduration:"indefinite"# or end date# SMART DCA (optional — buy more when cheap)smart_dca:enabled:truebase_amount:250multiplier_rules:-condition:"price < 200MA"multiplier:1.5# buy 50% more-condition:"RSI < 30"multiplier:2.0# double buy-condition:"price > 200MA × 1.5"multiplier:0.5# buy less in euphoria
Rebalancing Decision Tree
Is any allocation >5% from target?
├── NO → No action needed. Check again next month.
│
└── YES → Is it a tax-advantaged account?
├── YES → Rebalance by selling overweight, buying underweight
│
└── NO (taxable) → Can you rebalance with new contributions?
├── YES → Direct new money to underweight positions
│
└── NO → Are there tax losses to harvest?
├── YES → Sell losers (harvest), redirect to underweight
│
└── NO → Is the drift >10%?
├── YES → Rebalance (accept tax hit for risk control)
└── NO → Wait for next contribution or year-end