Strategy study method
14 September 2026 · Research demonstration
Can a simple trend filter improve the risk and return of a long-only allocation?
Design before results
Daily OHLC prices for QQQ, SPY, or TLT. Use the first 70% of observations for training and the remaining 30% for evaluation. Select the highest training Sharpe from 10/30, 20/60, and 50/150 moving-average pairs, with a common 150-observation warm-up.
Signals use prior-session information and execute at the next open. Returns are open-to-open. Entry and exit costs are controlled in basis points; default 10 bps each way. Inspect the engine for the exact implementation.
Comparison and limitations
The dashboard reports Sharpe, CAGR, drawdown, turnover, time in market, and a selected benchmark on the holdout calendar. Sharpe uses a zero risk-free rate. Prices exclude dividends; the strategy assumes no interest on cash, leverage, shorting, or market impact. Benchmark-specific assumptions appear with the chart.
The holdout is a demonstration, not a repeatedly reusable independent test. Changing costs reruns selection; changing the design after seeing outcomes creates a need for new untouched data. A favorable result is not evidence of live trading performance.
Reproduce a run
- Open the workbench, choose the instrument, cost, and benchmark, and run the pipeline.
- Inspect source dates, the training candidates, holdout results, and warnings.
- Select “Export research record” to retain input bars, selected parameters, results, and benchmark inputs.
- Download the engine and use the exported input bars and cost to call
runResearch(record.inputBars, record.costBps). Compare its selected parameters and results with the record.
Open the workbench · Download engine · Download benchmark code
What comes next
Test independent periods, incorporate distributions and cash yield, examine parameter stability, and document paper-trading behavior. Those steps remain future work; the animated pipeline is a rules-based demonstration with no connected broker.