Choosing Backtesting, Execution, Programming, and Hosting Tools
Summary
The article compares fast research backtests with event-driven systems designed to model market interaction more realistically and potentially reuse strategy logic in live trading. Research environments such as MATLAB, R, Python, and spreadsheets support rapid iteration, but commonly simplify costs, fills, shorting, and risk controls. Event-driven systems process market and order events through components that can simulate historical data and brokerage behavior, at the cost of greater development complexity and more opportunities for bugs.
It also explains how latency matters more as trading frequency rises, and how reducing it through infrastructure proximity or specialized brokerage services can become increasingly expensive. Language choice involves trade-offs in development speed, flexibility, and runtime performance: Python is presented as a versatile option for research and minute-scale execution, while C++ is suited to cases requiring greater speed. Hosting choices range from home computers to VPSs and exchange colocation, with cost, reliability, and location shaping the fit. The discussion is a qualitative guide rather than a benchmark; suitability depends on budget, skills, required realism, assets, and trading frequency.
Key ideas
- Research backtests enable rapid strategy exploration but may simplify fills, costs, shorting, and risk controls.
- Event-driven backtesters can model market and broker events more realistically and share logic with live execution.
- Higher-frequency strategies are more sensitive to execution latency, while reducing latency can become costly.
- Programming languages trade development ease against execution speed and implementation flexibility.
- Hosting choices involve compromises among reliability, cost, and proximity to trading venues.
Tags
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.