Whale Hunters

Whale Hunters: A Volatility Breakout Strategy

This project studies a volatility and channel breakout strategy for liquid ETFs. It is organized as a Quarto website backed by an analysis/ Python package, a shinybroker data pipeline, and a supervised-learning extension that uses implied-volatility features from Interactive Brokers.

Whale-Hunting Idea

Why This Strategy Exists

Hunt whales, not noise.

This trading strategy is built to hunt whales: positive-return breakout opportunities that do not appear very often, but when they do, they offer unusually high confidence of paying off. In plain English, the strategy is not trying to trade every wiggle in the market. It is trying to wait for rare moments when price escapes a range, volatility expands, and the options market does not contradict the move.

That is why the trade count is intentionally low. One strategy like this may only produce a handful of high-confidence trades in a year. But the idea scales: if the same whale-hunting framework is applied across many diverse markets, sectors, or futures, then each individual strategy can stay selective while the overall portfolio still generates a regular flow of opportunities.

In a hedge-fund setting, the real edge would come from combining many strategies like this one. Each strategy might only find a few "whales," but together they can produce a steady stream of high-conviction trades.

Results Snapshot

The main validation test is a fixed live holdout from 2025-10-01 through 2026-04-24. The model is trained only on labeled breakout events before October 2025, then applied to the later period as unseen data.

Holdout Window
2025-10-01 to 2026-04-24
Model frozen before October 2025
Baseline Return
1.78%
4 trades
ML Scaling Return
1.89%
Sharpe 1.90
Hard Filter
1 trade
Too sparse for final use

The out-of-sample result supports the final design choice: the ML model adds value as a position-sizing overlay, while the hard filter is too aggressive because it leaves too few trades to rely on.

strategy trade_count removed_signal_count sharpe_ratio total_return win_rate max_drawdown expected_return_per_trade
0 Baseline 4 0 1.758542 0.017800 1.0 -0.005132 0.015007
1 ML hard filter 1 5 2.273939 0.010623 1.0 -0.001124 0.040780
2 ML position scaling 4 0 1.902845 0.018891 1.0 -0.004776 0.015007

Strategy Snapshot

Field Value
0 Strategy Tuned baseline volatility and channel breakout
1 Data source shinybroker / Interactive Brokers historical d...
2 Selected symbol QQQ
3 Sample window 2021-04-26 to 2026-04-24
4 Status Baseline strategy tuned and implemented

Project Scope

  • Build a transparent breakout strategy with explicit entry and exit rules.
  • Backtest the strategy on historical price data using a repeatable Python workflow.
  • Log every trade so entries, exits, and holding periods are auditable.
  • Extend the baseline strategy with supervised learning tests for breakout quality, including a hard filter and the final position-scaling overlay.

The final baseline is a tuned QQQ channel-breakout strategy with explicit stop-loss, trailing-stop, timeout, and breakout-failure exits. On top of that baseline, the project adds a compact QQQ-only logistic model that uses breakout quality plus options-implied-volatility features. The report compares a hard model filter with a position-scaling overlay and uses the overlay as the final version because it keeps the breakout opportunity set while changing capital allocation.

What To Review

  • Results leads with the fixed October 2025-April 2026 holdout evaluation and performance graph.
  • Asset Selection explains the ETF universe and why QQQ became the showcase asset.
  • Methodology documents the final trading rules, labels, feature set, and parameter choices.
  • Trade Log contains the blotter, ledger preview, and downloadable output files.
  • Monitoring defines how to judge whether the strategy is still behaving as expected after deployment.
  • About introduces the project team.