High-Performance Backtest Engines
How to build a backtest engine that runs hundreds of times faster without changing a single PnL number — data layout, caching, adaptive resolution, and architecture, from first speedups to production internals.
- 01
Jul 1, 2026 #algotradingTangga Kecepatan Engine Backtest: 298x pada CPU Laptop, PnL Identik hingga Transaksi Terakhir
Lima implementasi dari sweep parameter 80-kombinasi yang sama, semuanya diverifikasi menghasilkan PnL identik: pandas rolling.apply membutuhkan 69.9 detik, numpy 3.1, numba 2.0, numba paralel 0.23 — percepatan terukur 298x pada Apple M2 Max tanpa perubahan hardware sama sekali, dan tetap ~13x lebih cepat dibanding baseline vektorisasi yang kompeten. Apa yang didapat dari setiap anak tangga, mengapa GPU bukan bagian yang hilang, dan di mana bottleneck sebenarnya dalam pencarian parameter skala besar berada.
- 02
Mar 16, 2026 #algotradingCache Parquet Teragregasi: Cara Mempercepat Backtest Multi-Timeframe Ratusan Kali Lipat
Cara pra-komputasi timeframe dan indikator dari candle per menit, menyimpannya ke parquet, dan menggunakannya untuk pengujian strategi massal tanpa perhitungan ulang yang tidak perlu.
- 03
Mar 17, 2026 #algotradingDrill-Down Adaptif: Backtest dengan Granularitas Bervariasi dari Menit hingga Trade Mentah
Bagaimana granularitas data adaptif mempercepat backtest dan menghemat penyimpanan: drill-down dari 1m ke 1s, 100ms, dan trade mentah hanya di tempat harga bergerak signifikan atau volume melonjak, bukan di sepanjang seluruh deret historis.
- 04
Jul 2, 2026 #algotradingPajak IPC: Taruh Engine Backtest di Balik Socket dan Rugi 13% — Nyaris Tak Ada yang Disebabkan oleh Socket-nya
Kami mem-port kernel backtest numba baris demi baris ke Rust dan memanggilnya lintas batas proses dengan empat cara, dengan gerbang ekuivalensi yang mengonfirmasi PnL identik hingga transaksi terakhir. Mengirim seluruh seri harga 1.2 MB melalui Unix socket berbiaya ~2 ms — sekitar 0.1% dari total pekerjaan. Meng-encode payload yang sama sebagai JSON berbiaya 1348x lebih mahal daripada raw bytes, panggilan chatty per-kombo mengirim ulang data 80 kali, dan pola panggilan per-bar akan membayar 2.1 s IPC murni pada pekerjaan 2.0 s. Batasnya murah; pajaknya ada pada cara Anda menyeberanginya.