Skip to content

Crypto & Investing — Zero to Hero

Investment Coach Agents Stage

Guide Info

Read time: ~60 min
Hands-on: /invest analyze <ticker>
Difficulty: Beginner

A complete guide to running a personal AI investment coach on your own homelab. Covers the 10-agent analysis pipeline, finance stack integration (Ghostfolio, Firefly III, OpenBB, Freqtrade), learning progression (Foundation → Growth → Advanced), notification schedules, and a walkthrough of the first real analysis the coach produced.

Who This Is For

Beginners who want to grow their money but want to actually learn what they're doing. No finance background required. The coach explains every metric and only unlocks advanced instruments once you can explain why past recommendations were made.

AI-Assisted First Analysis — Copy this prompt to your AI

Want an AI (ChatGPT, Claude, Gemini, etc.) to walk you through running your first Investment Coach analysis? Copy-paste the prompt below and replace the placeholders with your values.

I want to run my first Investment Coach analysis on my homelab.

My setup:
- Homelab services running: <LIST — Ghostfolio? Firefly III? OpenBB? Freqtrade?>
- API keys I have: <LIST — Alpha Vantage? Finnhub? YouTube?>
- Discord webhook set up: <YES/NO>
- Current learning stage: <foundation/growth/advanced>
- Investable cash this month: $<YOUR_AMOUNT>
- Tickers I'm curious about: <LIST>

Follow this guide exactly:
https://docs.example.homelab/guides/crypto-investing/

Help me:
1. Verify my .env has all required keys
2. Confirm Discord webhooks are routing correctly
3. Pick an appropriate first ticker for my stage (ETF if Foundation)
4. Walk through what each of the 10 agents produces
5. Interpret the final rating and action items
6. Set up the morning pulse and weekly report cron schedules

Reading Order

  1. 01-overview
  2. 02-getting-started
  3. 03-agent-pipeline
  4. 04-finance-stack
  5. 05-learning-progression
  6. 06-notifications
  7. 07-vti-analysis
  8. 08-resources

What Is the Investment Coach?

The Investment Coach is a Claude Code skill (/invest) that combines a 10-agent analysis pipeline with personalized education. Every recommendation comes with a "Here's why" and "What to watch for" — no black-box decisions, no guru signals, no mystery.

You get a multi-perspective debate (bull vs bear, aggressive vs conservative) before any buy/sell rating, grounded in real market data from Alpha Vantage, Finnhub, YouTube trends, Reddit sentiment, and your actual portfolio context from Ghostfolio and Firefly III.

Who Is This For?

Beginners who want to grow their money but don't know where to start — and want to actually learn what they're doing along the way. No finance background required. No jargon without translation. The coach calibrates its language to your current stage and only unlocks more advanced instruments once you can explain why past recommendations were made.

Real-World Problems This Solves

Problems the Investment Coach addresses

  • "I have savings but I'm scared to invest because I don't understand what I'm buying." The education layer explains every metric and indicator used — by the time you've reviewed 15 analyses, you understand the fundamentals.
  • "YouTube finance gurus contradict each other." The 10-agent pipeline runs bull AND bear cases in parallel, then a judge picks a direction with explicit reasoning.
  • "I don't know if I'm overexposed to one stock." The coach pulls your real Ghostfolio holdings into every analysis — "You already hold 23% AAPL, adding more increases concentration risk."
  • "I want to track whether my decisions were right." Every analysis is stored in Memory MCP and revisited 3 days later, weekly, and monthly to check prediction accuracy.

What You Get

Capability Before After
Investment decisions "I think NVDA is going up?" 10-agent debate with explicit bull/bear cases and a rated outcome
Portfolio awareness Spreadsheet you check twice a year Real-time Ghostfolio context in every analysis
Learning YouTube videos that never stick Every analysis teaches 1-2 concepts grounded in what you just bought
Accountability No feedback loop 3-day / weekly / monthly reflections compare predictions to reality

Design Principles

  1. Every recommendation comes with a "Why" — the thesis is always explained in plain language
  2. No black-box decisions — you learn while growing your money
  3. Start conservative — ETFs only in Foundation stage, advanced instruments unlock with knowledge
  4. Multi-perspective debate — bull, bear, aggressive, conservative, neutral — forces the coach to see blind spots
  5. Reflection over prediction — "We said X — here's what actually happened" matters more than the initial call
TL;DR

The Investment Coach is a Claude Code skill that runs a 10-agent pipeline (market analyst, news, sentiment, fundamentals, bull, bear, research manager, trader, risk panel, portfolio manager) for every ticker you analyze. It integrates with your Ghostfolio/Firefly III portfolio, explains every concept it uses, and tracks its own accuracy over time. Foundation stage locks you to ETFs until you prove you understand why.


Core Investing Concepts

Before the Investment Coach makes any recommendation, you should understand the language it uses. This is the Foundation stage curriculum — the minimum vocabulary to make sense of your first analysis.

Index Funds & ETFs

An ETF (Exchange-Traded Fund) is a basket of stocks you buy as a single ticker. Instead of picking individual companies, you own a slice of hundreds or thousands at once.

ETF What It Tracks Why It Matters
VTI Entire US stock market (~4,000 stocks) Maximum diversification in one ticker
VOO S&P 500 (top 500 US companies) The benchmark — "the market"
QQQ Nasdaq-100 (tech-heavy) Higher growth potential, higher volatility

Starting recommendation

VTI is the default Foundation-stage recommendation. It's the broadest diversification you can get in a single purchase — a 0.03% expense ratio means almost none of your returns are eaten by fees.

P/E Ratio (Price-to-Earnings)

The P/E ratio tells you how much investors pay for each dollar of a company's earnings.

P/E = Share Price ÷ Earnings Per Share
P/E Range What It Suggests
< 15 Potentially undervalued (or slow growth)
15–25 Fair value for most companies
> 25 Investors expect high future growth (or it's overpriced)

P/E alone doesn't tell the full story

A high P/E might mean the company is overpriced — or that the market expects massive growth (like NVDA during the AI boom). Always combine with other indicators. The coach never relies on one number.

RSI (Relative Strength Index)

RSI measures whether a stock has been bought or sold too aggressively in the short term. It ranges from 0 to 100.

RSI Range Signal
> 70 Overbought — price may have run up too fast, pullback possible
30–70 Neutral zone
< 30 Oversold — price may have dropped too far, bounce possible

RSI doesn't predict the future — it flags when momentum is stretched. The Investment Coach uses RSI alongside seven other technical indicators (SMA, EMA, MACD, Bollinger Bands, ATR, VWMA, MFI).

Dollar-Cost Averaging (DCA)

Instead of investing a lump sum all at once, DCA means investing a fixed amount on a regular schedule.

Why it works:

  • When prices are high, your money buys fewer shares
  • When prices are low, your money buys more shares
  • Over time, your average cost smooths out and you never catch the top

This is exactly what the Investment Coach recommends in Foundation stage — "30% tranche now, scale in over 60–90 days" is a DCA approach that manages entry-timing risk while still getting you exposure.

Diversification

Don't put all your eggs in one basket. Diversification means spreading money across:

  • Multiple stocks — if one company fails, others cushion the blow
  • Multiple sectors — tech, healthcare, energy don't all move together
  • Multiple asset types — stocks, bonds, cash

Why VTI is already diversified

Buying VTI gives you ~4,000 stocks across every sector. One ticker, instant diversification. That's why it's the Foundation stage default.

Risk vs. Return

Higher potential returns always come with higher risk. There are no exceptions.

graph LR
    A["Savings Account<br/>~4% return<br/>Near-zero risk"] --> B["Bond ETFs<br/>~5-7% return<br/>Low risk"]
    B --> C["Index ETFs (VTI)<br/>~8-12% return<br/>Moderate risk"]
    C --> D["Individual Stocks<br/>Variable return<br/>High risk"]
    D --> E["Options/Crypto<br/>Extreme return potential<br/>Very high risk"]

The Foundation stage locks you to ETFs specifically because of this — you learn the fundamentals with moderate risk before taking on more.

Foundation Stage Rules

  1. Only buy ETFs — VTI, VOO, or QQQ
  2. Never invest money you can't afford to lose — bills and emergency fund come first
  3. Use dollar-cost averaging — don't try to time the market
  4. Check your portfolio weekly, not daily — daily price swings are noise
  5. Read every analysis the coach gives you — the education layer is the whole point
TL;DR

Foundation stage uses six core concepts: ETFs (diversification in one ticker), P/E ratio (how expensive earnings are), RSI (is momentum stretched), dollar-cost averaging (spread purchases over time), diversification (don't concentrate risk), and risk/return (higher potential always means higher downside). Learn these first — every analysis will reference them.


The 10-Agent Pipeline

Every /invest analyze <ticker> runs the same pipeline: 10 specialized Claude subagents across 4 phases. The design is adapted from TauricResearch/TradingAgents but rebuilt around Claude Code primitives (subagents, Memory MCP, MCP tool use).

graph TD
    A["/invest analyze VTI"] --> B["Phase 1: Data Gathering (parallel)"]
    B --> B1["1. Market Analyst"]
    B --> B2["2. News Analyst"]
    B --> B3["3. Sentiment Analyst"]
    B --> B4["4. Fundamentals Analyst"]
    B1 & B2 & B3 & B4 --> C["Phase 2: Investment Debate (sequential)"]
    C --> C1["5. Bull Researcher"]
    C --> C2["6. Bear Researcher"]
    C1 & C2 --> C3["7. Research Manager"]
    C3 --> D["Phase 3: Trade Proposal"]
    D --> D1["8. Trader"]
    D1 --> E["Phase 4: Risk Assessment"]
    E --> E1["9. Risk Panel (3-way debate)"]
    E1 --> E2["10. Portfolio Manager"]
    E2 --> F["Educational Layer"]
    F --> G["Discord + Memory MCP"]

Phase 1 — Data Gathering (Parallel)

Four analysts run simultaneously, each with their own tool access. Parallelism cuts wall-clock time roughly 4×.

# Agent Role Data Sources
1 Market Analyst OHLCV prices, technical indicators (SMA, EMA, MACD, RSI, Bollinger, ATR, VWMA, MFI) Alpha Vantage, Finnhub, Finviz via crawl4ai
2 News Analyst Breaking news, macro events, earnings surprises, insider transactions WebSearch, crawl4ai, Playwright
3 Sentiment Analyst Social buzz, retail attention, hype detection YouTube Data API v3, Google Trends, Reddit (via WebSearch + crawl4ai), Finnhub social
4 Fundamentals Analyst P/E, revenue, margins, balance sheet, cash flow, dividend history Alpha Vantage, Finnhub, Yahoo Finance via crawl4ai

Phase 2 — Investment Debate (Sequential)

The four analyst reports feed a three-way debate.

# Agent Role Input
5 Bull Researcher Build the strongest possible case FOR investing All 4 analyst reports + Memory MCP past reflections
6 Bear Researcher Build the strongest possible case AGAINST investing All 4 analyst reports + Memory MCP past reflections
7 Research Manager Judge the debate and pick a direction with explicit reasoning Bull + Bear arguments

Why separate bull and bear agents?

A single agent asked "is this a good buy?" tends to rationalize either direction. Forcing separate agents to each build the strongest case for their side, then a third to judge, consistently surfaces weaknesses a single analyst would miss.

Phase 3 — Trade Proposal

# Agent Role Input
8 Trader Concrete entry price, exit targets, position sizing Research Manager's thesis + portfolio context

The Trader turns the thesis into actionable numbers: "30% tranche at market, scale the remaining 70% over 60-90 days via DCA, stop-loss at -12%."

Phase 4 — Risk Assessment (3-Way Debate)

# Agent Role Input
9 Risk Panel Three perspectives — Aggressive, Conservative, Neutral — argue the Trader's proposal Trader proposal + all prior reports
10 Portfolio Manager Final Buy / Overweight / Hold / Underweight / Sell decision Everything above + your Ghostfolio holdings

The Portfolio Manager is the only agent that sees your actual portfolio. Its rating factors in concentration risk, sector exposure, and available cash from Firefly III.

Post-Pipeline — Educational Layer

Not a separate agent — a post-processing pass over the Portfolio Manager's output that:

  • Translates thesis into beginner-friendly language (calibrated to your Foundation/Growth/Advanced stage)
  • Explains every metric and indicator used (P/E, RSI, VWMA, etc.)
  • Adds a "Concept of the Week" pulled from what showed up in this analysis
  • Adds "What to watch for" next steps (earnings dates, Fed meetings, sector events)

Output Routing

Destination What Goes There
Memory MCP Always — primary data store for past analyses and reflections
Discord (Apprise) Always — real-time alert with rating, thesis, concept
Obsidian Only weekly/monthly reports, learning notes, reflections (analyses go stale within hours)
PDF Monthly report only
TL;DR

10 agents across 4 phases: 4 analysts gather data in parallel, Bull and Bear debate, Research Manager judges, Trader proposes entry/exit/sizing, Risk Panel runs a 3-way debate, Portfolio Manager renders a final rating with your actual holdings in mind. Educational layer post-processes everything for your learning stage. Memory MCP + Discord always, Obsidian/PDF only for summaries.


Finance Stack Integration

The Investment Coach pulls context from four self-hosted finance services already running in the homelab. This is what turns generic market analysis into personalized recommendations.

Why Integration Matters

Without portfolio context, every analysis is generic: "AAPL looks strong." With integration, the same analysis becomes: "AAPL looks strong, but you already hold 23% of your portfolio in AAPL — adding more increases concentration risk. You have $500 investable this month — here's how to allocate it across your current under-weighted sectors."

Services Used

Service Port Role Endpoints
Ghostfolio :3333 Portfolio holdings & P&L /api/v1/portfolio/holdings, /api/v1/portfolio/performance, /api/v1/order
Firefly III :8695 Budget & investable cash /api/v1/accounts?type=asset, /api/v1/budgets
OpenBB :9921 Institutional data, options flow, SEC filings Various platform endpoints
Freqtrade :9922 Paper trading bot performance /api/v1/profit, /api/v1/trades
n8n :5678 Trigger downstream workflows, delayed reflections POST /webhook/investment-coach

All five run as Docker Compose services defined in apps/finance.yml. See the Productivity Stack page for the broader homelab context.

Ghostfolio — Your Holdings

Ghostfolio is the source of truth for what you own and how much. Every analysis pulls:

  • Current positions (ticker, share count, average cost)
  • Allocation breakdown (by sector, asset class, currency)
  • P&L over time (today, week, month, year)
  • Transaction history

The Portfolio Manager (agent #10) uses this to:

  • Flag concentration risk ("23% AAPL exceeds the 10% per-stock guideline")
  • Suggest rebalancing ("you're under-weighted in healthcare vs VTI baseline")
  • Avoid double-buying ("you already hold this — here's your cost basis")

Firefly III — Your Cash Flow

Firefly III tells the coach what you can actually invest. It pulls:

  • Asset account balances (cash available for investing)
  • Budget status (have you overspent this month?)
  • Recurring transactions (bills due before next paycheck)

The coach uses this for realistic recommendations:

  • "You have $500 investable this month after expenses — here's how to allocate"
  • "Hold off — your Pag-IBIG payment clears Friday, reassess then"
  • "Your emergency fund is below 3 months — invest only $200, top up the rest"

OpenBB — Institutional Data

OpenBB gives the coach access to data retail APIs don't expose:

  • Options flow (unusual whale activity, put/call ratios)
  • SEC filings (10-K, 10-Q, insider transactions)
  • Analyst estimates and consensus
  • Macro data (Treasury yields, FRED economic indicators)

Used primarily by the Fundamentals Analyst and News Analyst when Alpha Vantage/Finnhub quotas are exhausted or when the analysis needs institutional-grade data.

Freqtrade — Paper Trading Results

Freqtrade runs paper-trading strategies on crypto pairs. The coach uses its performance as a sanity check:

  • "Your Freqtrade RSI strategy returned 12% on BTC/USDT over 3 months (paper trading)"
  • "Paper trade first before committing real capital — the coach can backtest a thesis before you act on it"

Relevant only once you reach Advanced stage (crypto unlocked). Foundation and Growth stages ignore Freqtrade output.

n8n — Automation Glue

n8n connects the coach to time-based triggers that Claude Code can't handle directly:

  • Morning pulse cron (weekdays 8am Asia/Manila)
  • 3-day reflection delays (triggered per analysis)
  • Weekly/monthly report schedules
  • Webhook endpoints other services can POST to

See the Notifications chapter for the full schedule list.

Error Handling

If a finance service is unreachable, the coach degrades gracefully rather than failing:

Scenario Behavior
Ghostfolio unreachable Skip personalization, analyze with market data only, note "portfolio context unavailable"
Firefly III unreachable Skip cash-flow checks, proceed with analysis
OpenBB unreachable Fundamentals Analyst falls back to Alpha Vantage / Finnhub
Freqtrade unreachable Skip paper trading context (non-critical)
n8n unreachable Manual trigger still works; scheduled reflections queue until n8n recovers

API Keys & Secrets

All keys live in the skill's .env file (never committed):

  • ALPHA_VANTAGE_API_KEY — 25 requests/day free tier
  • FINNHUB_API_KEY — 60 req/min free tier
  • YOUTUBE_API_KEY — 10,000 units/day free tier
  • GHOSTFOLIO_API_TOKEN — generated in Ghostfolio UI
  • FIREFLY_PERSONAL_ACCESS_TOKEN — generated in Firefly settings
  • FREQTRADE_USERNAME / FREQTRADE_PASSWORD — basic auth
TL;DR

Four self-hosted services turn generic market analysis into personalized recommendations: Ghostfolio (what you own), Firefly III (what you can spend), OpenBB (institutional data), Freqtrade (paper trading results), glued together by n8n for time-based automation. Services degrade gracefully if unreachable — the coach skips personalization rather than failing.


Learning Progression

The Investment Coach adapts its language and recommendations to your current stage. You don't get options and crypto unlocked on day one — you earn them by demonstrating you understand the fundamentals first.

The Three Stages

graph LR
    A["Stage 1: Foundation<br/>ETFs only<br/>Simple language<br/>Basic concepts"] --> B["Stage 2: Growth<br/>Individual stocks<br/>Max 10% per position<br/>Technical analysis"]
    B --> C["Stage 3: Advanced<br/>Options, swing, crypto<br/>Full technical language<br/>Custom strategies"]

Stage 1 — Foundation

Goal: Learn the fundamentals without blowing up a portfolio.

Setting Value
Instruments unlocked ETFs only — VTI, VOO, QQQ
Core concepts P/E ratio, RSI, dollar-cost averaging, diversification, expense ratios
Max suggestion ETFs (no individual stocks)
Risk language Simple, no jargon without explanation
Guardrail "Never invest what you can't afford to lose" in every recommendation

This is where everyone starts. The coach will refuse to analyze individual stocks at this stage and redirect to a broad ETF that covers the same exposure.

Stage 2 — Growth

Goal: Apply what you've learned to individual companies without overconcentrating.

Setting Value
Instruments unlocked Individual stocks
Core concepts Sector rotation, earnings analysis, technical analysis, position sizing, dividends
Max suggestion Stocks with strict position limits — never >10% in one stock
Risk language Moderate — technical terms introduced with explanations

The coach starts using terms like "sector rotation" and "margin expansion" without always explaining them, but always links to the relevant concept in Memory MCP.

Stage 3 — Advanced

Goal: Full toolkit, minimal hand-holding.

Setting Value
Instruments unlocked All — options, swing trading, crypto via Freqtrade
Core concepts Portfolio optimization, tax-loss harvesting, custom strategies, advanced indicators (MACD divergence, volume profile)
Max suggestion All instruments
Risk language Full technical — assumes you know the terms

Promotion Criteria

Promotion is knowledge-based, not time-based. You don't "age into" Growth stage — you prove you understand the material.

Transition Requirements
Foundation → Growth Understand 10+ core concepts, reviewed 15+ analyses, can explain why a recommendation was made
Growth → Advanced Understand 25+ concepts, tracked predictions 3+ months, comfortable with technical analysis language

Promotion is checked via /invest learn --quiz. The quiz pulls from your actual analysis history — "Last week we rated NVDA OVERWEIGHT. What was the primary bull case?" — not generic flashcards.

Memory MCP — Your Learning Record

Your progress lives in the Memory MCP knowledge graph as a User entity:

Entity: User:PrynsTag
  ├─ learning_stage: "foundation"
  ├─ concepts_learned: ["P/E ratio", "RSI", "dollar-cost averaging", ...]
  ├─ analyses_reviewed: 12
  ├─ correct_predictions_tracked: 7/10
  ├─ risk_comfort: "conservative"
  ├─ started: "2026-04-10"
  └─ stage_promoted: null

Every analysis you review, every concept the coach explains, every prediction that turns out right or wrong updates this graph. You can inspect it any time with /invest learn --status.

Why Knowledge-Based, Not Time-Based?

Time-based promotion rewards patience. Knowledge-based promotion rewards understanding. Someone who reviewed 50 analyses passively for 6 months without internalizing the concepts is more dangerous with options unlocked than someone who engaged deeply with 15 analyses over 3 weeks.

TL;DR

Three stages — Foundation (ETFs only, simple language), Growth (individual stocks, 10% position limit, technical concepts introduced), Advanced (all instruments, full technical language). Promotion requires passing a quiz pulled from your actual analysis history, not a calendar date. Memory MCP tracks your learning graph.


Notifications & Schedules

Every output from the Investment Coach flows through Discord. Three channels, each with its own webhook, routed by content type.

Discord Channels

Channel Tag What Goes Here
#investment-alerts invest-alerts On-demand analysis results, morning pulse, significant price moves
#weekly-report invest-weekly Sunday portfolio summary, 1st-of-month deep review
#learning invest-learn Concept of the week, reflections, quiz results

Current Setup (Direct Webhooks)

As of 2026-04-05, each channel has its own Discord webhook URL stored in .env:

DISCORD_WEBHOOK_ALERTS=https://discord.com/api/webhooks/.../...
DISCORD_WEBHOOK_WEEKLY=https://discord.com/api/webhooks/.../...
DISCORD_WEBHOOK_LEARN=https://discord.com/api/webhooks/.../...

The skill's notify.sh script routes a tag to the correct webhook. All three channels are tested and working.

Future: Apprise Routing

The homelab already runs Apprise at notify.example.homelab (port 9914). Switching gives you:

  • Multi-service fanout (Discord + Telegram + Email + Gotify simultaneously)
  • Centralized notification config (one place to add channels)
  • Gotify fallback if Discord webhooks are rate-limited or down

To switch: uncomment NOTIFY_MODE=apprise in .env and run scripts/invest/apprise-setup.sh <discord-webhook-url>. See the Monitoring Stack for the Apprise service configuration.

Automated Schedules

Four recurring triggers drive the coach without manual invocation. All times are Asia/Manila.

Schedule Cron Action
Morning pulse 0 8 * * 1-5 Scan holdings + watchlist, overnight moves, pre-market movers, today's events → #investment-alerts
3-day reflection n8n delayed workflow, triggered per analysis Mini reflection → #learning
Weekly report 0 20 * * 0 Full portfolio review + reflections + PDF → #weekly-report
Monthly review 0 20 1 * * Deep review + stage promotion check → #weekly-report

The Claude Code scheduler (RemoteTrigger) handles morning pulse, weekly, and monthly. n8n handles the 3-day reflection because it needs to fire relative to when each analysis ran — a relative delay, not an absolute cron.

Message Formats

On-demand analysis (#investment-alerts):

📊 AAPL Analysis — Rating: OVERWEIGHT

Bull: Strong services revenue growth, AI integration momentum
Bear: Premium valuation (P/E 32), China exposure risk
Risk: Moderate — you already hold 23% AAPL

💡 Action: Add 2 shares ($380), diversify remaining $120 into VTI
📚 Concept: "Position sizing — why 25%+ in one stock is risky"

Full analysis → [Memory MCP link]

Weekly report (#weekly-report):

📋 Weekly Portfolio Report — Apr 6, 2026

Portfolio: $12,450 (+2.3% this week)
Winners: NVDA +5.1%, VTI +1.8%
Losers: AAPL -1.2%
Freqtrade paper: +0.8% (BTC/USDT RSI strategy)

⚠️ Watch: NVDA earnings Apr 10, Fed meeting Apr 12
🎓 This week: "What earnings reports actually tell you"

Full report → [Obsidian link] | PDF → [attached]

Reflection Process

The 3-day reflection is the most important automation in the pipeline. It's what makes the coach learn from its own mistakes.

graph LR
    A["Analysis runs<br/>Rating stored in Memory MCP"] --> B["3 days pass<br/>n8n delayed trigger"]
    B --> C["Fetch actual price performance"]
    C --> D["Compare prediction vs reality"]
    D --> E["Generate lesson:<br/>what signals were correct,<br/>what we missed"]
    E --> F["Store reflection in Memory MCP"]
    F --> G["Discord #learning"]

Reflections accumulate in Memory MCP and get pulled into future analyses by the Bull and Bear researchers — past wins and misses directly inform new thinking.

Market Closed / Weekend Behavior

Scenario Behavior
Weekend Morning pulse skips; manual /invest analyze uses last close data
US holiday Same as weekend — skip pulse, manual works
Market closed mid-day Analyses run with last trade price, flagged as "session paused"

Error Handling

Scenario Behavior
Discord webhook rate-limited Fall back to Gotify (port 9880); retry Discord in 5 min
Apprise unreachable Write to Obsidian + log warning, retry via n8n in 30 min
n8n unreachable 3-day reflections queue until n8n recovers
TL;DR

Three Discord channels (alerts, weekly, learning), each with its own webhook. Four scheduled triggers: morning pulse (weekdays 8am), 3-day per-analysis reflection (n8n), weekly report (Sunday 8pm), monthly review (1st of month 8pm). Apprise is already running for future multi-channel routing. 3-day reflections are the feedback loop that makes the coach learn from its own predictions.


First Analysis: VTI (Vanguard Total Stock Market ETF)

On 2026-04-04, the Investment Coach ran its first end-to-end analysis. The target was VTI — the canonical Foundation-stage recommendation. This chapter walks through what each agent returned and why the final rating landed where it did. The full result lives in Memory MCP under Ticker:VTI.

Final Rating — BUY (Staged)

Action: 30% tranche immediately, scale in remaining 70% over 60–90 days via DCA.

This is not "BUY NOW" — it's a staged entry that manages timing risk while still getting exposure. It's also the textbook Foundation-stage playbook: dollar-cost averaging into a broad ETF.

About VTI

Metric Value Notes
Expense Ratio 0.03% Among the lowest in the industry
Holdings ~4,000 stocks Full US market coverage
Top Sectors Technology, Healthcare, Financials Weighted by market cap
Dividend Yield ~1.3% Quarterly distributions

Phase 1 — What the Analysts Found

Market Analyst:

  • Price trending above 50-day and 200-day SMA — technical uptrend
  • RSI 58 — neutral, no stretched momentum in either direction
  • MACD positive, no bearish crossover

News Analyst:

  • No VTI-specific news (expected — it's a passive index fund)
  • Macro backdrop: Fed holding rates, labor market cooling, Q1 earnings season approaching

Sentiment Analyst:

  • Low social buzz (expected for ETFs — social chatter concentrates on individual stocks)
  • r/Bogleheads and r/phinvest consistently endorse VTI as foundation position

Fundamentals Analyst:

  • Underlying holdings aggregate P/E ~26 — elevated vs 10-year historical avg of 22
  • Earnings growth projections: +8% YoY for S&P 500 components
  • Dividend coverage strong across top 100 holdings

Phase 2 — The Debate

Bull case:

  • Maximum diversification in one ticker — no single-stock risk
  • Lowest cost in category — 0.03% expense ratio compounds heavily over decades
  • Historical ~10% annual return over long horizons
  • Perfect DCA vehicle — highly liquid, tight spreads
  • Foundation-stage appropriate — conservative, no concentration

Bear case:

  • US-only exposure — misses international diversification (VXUS complements)
  • Market-cap weighted — top 10 holdings ~25% of fund
  • Elevated broad-market valuations vs historical averages
  • No downside protection — falls with the overall market in corrections

Research Manager verdict:

The bull case is structurally stronger for a Foundation-stage investor. The bear case is mostly a timing concern, not a thesis against ownership. Recommend staged entry to respect the timing concern while committing to the position.

Phase 3 — Trade Proposal

The Trader translated the thesis into numbers:

  • Entry: 30% of target allocation at market
  • Scale-in: Remaining 70% over 60–90 days, biweekly tranches
  • Stop-loss: None (this is a core holding, not a trade)
  • Rebalance trigger: Annual, or if VTI exceeds 60% of total portfolio

Phase 4 — Risk Panel

Perspective View
Aggressive 50% tranche now — DCA is leaving gains on the table if the market keeps rising
Conservative Stick with 30%, extend DCA to 120 days — valuations are stretched
Neutral 30% now, 60–90 day scale-in is the right balance for a first position

Portfolio Manager decision: Follow the neutral path. As a first investment position, the staged approach manages entry risk while still getting exposure.

Concept of the Week

Dollar-Cost Averaging (DCA)

Instead of investing everything at once, DCA spreads purchases over time. If the price drops after your first buy, your next purchases get more shares at a lower price. If it rises, your first tranche already captured the gains. Over long horizons, DCA reduces the impact of short-term volatility on your average cost — which is exactly the anxiety-reducer a first-time investor needs.

Full concept: Getting Started — DCA section

What to Watch For

  • Fed interest rate decisions — rate cuts are bullish for equities, rate hikes are headwinds
  • Earnings season — mega-cap earnings (AAPL, MSFT, NVDA) move VTI significantly due to market-cap weighting
  • Inflation data (CPI/PCE) — persistent inflation delays rate cuts, which pressures valuations

Where This Analysis Lives

  • Memory MCP — full 10-agent reports, accessible to future Bull/Bear researchers
  • Discord #investment-alerts — summary message sent 2026-04-04
  • This guide chapter — the walkthrough you're reading

Note: individual analyses are not written to Obsidian as standalone notes. Market data goes stale within hours, so the authoritative record lives in Memory MCP. Only weekly/monthly summary reports land in docs/investing/reports/.

TL;DR

VTI rated BUY (Staged) — 30% tranche now, DCA remaining 70% over 60-90 days. Bull case (diversification, low cost, DCA-friendly) beat the bear case (US-only, elevated valuations). Neutral risk perspective won the debate. Concept of the week: dollar-cost averaging. Full analysis in Memory MCP.


Resources & Commands

Complete reference for driving the Investment Coach, plus communities and external sources the coach pulls from.

Skill Commands

The skill lives at /srv/storage/docker/.claude/skills/invest.md and exposes these commands from any Claude Code session.

On-demand analysis:

/invest analyze AAPL
/invest analyze NVDA --compare AMD
/invest analyze VTI

Portfolio & watchlist:

/invest portfolio              # Current holdings from Ghostfolio
/invest portfolio sync         # Pull latest from Ghostfolio API
/invest watch AAPL MSFT NVDA   # Add tickers to watchlist
/invest unwatch MSFT           # Remove from watchlist

Reports:

/invest report                 # Weekly summary
/invest report --period month  # Monthly deep review

Learning:

/invest learn "what is RSI"    # Explain a concept
/invest learn --quiz           # Test your knowledge (gates stage promotion)
/invest learn --reflect        # Manual reflection trigger
/invest learn --status         # Show current learning graph

Data Sources

All free-tier, no scraping hacks for core pipeline.

Source Free Tier Used By
Alpha Vantage 25 req/day Market Analyst, Fundamentals Analyst
Finnhub 60 req/min Market, Sentiment, Fundamentals
YouTube Data API v3 10,000 units/day Sentiment Analyst
Google Trends Via SerpAPI 100/mo or alpha apply Sentiment Analyst
Reddit Via WebSearch + crawl4ai Sentiment Analyst
crawl4ai Unlimited (self-hosted) All analysts
WebSearch Built-in News Analyst
Playwright MCP Built-in Fallback for JS-heavy sites
Memory MCP Built-in Bull/Bear, reflections

External Resources Worth Bookmarking

Reddit — Honest beginner discussions:

YouTube — Foundation concepts (vetted):

  • Ben Felix — Evidence-based index investing, academic rigor
  • The Plain Bagel — Clear explanations of finance concepts, no hype
  • Two Cents (PBS) — Short explainers for beginners

Tools:

Further Reading

Within this guide:

Key Design References

The agent architecture is adapted from TauricResearch/TradingAgents — a multi-agent LLM financial trading framework. Key adaptations:

  • 10 agents as Claude subagents (not LangGraph)
  • Memory MCP knowledge graph (not BM25 text search)
  • Proper APIs via MCP (not yfinance scraping)
  • Educational layer on top of every output
  • Personalized via Ghostfolio/Firefly III portfolio context

Pre-Use Checklist

Before running your first /invest analyze:

  • API keys in .env: Alpha Vantage, Finnhub, YouTube Data API v3
  • Ghostfolio API token generated and stored
  • Firefly III personal access token stored
  • Discord webhooks created for #investment-alerts, #weekly-report, #learning
  • notify.sh tested with a sample message to each channel
  • Memory MCP initialized with your User entity (/invest learn --status will show it)

Troubleshooting

Problem Check
"Ticker not found" Spelling, try the full name — "Did you mean GOOGL? GOOG is the non-voting class"
Analysis takes >5 min Alpha Vantage rate limit — coach falls back to Finnhub, then crawl4ai
No Discord message Webhook URL correct? Rate limited? Check notify.sh logs
Ghostfolio personalization missing Service reachable? Token valid? Check docker logs ghostfolio
TL;DR

/invest analyze <ticker> is the main command. Portfolio commands pull from Ghostfolio. Learning commands quiz you and track your graph. Data comes from free-tier Alpha Vantage / Finnhub / YouTube APIs plus self-hosted crawl4ai. Architecture adapted from TauricResearch/TradingAgents. Pre-flight: API keys, Discord webhooks, Memory MCP initialized.