Explore

dtsbourg / hedge-fffund

Founder-led hedge fund research agent - equity analysis, SEC filings, insider trades, and thesis management

v0.2.3claude-code
rig use hub:dtsbourg/hedge-fffund
Copy a Claude Code setup prompt

Readme

Hedge FFFund

An AI-native investment research workspace powered by Claude Code. Files are the database, Markdown is the schema, and Claude Code skills are the workflows.

This is a decision support system, not an autonomous trader. Every analysis, signal, and strategy proposal is designed for a human to review and act on.

How It Works

The workspace is structured around a simple loop: research → thesis → strategy → decision.

  1. Research a ticker (/research AAPL) — pulls live data via MCP servers (yfinance, OpenInsider, SEC EDGAR) and writes a structured universe file.
  2. Build a thesis — write or refine investment theses in theses/ that span multiple tickers.
  3. Get strategy proposals (/advise VRT) — generates trackable trade strategies (equity, options, pairs) with real entry/stop/target levels.
  4. Track positions (/mark) — marks open strategies to market with P&L, alerts on stops/targets hit.
  5. Log decisions (/decision VRT buy) — creates an audit trail with reasoning, metrics, and review dates.
  6. Scan for signals (/scan premarket or /scan postmarket) — daily reports covering price action, insider trades, analyst moves, sentiment, and thesis status across your watchlist.

All data lives in plain Markdown files you can read, edit, and version-control.

Project Structure

universe/       # One file per ticker — facts, financials, key metrics
theses/         # Investment theses spanning tickers — arguments, risks, catalysts
strategies/     # Proposed trade strategies with mark-to-market tracking
decisions/      # Buy/sell/hold log with dated reasoning (audit trail)
signals/        # Daily pre-market and post-market scan reports
portfolio/      # Current holdings and allocations
data/           # Raw data dumps from MCP sources
scripts/        # Automation (daily scan runner, launchd plists)
.claude/skills/ # Claude Code skill definitions (the /commands)

Skills (Slash Commands)

Run these inside a Claude Code session in this project directory:

CommandWhat it does
/research <TICKER>Quick research pass — pulls data, creates/updates universe/<TICKER>.md
/deepdive <TICKER>Institutional-grade deep dive — bull/bear cases, valuation, technicals, strategy proposals
/compare <T1> <T2> [T3...]Side-by-side comparison table across key metrics
/advise <TICKER>Proposes 1-3 trackable strategies (equity, options, pairs) with live pricing
/mark [TICKER]Marks open strategies to market — updates P&L, flags stop/target alerts
/decision <TICKER> <buy|sell|hold|trim|add>Logs a decision with structured reasoning to decisions/
/scan <premarket|postmarket>Daily signal scan — watchlist quotes, insider trades, analyst actions, thesis tracking

Setup

Prerequisites

1. Clone and enter the repo

git clone <repo-url>
cd hedge-fffund

2. Configure MCP servers

The .mcp.json file at the repo root defines four data sources that Claude Code will use:

ServerTransportWhat it providesAuth
yfinanceuvx yfinance-mcp-serverPrices, volume, financials, analyst data, options, earningsNone
OpenInsidernpx openinsider-mcpInsider trades, SEC filings, short interest, FTD dataNone
Financial Datasets (optional)uv run (local clone)Income statements, balance sheets, cash flow, newsAPI key required
SEC EDGARuvx sec-edgar-mcpDirect 10-K/10-Q/8-K filing accessUser-agent string

yfinance and OpenInsider work out of the box with no configuration. SEC EDGAR just needs a user-agent string. Financial Datasets is optional — if you want it, copy the env template and fill in your keys:

cp scripts/.env.example ~/.investor-env

Edit ~/.investor-env:

FINANCIAL_DATASETS_API_KEY=your_key_here
FINANCIAL_DATASETS_MCP_DIR=/path/to/cloned/financial-datasets-mcp-server
# SEC_EDGAR_UA="your-name your-email@example.com"

3. Start using it

cd hedge-fffund
claude   # launches Claude Code in this directory

Then run any skill:

/research VRT
/scan premarket
/advise AAPL

4. (Optional) Automated daily scans

The repo includes a shell script that runs scans headlessly via claude -p:

# Manual run
./scripts/daily-scan.sh premarket
./scripts/daily-scan.sh postmarket

To automate on macOS with launchd, create plist files in ~/Library/LaunchAgents/ that call the script at your preferred times (e.g., 7:00 AM for premarket, 5:00 PM for postmarket). Then:

launchctl load ~/Library/LaunchAgents/com.investor.scan-premarket.plist
launchctl load ~/Library/LaunchAgents/com.investor.scan-postmarket.plist

Scans use the Sonnet model.

Extending It

Add a new ticker to the watchlist

Edit CLAUDE.md and add the ticker under the appropriate tier in ## Current Watchlist. Then run /research <TICKER> to populate its universe file.

Write a new thesis

Create a file in theses/ with a descriptive name (e.g., theses/semiconductor-reshoring.md). Reference tickers with [[TICKER]] notation. The /scan postmarket report will automatically track thesis status.

Add a new MCP data source

  1. Add the server config to .mcp.json
  2. Add the server name to .claude/settings.local.json under enabledMcpjsonServers
  3. Update relevant skill files in .claude/skills/ to use the new tools

Create a new skill

  1. Create a directory under .claude/skills/<skill-name>/
  2. Add a SKILL.md file with frontmatter (name, description, arguments, allowed-tools) and the prompt template
  3. The skill becomes available as /<skill-name> in Claude Code sessions

Look at .claude/skills/research/SKILL.md for a simple example, or .claude/skills/scan/SKILL.md for a complex one.

Conventions

  • Universe files: universe/{TICKER}.md — facts, not opinions
  • Thesis files: theses/{descriptive-name}.md — arguments and analysis
  • Strategy files: strategies/{TICKER}-{slug}.md — trackable trade proposals
  • Decision files: decisions/{YYYY-MM-DD}-{TICKER}-{action}.md — audit trail
  • Signal files: signals/{YYYY-MM-DD}-{premarket|postmarket}.md — daily reports
  • Cross-reference between files using [[TICKER]] notation
  • Always note the date of data sources — flag anything older than 30 days as stale

Disclaimer

This is a personal research tool, not financial advice. All investment decisions are your own.

Files

.claude7 files
dataempty
decisionsempty
portfolioempty
scripts1 file
signalsempty
strategiesempty
thesesempty
universeempty
.mcp.json716 B
CLAUDE.md4.2 KB
README.md6.7 KB
rig.toml1.2 KB

Versions (5)

v0.2.38da095e9
v0.2.2b8861673
v0.2.120260517