SkillAgentSearch skills...

TickerToThesis

Buyside research pipeline - generates institutional-quality investment memos from ticker symbols

Install / Use

/learn @jasonfdg/TickerToThesis
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

TickerToThesis

Multi-agent framework for generating institutional-quality buyside investment memos.

Uses 6 parallel AI analysts with distinct investing philosophies through 5 debate iterations with a Research Director.

🔗 Website: tickertothesis.com


How It Works

User: $TICKER + "preliminary thinking"
         ↓
    ITERATION 1-5 (5 debate rounds)
    ├── 6 Parallel Analysts → Reports [v1...v5]
    ├── Source file refresh each iteration
    └── 6 Parallel RD Reviews → Feedback [v1...v5]
         ↓
    SYNTHESIS (RD merges all v5 reports)
         ↓
    POLISH (human-readable output)
         ↓
Output: ${TICKER}_memo_vF.md

The core insight: Debate produces better analysis than consensus. Six distinct worldviews, forced to defend positions against rigorous critique, converge on institutional-quality conviction.


The Six Analysts

Each analyst embodies a distinct investing philosophy—not just different prompts, but different mental models:

| # | Philosophy | Time Horizon | Key Metric | Representatives | |---|------------|--------------|------------|-----------------| | 1 | Quality Compounders | Forever | ROIC | Buffett, Munger, Li Lu | | 2 | Imaginative Growth | 5+ years | Revenue growth | Baillie Gifford, ARK | | 3 | Fundamental L/S | 1-3 years | EV/EBITDA | Viking, Lone Pine, Tiger Cubs | | 4 | Deep Value | Years (patient) | Replacement cost | Klarman, Howard Marks | | 5 | Event-Driven | 6-18 months | Catalyst timeline | Tepper, Ackman, Elliott | | 6 | Macro-Tactical | Regime-dependent | Fed policy | Druckenmiller, Bessent |

Each analyst forms conviction early, then defends it against the Research Director's critique. When the RD pushes back, they engage—not capitulate.


Quick Start

git clone https://github.com/jasonfdg/TickerToThesis.git
cd "TickerToThesis/1 - program framework engine/0 - buyside_research_pipeline"

# Setup
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Configure
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEY

# Run
python TickerToThesis.py AAPL "Apple's services business is undervalued..."

Output Structure

2 - report output/$TICKER/
├── interim/
│   ├── analyst_type_1_v1.md ... analyst_type_6_v5.md  (30 analyst reports)
│   └── rd_review_type_1_v1.md ... rd_review_type_6_v5.md  (30 RD reviews)
├── ${TICKER}_webSource.json      # Gathered research sources
├── ${TICKER}_synthesis_raw.md    # RD's merged synthesis
└── ${TICKER}_memo_vF.md          # Final polished memo

Cost & Performance

  • Tokens: ~1.7M per ticker
  • Cost: ~$13-15 with Claude Sonnet
  • Time: ~15-20 minutes for full pipeline

Key Features

Evidence Hierarchy

Distinguishes primary sources (CEO interviews, Glassdoor, GitHub activity) from facts (SEC filings) and opinions (sell-side research). Minimum 3 primary sources required.

Variant View Required

Every memo must articulate: "The market believes X. We believe Y. Here's why they're wrong."

Kill Conditions

Specific, falsifiable thresholds that would invalidate the thesis. Not "revenue declines" but "revenue growth falls below 5% for 2 consecutive quarters."

Debate History

Analysts receive their prior iteration's thesis and RD feedback. They must explicitly respond: Accept / Reject / Partially Accept with evidence.

IRR Hurdle

  • Long positions require ≥15% expected IRR
  • Short positions require ≥20-25% expected IRR
  • Below hurdle = PASS regardless of qualitative conviction

Project Structure

1 - program framework engine/
├── 0 - buyside_research_pipeline/    # Python code
│   ├── TickerToThesis.py             # Main entry point
│   ├── agent_runner.py               # Async API with retry/rate limiting
│   ├── config.py                     # Model config, investing types
│   ├── debate_tracker.py             # Tracks analyst <-> RD evolution
│   ├── prompt_loader.py              # Loads all prompt files
│   ├── report_saver.py               # Saves interim + final outputs
│   ├── providers/                    # AI provider implementations
│   └── requirements.txt
│
├── 1 - agent_role md prompt/         # Role definitions
│   ├── analyst_prompt.md             # Analyst identity & requirements
│   ├── rd_review_prompt.md           # RD critique framework
│   └── rd_synthesis_prompt_v2.md     # Final synthesis directive
│
├── 2 - agent_investing_type/         # The 6 philosophies
│   └── analyst_investing_type/
│       ├── 1-quality-compounders.md
│       ├── 2-imaginative-growth.md
│       ├── 3-fundamental-long-short.md
│       ├── 4-deep-value.md
│       ├── 5-event-driven.md
│       └── 6-macro-tactical.md
│
├── 3 - agent synthesis engine/       # Core constitution
│   └── buyside_memo_engine_v1.3.0.md # Scoring rubric, style taxonomy
│
└── 5 - final_readable_touch-up/      # Polish pass
    └── human_readable_output_engine.md

Resume from Interruption

Pipeline saves state after each phase. If interrupted (API failure, credit depletion):

python resume_pipeline.py AAPL 3  # Resume from iteration 3

Advanced Usage

# Synthesis only (uses existing v5 reports)
python run_synthesis_only.py AAPL

# Full synthesis on ALL reports (60 reports + source file)
python run_full_synthesis.py AAPL

# Disable dashboard UI
python TickerToThesis.py AAPL "thesis..." --no-gui

Requirements

  • Python 3.10+
  • Anthropic API key (Claude Sonnet recommended)
  • ~$15 per ticker for full pipeline

License

MIT


Acknowledgments

Inspired by the investment processes of Buffett, Munger, Druckenmiller, Klarman, and the Tiger Cubs.

View on GitHub
GitHub Stars25
CategoryEducation
Updated12d ago
Forks8

Languages

Python

Security Score

75/100

Audited on Mar 15, 2026

No findings