← All Collections
4 parts

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.

  1. 01
    Tangga Kelajuan Enjin Backtest: 298x pada CPU Laptop, PnL Identik hingga Dagangan Terakhir
    Jul 1, 2026 #algotrading

    Tangga Kelajuan Enjin Backtest: 298x pada CPU Laptop, PnL Identik hingga Dagangan Terakhir

    Lima pelaksanaan bagi sapuan parameter 80-kombo yang sama, semuanya disahkan menghasilkan PnL identik: pandas rolling.apply mengambil masa 69.9 saat, numpy 3.1, numba 2.0, numba selari 0.23 — kelajuan terukur 298x pada Apple M2 Max tanpa sebarang perubahan perkakasan, dan masih ~13x berbanding garis dasar vektor yang cekap. Apa yang diperoleh setiap anak tangga, mengapa GPU bukan bahagian yang hilang, dan di mana kesesakan sebenar dalam carian parameter besar-besaran berada.

  2. 02
    Cache Parquet Teragregat: Cara Mempercepatkan Backtest Pelbagai Jangka Masa Ratusan Kali
    Mar 16, 2026 #algotrading

    Cache Parquet Teragregat: Cara Mempercepatkan Backtest Pelbagai Jangka Masa Ratusan Kali

    Cara mengira awal jangka masa dan penunjuk daripada lilin minit, menyimpannya ke parquet, dan menggunakannya untuk ujian strategi besar-besaran tanpa pengiraan semula yang berlebihan.

  3. 03
    Adaptive Drill-Down: Backtest dengan Granulariti Pemboleh ubah dari Minit hingga Dagangan Mentah
    Mar 17, 2026 #algotrading

    Adaptive Drill-Down: Backtest dengan Granulariti Pemboleh ubah dari Minit hingga Dagangan Mentah

    Bagaimana granulariti data adaptif mempercepatkan backtest dan menjimatkan storan: drill-down dari 1m ke 1s, 100ms, dan dagangan mentah hanya di mana harga bergerak dengan ketara atau volum melonjak, bukan di seluruh siri sejarah.

  4. 04
    Cukai IPC: Letakkan Enjin Backtest di Sebalik Soket dan Rugi 13% — Hampir Tiada Kaitan dengan Soket Itu
    Jul 2, 2026 #algotrading

    Cukai IPC: Letakkan Enjin Backtest di Sebalik Soket dan Rugi 13% — Hampir Tiada Kaitan dengan Soket Itu

    Kami mengalihkan (port) kernel backtest numba baris demi baris ke Rust dan memanggilnya merentasi sempadan proses dalam empat cara, dengan get kesetaraan yang mengesahkan PnL yang identik hingga dagangan terakhir. Menghantar keseluruhan siri harga 1.2 MB melalui soket Unix hanya berkos ~2 ms — sekitar 0.1% daripada kerja tersebut. Mengekod payload yang sama dalam JSON berkos 1348x lebih mahal daripada bait mentah, panggilan chatty setiap kombo menghantar semula data sebanyak 80 kali, dan corak panggilan setiap bar akan membayar 2.1 s IPC tulen pada kerja 2.0 s. Sempadan itu murah; cukainya terletak pada cara anda merentasinya.