The Two Tickers Carrying My Curve
Suneet Malhotra
May 16, 2026
The options engine has closed 25 trades on the paper account so far. I made the spreadsheet I should have made a month ago this morning, broke the 25 trades down by underlying, and the chart had one line on it that mattered.
Two tickers, NVDA and TSLA, fired four of the 25 trades and produced most of the engine's net positive P&L. The other six tickers, across 21 trades, netted close to zero R.
The breakdown
NVDA fired twice and TSLA fired twice. Three of those four trades were winners and the median R across the four was about 1.4. Across the full 25-trade book the median R was 0.34. The two-ticker subset has paid for nearly all of the upside the engine has produced since I started tracking expectation per ticker.
The remaining six underlyings, AAPL, MSFT, AMD, AMZN, META, and GOOGL, accounted for 21 of the 25 closures. Their combined net expectation rounds to negative zero point zero five R per trade. The win rate on that subset is 52 percent. The median R is 0.18. They make money on some days, lose it back on others, and over the sample they have not paid for the engine's existence.
If you handed me this dataset stripped of labels and asked which underlyings were generating the edge, I would point at the two without hesitation. The labels are real.
The chart
If I plot cumulative P&L by ticker, six lines hover near the zero axis and two lines step up and to the right. The shape is the punchline. There is no rotation between underlyings. The two carriers carry. The six riders ride.
The take
Twenty-five trades is not enough sample to claim NVDA and TSLA are the edge. It is enough sample to refuse to claim the other six are.
There are two readings of the chart and the engine's next two months depend on which reading is right.
The first reading is that the engine has a real edge on high-momentum names with above-average implied volatility, and the two carriers are the only underlyings in the universe that consistently match that texture. The other six get traded by the engine because the bias-score gate fires on them sometimes, but the underlying behavior is different, and the expectation is correspondingly different. Under this reading I should narrow the universe. Probably to four names. The original two plus the next two highest in momentum-times-IV rank.
The second reading is that the engine is general, the two carriers got lucky on the four trades I have so far, and a wider sample will revert. Under this reading I keep the universe as it is, log forty more closures, and rerun the audit at n=65.
The second reading is the responsible one given the sample. The first reading is the one I want to act on. That gap is the discipline test.
What I am doing
Nothing yet. The threshold I set for changing the universe in production is fifty closures per ticker. I am at two for each carrier and somewhere between three and four for each rider. The sample does not warrant a structural change.
What I did change is what I track. The daily Telegram now prints expectation-per-ticker as a tail line on the EOD summary. If six weeks from now NVDA and TSLA are still the only two contributing positive expectation, the next audit is not whether to narrow. It is how to narrow without overfitting.
The most expensive mistake a small-sample trader can make is acting on the n=25 chart. The second most expensive is pretending the chart is not there.
Share this post
You Might Also Like
The Check That Passes Until the Day It Does Not
Every day my engine reconciles its own record of open positions against the broker's. Almost every day the two lists match. I do not run the check for those days.
OpenClaw TutorialsThe Three-Percent Daily Stop That Freezes at $3,000
My engine has two daily loss limits: three percent of equity and a flat $3,000. They are the same number on exactly one day, the day the account opened. After that they quietly diverge.
Quantitative TradingA Retry Is Not a Trading Decision
A rejected order is a decision. Retrying it without preserving the reason can turn a risk control into a duplicate trade.
Agentic AIThe Log Is Part of the Agent's Interface
An agent that can act but cannot leave a useful decision record is not autonomous. It is an opaque process with write access.
Latest Blog Posts
A Retry Is Not a Trading Decision
A rejected order is a decision. Retrying it without preserving the reason can turn a risk control into a duplicate trade.
The Log Is Part of the Agent's Interface
An agent that can act but cannot leave a useful decision record is not autonomous. It is an opaque process with write access.
The Market Is Closed Is Not a Trading Rule
A backtest can know the exchange hours and still schedule a trade into a holiday, an early close, or a stale session. Calendar state is market data.
Related Tools & Demos
The QA Field Manual to Language Models
A free 24-chapter book. Start at “what is AI, really?” and finish with a small language model you built yourself — one that reads a failing Playwright test and proposes a fix you can run. Read it in your browser, or download the PDF or the Mac app.
View Source Code →Multi-Model LLM Harness
One interface to call any AI model — capability routing, fallback chains, budgets, circuit breakers, and a quality feedback loop. A practical architecture pattern write-up.
Automated Trading System
Multi-engine trading platform with real-time risk management, regime-based strategy selection, and automated order execution.
View Source Code →
Stay in the Loop
Get weekly insights on AI-driven QA, engineering leadership, and automation strategies.
No spam, ever. Unsubscribe anytime.