Initialize trading project — Bill & Colette learning tracks

Two-person trading team setup: Bill (quant/algorithmic) and Colette (market observer).
Includes phase-by-phase curriculum, separate sprint tracks, trade journal templates,
roadmap to prop firm challenge, and agent handoff documentation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-11 09:54:19 -07:00
commit d794910697
10 changed files with 603 additions and 0 deletions

102
AGENT_HANDOFF.md Normal file
View File

@@ -0,0 +1,102 @@
# Agent Handoff Note
This file is for Claude (or any AI assistant) picking up this project mid-stream.
Read this before touching anything in this repo.
---
## What This Project Is
Bill and his mom Colette are learning to trade together with the goal of passing a prop firm challenge and managing a firm account for income.
Bill is a data scientist with ML and cybersecurity/scripting skills.
Colette is new to trading but actively watches financial news and markets.
They operate as a two-person team:
- **Bill** = quant/engineer — builds models, scripts, backtests, automation
- **Colette** = market observer — spots macro themes, news catalysts, trade ideas
Colette surfaces ideas. Bill validates them with data. They decide together.
---
## Current State
- TradingView installed on Bill's Ubuntu Linux machine (`~/trading/` is the project root)
- Both tracks are in **Phase 1 / Sprint 01** — nothing has been built yet
- No prop firm has been chosen yet (decision due end of Sprint 01)
- No asset class has been decided yet (stocks, futures, or forex)
---
## Directory Structure
```
~/trading/
├── README.md ← project overview
├── ROADMAP.md (in shared/) ← timeline, prop firm options
├── AGENT_HANDOFF.md ← this file
├── shared/
│ ├── ROADMAP.md
│ ├── curriculum/
│ │ ├── README.md ← team model overview
│ │ ├── bill-track.md ← Bill's 5-phase quant curriculum
│ │ └── colette-track.md ← Colette's 5-phase observer curriculum
│ ├── sprints/ ← shared sprint files (currently empty)
│ └── resources/ ← links, PDFs, reference material
├── bill/
│ ├── sprints/sprint-01.md ← data pipeline + Pine Script setup
│ ├── journal/template.md
│ ├── backtests/
│ ├── watchlists/
│ ├── notes/
│ └── scripts/ ← Python scripts live here
└── colette/
├── sprints/sprint-01.md ← chart literacy (TradingView basics)
├── journal/template.md
├── backtests/
├── watchlists/
└── notes/
```
---
## Key Decisions Already Made
- No HFT — target is algorithmic swing/day trading on daily or hourly timeframes
- Paper trading first, then simulated prop challenge passes, then real challenge
- Colette's track avoids heavy math — she communicates ideas in a structured format, Bill backtests them
- Sprint cadence: separate sprints per person, reviewed together
---
## What To Do When Helping
**For Bill:** He can handle Python, ML, Pine Script, scripting, and data pipelines.
Jump straight to implementation — he doesn't need concepts explained from scratch.
Frame suggestions in terms of data quality, edge validation, and risk math.
**For Colette:** She reads this repo too. Keep language clear and non-condescending.
Her intuition about markets and news is an asset, not a liability.
When she asks questions, connect the answer to something she already understands.
---
## Next Steps (as of project init)
1. Bill: complete Sprint 01 — build `fetch_data.py` data pipeline
2. Colette: complete Sprint 01 — TradingView chart literacy exercises
3. Both: decide asset class focus and target prop firm
4. Bill: set up TradingView alerts → webhook pipeline
5. First collaborative milestone: Colette flags a setup, Bill backtests it
---
## Technical Environment
- OS: Ubuntu Linux
- Shell: bash
- Python: available (venv to be set up in `bill/scripts/`)
- TradingView: installed as .deb
- Git remote: Gitea at borgswarm:3000
- SSH key: `~/.ssh/id_ed25519.pub`

34
README.md Normal file
View File

@@ -0,0 +1,34 @@
# Bill & Colette — Trading Project
## Goal
Learn to trade systematically, build a proven strategy, and pass a prop firm challenge.
## Directory Structure
```
~/trading/
├── README.md ← you are here
├── shared/
│ ├── ROADMAP.md ← timeline and prop firm options
│ ├── curriculum/
│ │ └── README.md ← full phase-by-phase learning plan
│ ├── sprints/
│ │ └── sprint-01.md ← current sprint tasks
│ └── resources/ ← links, PDFs, reference material
├── bill/
│ ├── journal/ ← trade log (copy template.md per trade)
│ ├── backtests/ ← backtest results and notes
│ ├── watchlists/ ← saved tickers and setups
│ ├── notes/ ← learning notes
│ └── scripts/ ← Pine Script / Python scripts
└── colette/
├── journal/ ← trade log
├── backtests/
├── watchlists/
└── notes/
```
## Where to Start
1. Read [shared/ROADMAP.md](shared/ROADMAP.md)
2. Open [shared/sprints/sprint-01.md](shared/sprints/sprint-01.md)
3. Work through Sprint 01 tasks together

26
bill/journal/template.md Normal file
View File

@@ -0,0 +1,26 @@
# Trade Journal — Bill
## Trade Entry Template
**Date:**
**Ticker:**
**Direction:** Long / Short
**Timeframe:**
**Entry Price:**
**Stop Loss:**
**Target:**
**Risk/Reward:**
**Position Size:**
**Setup Description:**
_(Why did you take this trade? What did you see?)_
**Result:**
- Exit Price:
- P&L:
- Outcome: Win / Loss / Breakeven
**Review:**
_(Did you follow your rules? What would you do differently?)_
---

44
bill/sprints/sprint-01.md Normal file
View File

@@ -0,0 +1,44 @@
# Bill — Sprint 01: Market Data Infrastructure
**Track:** Quant / Algorithmic — Phase 1
**Duration:** 2 weeks
**Goal:** Get a working data pipeline and understand the data landscape before building anything on top of it.
---
## Tasks
### Environment Setup
- [ ] Create Python virtual environment in `~/trading/bill/scripts/`
- [ ] Install: `yfinance pandas pandas-ta matplotlib sqlite3 requests`
- [ ] Verify TradingView Pine Script editor opens (Chart → Pine Editor)
### Data Pipeline
- [ ] Write a script that pulls daily OHLCV for a list of tickers via yfinance
- [ ] Store results in SQLite or Parquet in `~/trading/bill/backtests/data/`
- [ ] Handle edge cases: missing data, stock splits, delisted tickers
- [ ] Pull at least 5 years of history for SPY, QQQ, and 3 tickers of your choice
### TradingView Orientation
- [ ] Write a basic Pine Script indicator (start with a simple EMA crossover)
- [ ] Understand how TradingView alerts work and what webhook delivery looks like
- [ ] Explore the built-in Strategy Tester — understand what the equity curve and metrics mean
### Research
- [ ] Survey free vs paid data sources (yfinance limitations, Alpaca, Polygon.io)
- [ ] Understand what a prop firm's execution environment looks like — do they support algos?
- [ ] Read one article on walk-forward validation vs simple train/test split
---
## Deliverable
A script (`fetch_data.py`) that:
1. Takes a list of tickers and a date range
2. Fetches OHLCV from yfinance
3. Saves to local storage
4. Prints a summary: rows fetched, date range, any gaps flagged
---
## Notes
_(add as you go)_

View File

@@ -0,0 +1,26 @@
# Trade Journal — Colette
## Trade Entry Template
**Date:**
**Ticker:**
**Direction:** Long / Short
**Timeframe:**
**Entry Price:**
**Stop Loss:**
**Target:**
**Risk/Reward:**
**Position Size:**
**Setup Description:**
_(Why did you take this trade? What did you see?)_
**Result:**
- Exit Price:
- P&L:
- Outcome: Win / Loss / Breakeven
**Review:**
_(Did you follow your rules? What would you do differently?)_
---

View File

@@ -0,0 +1,69 @@
# Colette — Sprint 01: Chart Literacy
**Track:** Market Observer — Phase 1
**Duration:** 23 weeks (go at your own pace)
**Goal:** Be able to look at any stock chart and describe what the price is doing.
No math. No formulas. Just learning to read the picture the market is drawing.
---
## Setup
- [ ] Log into TradingView (Bill will help with first login)
- [ ] Set chart type to "Candles" and timeframe to "1D" (daily)
- [ ] Add these tickers to a watchlist: SPY, QQQ, NVDA, DXYZ, AAPL
---
## Week 1 — Reading Candlesticks
A candlestick shows 4 things: where price **opened**, where it **closed**, the **highest** point, and the **lowest** point that day.
**Tasks:**
- [ ] Watch: look up "how to read a candlestick chart" on Investopedia (read the article, not YouTube)
- [ ] On TradingView, hover over 5 different candles on SPY. Read the open/high/low/close values.
- [ ] Find one green candle with a long wick on top — what does that wick mean?
- [ ] Find one red candle with a long wick on the bottom — what does that mean?
**Question to answer:** On SPY's daily chart, is the price higher or lower than it was 6 months ago?
---
## Week 2 — Spotting Trends
A trend is just: is price generally going up, down, or sideways?
**Tasks:**
- [ ] Look at SPY on a weekly chart (change "1D" to "1W"). Describe the trend in one sentence.
- [ ] Look at DXYZ on a daily chart. When did it spike? What was happening in the news at that time?
- [ ] Look at QQQ. Draw a line (use the Line tool) connecting the recent lows. Is that line going up or down?
- [ ] Compare NVDA and AAPL — which one has been stronger over the last 3 months?
**Question to answer:** If a stock is making higher highs and higher lows, is that an uptrend or downtrend?
---
## Week 3 — Volume
Volume is how many shares were traded that day. High volume = people care. Low volume = nobody cares.
**Tasks:**
- [ ] Find a day on SPY where volume was much higher than usual. What was happening?
- [ ] Find a big up day on any ticker with LOW volume. Is that move trustworthy?
- [ ] Look at DXYZ — was volume high when the price spiked? What does that tell you?
---
## Sprint Milestone
By the end of this sprint, you should be able to:
- [ ] Look at any chart and say: uptrend, downtrend, or sideways
- [ ] Identify if a candle had a significant wick and explain what it means
- [ ] Explain why volume matters
- [ ] Describe what DXYZ did and why it's risky
---
## Notes & Questions
_(write down anything confusing — Bill can explain or we can look it up together)_

42
shared/ROADMAP.md Normal file
View File

@@ -0,0 +1,42 @@
# Trading Roadmap — Bill & Colette
## Target Outcome
Pass a prop firm challenge and trade a firm account for income.
## Timeline (estimated)
```
Month 1 [Phase 1] Foundations + TradingView setup
Month 2 [Phase 2] Technical Analysis
Month 3-4 [Phase 3] Strategy Development + Backtesting
Month 5-6 [Phase 4] Paper Trading (live simulation)
Month 7 [Phase 5] Prop Challenge Prep
Month 8+ [Phase 6] Challenge Attempt
```
This is a realistic timeline if you put in 510 hours/week.
Rushing phases 35 is the most common mistake — a strategy needs real testing time.
## Prop Firm Options (to decide by end of Sprint 01)
| Firm | Challenge Cost | Account Size | Rules |
|------|---------------|--------------|-------|
| Apex Trader Funding | $167 | $50K sim | Popular for futures |
| TopStep | $165 | $50K sim | Futures focused |
| FTMO | ~$155 | $10K | Forex/stocks |
| MyFundedFutures | varies | varies | Futures |
## Key Principles
1. **Never risk more than 1% per trade** during paper trading — practice the habit now
2. **Journal every trade** — no journal = no improvement
3. **Backtest before you trust** — a strategy that "feels right" is not a strategy
4. **Paper trading results are optimistic** — live will be harder
5. **Pass 2 simulated challenges before paying for a real one**
## Current Sprints
→ Bill: [bill/sprints/sprint-01.md](../bill/sprints/sprint-01.md) — Market Data Infrastructure
→ Colette: [colette/sprints/sprint-01.md](../colette/sprints/sprint-01.md) — Chart Literacy
## Completed Sprints
_(none yet)_

View File

@@ -0,0 +1,52 @@
# Trading Curriculum — Overview
## The Model
Bill and Colette operate as a two-person trading team with distinct roles:
| Role | Person | Approach |
|------|--------|----------|
| Quant / Engineer | Bill | ML models, scripts, backtesting, automation, signal validation |
| Market Observer | Colette | News, macro indicators, sector themes, trade idea generation |
**Workflow:** Colette spots opportunities (news catalyst, macro shift, chart pattern) → flags to Bill → Bill validates with data → team decides → Bill executes or automates
This mirrors how small prop desks actually work. Neither role is more important — a great model with no ideas is useless, and good ideas with no discipline lose money.
---
## Bill's Track — Quant / Algorithmic
See: [bill-track.md](bill-track.md)
Phases:
1. Market data infrastructure (APIs, data feeds, TradingView Pine Script)
2. Technical indicator implementation and backtesting
3. ML signal generation (classification, regression, feature engineering)
4. Strategy automation and alerting
5. Prop challenge execution and monitoring
---
## Colette's Track — Market Observer
See: [colette-track.md](colette-track.md)
Phases:
1. Chart literacy and TradingView basics
2. News and macro awareness (what matters, what's noise)
3. Sector rotation and high-level indicators
4. Generating and communicating trade ideas
5. Prop challenge: managing the watchlist and flagging setups
---
## Shared Milestones
| Milestone | Description |
|-----------|-------------|
| First paper trade | Both place one paper trade and review it together |
| First flagged setup | Colette identifies a setup → Bill backtests it |
| First automated alert | Bill's script triggers on a Colette-identified pattern |
| Simulated challenge pass | Both run through a prop challenge simulation |
| Real challenge attempt | When two simulated passes are clean |

View File

@@ -0,0 +1,91 @@
# Bill's Learning Track — Quant / Algorithmic
**Background:** Data scientist, ML experience, cybersecurity/scripting skills
**Role:** Build and validate — data pipelines, backtests, models, automation, alerts
---
## Phase 1 — Market Data Infrastructure
**Goal:** Get clean, reliable data into your toolchain
- [ ] TradingView Pine Script basics — indicators, alerts, screeners
- [ ] Python market data: `yfinance`, `pandas-ta`, `ccxt` (crypto if relevant)
- [ ] Free vs paid data sources — what's actually needed at this stage
- [ ] Build a basic OHLCV data fetcher for a watchlist of tickers
- [ ] Understand data quality issues: survivorship bias, split adjustments, gaps
- [ ] Set up a local data store (SQLite or Parquet) for backtesting
**Deliverable:** Script that pulls daily OHLCV for a watchlist and stores it locally
---
## Phase 2 — Indicator Implementation & Backtesting
**Goal:** Implement and test common signals before trusting them
- [ ] Implement SMA, EMA, RSI, MACD, ATR from scratch (don't just use a library — understand them)
- [ ] Build a simple backtesting loop (vectorized, not event-driven to start)
- [ ] Understand backtest traps: look-ahead bias, overfitting, survivorship bias
- [ ] Walk-forward validation basics
- [ ] Metrics: win rate, expectancy, Sharpe ratio, max drawdown, Calmar ratio
- [ ] Pine Script: build a simple strategy and view equity curve in TradingView
**Deliverable:** One complete backtest with proper train/test split and metrics reported
---
## Phase 3 — ML Signal Generation
**Goal:** Apply ML where it actually adds value (not everywhere)
- [ ] Feature engineering for price data (returns, rolling stats, lagged features)
- [ ] Classification: predict direction (up/down/flat next N bars)
- [ ] Avoid the common traps: data leakage, overfitting short samples
- [ ] Evaluate with financial metrics, not just accuracy
- [ ] Regime detection: is the market trending, ranging, or volatile?
- [ ] Understand when ML helps vs when simple rules beat it
**Deliverable:** A classifier that outputs trade signals with a documented edge (positive expectancy on out-of-sample data)
---
## Phase 4 — Automation & Alerting
**Goal:** React to markets without staring at screens
- [ ] TradingView alerts → webhook → Python handler
- [ ] Build a market watch script (runs on schedule, flags setups from Colette's criteria)
- [ ] Notification system (email, SMS, or Telegram bot)
- [ ] Paper trading automation: auto-log triggered trades to journal
- [ ] Understand execution risk: slippage, partial fills, latency (not HFT, but real)
**Deliverable:** Script that monitors a watchlist and sends an alert when Colette's setup criteria are met
---
## Phase 5 — Prop Challenge Execution
**Goal:** Apply the system under challenge conditions
- [ ] Simulate challenge rules in paper trading: daily loss limit, max drawdown, profit target
- [ ] Risk sizing formula locked in (never manual)
- [ ] Dashboard: daily P&L, drawdown remaining, progress toward profit target
- [ ] Post-trade review script: auto-generate stats from journal
- [ ] Two clean simulated challenge passes before paying
**Deliverable:** Automated prop challenge tracker with real-time status
---
## Tools & Stack
| Purpose | Tool |
|---------|------|
| Charting | TradingView |
| Data | yfinance, pandas, pandas-ta |
| Backtesting | Custom vectorized or `backtesting.py` |
| ML | scikit-learn, lightgbm |
| Automation | Python scripts + cron or systemd |
| Alerts | TradingView webhooks + custom handler |
| Storage | SQLite or Parquet files |

View File

@@ -0,0 +1,117 @@
# Colette's Learning Track — Market Observer
**Background:** News-aware, macro-focused, strong intuition for market narratives
**Role:** Observe and flag — identify macro themes, news catalysts, sector strength, and trade ideas
The goal is to build on the market awareness you already have and give it a framework.
You're not learning to trade from scratch — you're learning to translate what you see into
structured ideas that can be tested and acted on.
---
## Phase 1 — Chart Literacy (TradingView Basics)
**Goal:** Read a chart and understand what it's showing — no indicators yet
- [ ] What a candlestick shows (open, high, low, close)
- [ ] What timeframes mean (daily vs weekly vs monthly)
- [ ] How to spot a trend (is price making higher highs, or lower lows?)
- [ ] What volume tells you (is this move significant?)
- [ ] How to use TradingView: add a ticker, change timeframe, draw a line
- [ ] What a 52-week high/low means and why people watch it
**Exercise:** Pull up 3 tickers. For each: is it in an uptrend, downtrend, or sideways? Is volume rising or falling?
**Milestone:** Can look at a chart and describe what the price is doing
---
## Phase 2 — News & Macro Awareness
**Goal:** Connect the news you're already reading to what it means for price
- [ ] What the Fed does and why interest rates matter to stocks
- [ ] What earnings season is and how it affects price
- [ ] What sector rotation means (money moving from tech → energy, etc.)
- [ ] Understanding the difference between a news catalyst and a hype cycle
- [ ] How to cross-reference a news story with the actual chart — was the move already priced in?
- [ ] The DXYZ case study: what premium-to-NAV means, and what the historical pattern looks like
**Key habit:** When you see a headline or hear a recommendation, check the chart first:
1. Did the price already move before this news broke?
2. What's the proposed exit — where would you get out if wrong?
3. What does the broader sector look like?
**Exercise:** Read a financial headline and check the chart of the ticker mentioned. Write one sentence: did the chart confirm the story, or had the move already happened?
**Milestone:** Can explain why the DXYZ premium exists and what historical precedents look like
---
## Phase 3 — Sector & Macro Indicators
**Goal:** Know the high-level picture before looking at individual stocks
- [ ] The major S&P 500 sectors (XLK, XLE, XLF, XLV, etc.) and how to track them
- [ ] What the VIX is and what elevated fear looks like on a chart
- [ ] How to read a sector heatmap (TradingView has one built in)
- [ ] What the yield curve is (simplified: are long rates higher than short rates?)
- [ ] Dollar strength (DXY) and its relationship to commodities and international stocks
- [ ] How to identify the strongest sector and focus there
**Exercise:** Every Sunday, look at the sector ETFs for the past week. Which sector was strongest? Which was weakest? Write it down. Do this for 4 weeks in a row.
**Milestone:** Can give a 2-minute sector summary each week
---
## Phase 4 — Generating Trade Ideas
**Goal:** Turn observations into structured, communicable ideas for Bill to evaluate
A strong trade idea connects what you're seeing in the news or macro picture to what's happening on the chart.
**Example:**
- Weak: "I read that SpaceX is doing something big."
- Strong: "XLK has been the strongest sector 3 weeks running, NVDA just broke to a new 52-week high on heavy volume, and earnings are in 3 weeks — might be worth a look."
**Format for flagging an idea:**
```
Ticker:
Why I noticed it: (news, chart, sector strength)
What the chart looks like: (uptrend / breakout / pullback to support)
Timeframe: (daily / weekly)
Questions for Bill: (anything to backtest or dig into)
```
- [ ] Submit 2 trade ideas per week using the format above
- [ ] Review together: did the idea have merit? What happened?
- [ ] Build a personal watchlist of 1015 tickers you understand well
**Milestone:** 8 trade ideas submitted, at least 3 that Bill validated as having a testable edge
---
## Phase 5 — Prop Challenge Support
**Goal:** Be the eyes during the trading day while Bill's system runs
- [ ] Monitor the watchlist for news that could affect open trades
- [ ] Flag upcoming macro events (Fed meeting, CPI report, earnings)
- [ ] Keep a simple daily log: what happened in the market today (23 sentences)
- [ ] Review open positions: is the original thesis still intact?
**Milestone:** Consistent daily market log for 30 days
---
## Recommended Resources
| Resource | What It's Good For |
|----------|-------------------|
| TradingView (free) | Charts, sector heatmap, economic calendar |
| Finviz.com | Sector/market overview at a glance |
| FRED (St. Louis Fed) | Real macro data — interest rates, inflation, jobs |
| Investopedia | Clear definitions for any term |
**A useful filter for any recommendation you encounter:** Does the person showing you this also show you the data behind it? A good idea holds up to a chart check.