【Arbitrase CJ Tingkat Lanjut 14/14】
Banyak orang mulai membahas performa bahasa pemrograman sebelum membuktikan bahwa strategi mereka menghasilkan keuntungan. Urutannya terbalik.
Saat strategi baru dirancang, yang terpenting adalah mengujinya dengan cepat: apakah data bisa diperoleh, apakah sinyalnya nyata, apakah masih ada keuntungan setelah biaya transaksi dan slippage dihitung, serta apa yang terjadi jika strategi gagal. Python cocok untuk membuat prototipe, riset, dan alat berfrekuensi rendah karena mudah diubah dan ekosistemnya lengkap. Menjalankan strategi dengan dana kecil selama waktu yang cukup lama hingga terbukti stabil jauh lebih penting daripada mengejar kecepatan ekstrem sejak awal.
Barulah ketika strategi melibatkan banyak bursa, konkurensi tinggi, dan jalur kritis yang sensitif terhadap latensi, masalahnya berubah. Saat data pasar datang secara bersamaan, order harus ditandatangani dengan cepat, dan proses tidak boleh mengalami latensi ekor panjang akibat garbage collection atau pemblokiran, performa, kontrol memori, dan stabilitas Rust benar-benar bermanfaat. CJ secara bertahap merombak sistemnya ke Rust dan mengoptimalkan jalur kritis dari penerimaan data pasar hingga pengiriman order. Namun, itu adalah peningkatan rekayasa setelah strategi terbukti berjalan, bukan sumber keuntungan itu sendiri.
Untuk memutuskan apakah perlu menulis ulang, perhatikan tiga tanda: latensi benar-benar menyebabkan order terlewat, fluktuasi bahasa yang digunakan saat ini tidak bisa diatasi lewat arsitektur, dan skala sistem mulai melampaui batas stabil satu proses. Jika tidak, kode tercepat sekalipun hanya akan lebih cepat mengeksekusi ide yang belum teruji.
Ke-14 artikel ini pada akhirnya sampai pada kesimpulan yang sama: peluang berasal dari inefisiensi pasar, keuntungan berasal dari eksekusi yang menyeluruh, dan keunggulan jangka panjang berasal dari menjadikan penilaian, manajemen risiko, dan rekayasa sebagai sebuah sistem.
#量化开发 #Rust