Crypto & Investing — Zero to Hero¶
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¶
- 01-overview
- 02-getting-started
- 03-agent-pipeline
- 04-finance-stack
- 05-learning-progression
- 06-notifications
- 07-vti-analysis
- 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¶
- Every recommendation comes with a "Why" — the thesis is always explained in plain language
- No black-box decisions — you learn while growing your money
- Start conservative — ETFs only in Foundation stage, advanced instruments unlock with knowledge
- Multi-perspective debate — bull, bear, aggressive, conservative, neutral — forces the coach to see blind spots
- 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¶
- Only buy ETFs — VTI, VOO, or QQQ
- Never invest money you can't afford to lose — bills and emergency fund come first
- Use dollar-cost averaging — don't try to time the market
- Check your portfolio weekly, not daily — daily price swings are noise
- 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) |
| 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 tierFINNHUB_API_KEY— 60 req/min free tierYOUTUBE_API_KEY— 10,000 units/day free tierGHOSTFOLIO_API_TOKEN— generated in Ghostfolio UIFIREFLY_PERSONAL_ACCESS_TOKEN— generated in Firefly settingsFREQTRADE_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 |
| 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 |
Related Homelab Services¶
- Productivity Stack — Ghostfolio, Firefly III, and related finance services
- Monitoring Stack — Apprise and notification infrastructure
- Automation Stack — n8n workflows, crawl4ai
External Resources Worth Bookmarking¶
Reddit — Honest beginner discussions:
- r/Bogleheads — Index investing philosophy, low-cost ETFs
- r/phinvest — Philippines-focused investment community
- r/personalfinance — General personal finance (US-centric)
- r/investing — Broader investing discussion (higher noise)
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:
- Portfolio Visualizer — Free backtesting
- Ghostfolio — Self-hosted portfolio tracker (already in homelab)
- OpenBB — Open-source Bloomberg alternative
Further Reading¶
Within this guide:
- Chapter 1 — What the Investment Coach is
- Chapter 2 — Core concepts (ETFs, P/E, RSI, DCA, diversification)
- Chapter 3 — The 10-agent pipeline
- Chapter 4 — Finance stack integration
- Chapter 5 — Learning progression
- Chapter 6 — Notifications & schedules
- Chapter 7 — First analysis walkthrough
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.shtested with a sample message to each channel - Memory MCP initialized with your User entity (
/invest learn --statuswill 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.