I don't really know how to trade. So I built something that does.
I don't have a finance background. I've never placed a trade I'm proud of. What I do know is graphs and machine learning, and I've had a hunch sitting in my head for a while: the market is a network. Companies don't move in isolation — suppliers, customers, competitors, sector cousins all drag each other around in patterns that look exactly like the kind of thing a graph would notice.
This is basically how I think about fantasy football. I don't watch the games; I look at the stats and try to be slightly less wrong than the average manager. Graphedart is the same idea, applied to a domain I know even less about.
The bet: if I can't beat the market by understanding it, maybe I can beat my own trades by routing every decision through a system that sees the whole network at once.
I would not have started this project three years ago. Not because of the engineering — I can set up a data pipeline and a training loop. The blocker was everything I didn't know about finance. I didn't know what a Sharpe ratio was. I didn't know about the PDT rule. I didn't know that slippage at the open could eat an entire edge, or that a "great" backtest can quietly cheat in a dozen different ways.
Those aren't engineering problems. They're domain knowledge problems — the kind where you don't even know you're missing something until the money disappears. The time it would have taken me to discover and internalize all of that would have killed the project long before it produced anything useful.
And then there's timing. On June 4th, FINRA retires the Pattern Day Trader rule. Until now, you needed $25,000 in your account to day-trade freely — a significant amount to risk on a fully untested algorithm. With the PDT rule gone, I can start with a much smaller amount and scale up only if the live results justify it. That changes the risk calculus completely.
What changed is that the domain knowledge gap became crossable. I can describe what I want — "make sure the backtest can't peek at tomorrow's news" — and get working code that handles timezone conversions and DST edge cases I wouldn't have thought of. When the first backtest looked too good, I could say "what could be leaking?" and get a list of specific things to check.
The iteration loop shrank from weeks to hours. I'd learn something new about markets (slippage is worse at the open, the PDT rule limits day trades, bracket orders exist), describe the constraint, review the diff, and move on. The financial domain knowledge I was missing didn't have to come before the code — it could come alongside it.
I wrote maybe 5% of the code by hand. But every design decision — what edges to put in the graph, how to avoid leakage at time boundaries, when to retrain, how to size positions — those are mine. Claude Code is the contractor; I'm the architect who's learning the building codes as we go.
The system runs fully automated, Monday through Friday. Every morning it pulls fresh data and builds the day's graph. In the afternoon it scores every stock, picks the top handful, and submits orders near close. An intraday monitor watches for portfolio-level drawdowns. Every Saturday it retrains from scratch, and the new version only goes live if it proves it's better.
The details of how all that works are in Part 2: The data and the graph. The results — and all the ways I got burned getting there — are in Part 3: Does it actually work?