Prinsip Quant Trading Mana yang Benar-Benar Mengubah Cara Saya Membangun Bot?
· #systematic-trading #quant-books #risk-management #backtesting #trading-bots
Sebuah buku klasik quant trading mengubah bot saya di sembilan tempat yang spesifik, dan tak satu pun tentang menemukan sinyal yang lebih cerdas. Semuanya tentang menghilangkan titik-titik di mana saya, data saya, atau optimisme saya sendiri bisa menipu saya diam-diam. Bukunya adalah Quantitative Trading karya Ernest Chan. Saya engineer otodidak, jadi saya memberi kredit ide kepadanya, hanya mengambil prinsipnya, dan menceritakan apa yang saya lakukan dengan tiap ide dalam pekerjaan saya.
Ini catatan proses pembangunan, bukan saran. Sistem MasterVP tidak punya rekam jejak live yang saya acu di sini, dan tidak ada yang di bawah ini adalah hasil.
Mengapa aturan trading harus bisa dijalankan mesin?
Karena apa pun yang tidak bisa ditulis dengan presisi akan dibaca ulang di bawah tekanan, ke arah yang diinginkan rasa takut.
"Kelihatannya mau breakout" bukan aturan. Dua orang melihat chart yang sama akan membaca berbeda, dan orang yang sama pun membaca berbeda di hari baik dan hari buruk. "Masuk saat X memotong Y sebesar Z, keluar di A" adalah aturan, dan mesin menjalankannya sama persis setiap kali.
Jadi standar untuk setiap ide yang masuk ke alur riset di Dquants engine yang saya kembangkan sederhana: ide baru menjadi fitur bot jika sudah berupa kondisi eksplisit yang dievaluasi kode MQL5 saya dengan cara sama di setiap bar. Yang hanya bisa saya gambarkan dengan kata-kata tetap menjadi catatan. Kalau tidak bisa di-encode, saya belum punya sistem. Saya hanya punya firasat yang mudah ditinggalkan.
Apa yang dihilangkan otomatisasi, dan apa yang tersisa?
Otomatisasi menghilangkan langkah-langkah tempat takut, serakah, atau ragu bisa ikut campur. Expert Advisor yang sudah dikonfigurasi membaca data, menerapkan pengaturan pilihan pengguna, lalu mengirim order. Keputusan dibuat dengan tenang saat aturan ditulis, dan eksekusi live hanya menjalankannya.
Yang tersisa adalah masalah yang lebih sulit: menjaga tangan tetap diam. Sistem bisa berjalan sendiri hampir sepanjang hari, dan dorongan terkuat adalah menatap P&L harian lalu campur tangan saat ada ayunan besar. Ayunan yang membuat saya ingin "menyesuaikan sedikit" sering kali hanya noise biasa yang sudah diperhitungkan backtest.
Jawaban saya bukan kemauan yang lebih kuat, melainkan tombol override yang lebih sedikit. MasterVP Expert Advisor berjalan sesuai sesi dan batas risiko yang dikonfigurasi. Indikator Profiler menampilkan pembacaan yang sama dan menyerahkan order kepada pengguna. Dua pintu ke satu metode, pengguna memilih yang cocok dengan harinya.
Mengapa biaya lebih penting daripada sinyal?
Setiap trade membayar ongkos: komisi, spread yang dilewati, dampak order sendiri, dan slippage antara harga yang diinginkan dan harga yang didapat. Makin sering strategi bertransaksi, makin menumpuk ongkos itu, dan sistem yang tampak spektakuler di atas kertas bisa berbalik rugi setelah biaya realistis dikurangkan.
Backtest yang mengabaikan biaya bukan sekadar estimasi yang agak optimistis. Itu strategi yang berbeda, yang tidak bisa Anda perdagangkan. Karena itu backtest di Dquants engine mengurangkan komisi, spread, dan slippage pada tick nyata sebelum sebuah edge boleh tampak nyata. Kurva tanpa gesekan tidak pernah sempat meyakinkan saya untuk memasukkannya ke bot.
Saya menulis kasus konkretnya di Mengapa Terlalu Banyak Trading Diam-diam Membunuh Sebuah Strategi.
Apa itu survivorship bias, dan bagaimana ia mengubah pilihan data saya?
Sebagian dataset historis diam-diam membuang perusahaan yang bangkrut, di-delist, atau diakuisisi. Yang tersisa hanya yang selamat, sehingga masa lalu tampak lebih cerah dari yang sebenarnya dialami. Bias ini paling menggigit pada strategi "beli yang murah", karena sebagian saham murah justru karena hampir gagal.
Saya tidak memperdagangkan saham individual, jadi versi langsungnya tidak berlaku untuk bot saya. Prinsipnya tetap berlaku. Riset berjalan pada riwayat tick nyata penuh untuk instrumen yang benar-benar diperdagangkan bot, XAUUSD, bukan sampel yang dibersihkan sampai melupakan yang kalah. Sebelum memercayai backtest mana pun, saya mengajukan pertanyaan membosankan: ke mana kegagalan-kegagalan itu pergi?
Mengapa model sederhana biasanya yang bertahan?
Beri model cukup banyak tombol dan masa lalu apa pun bisa dibuat tampak indah. Tetapi saat itu Anda tidak mencocokkan pola nyata. Anda mencocokkan kebetulan acak dari satu riwayat tertentu yang tidak akan terulang. Itulah overfitting, yang bisa menyusup hanya dengan beberapa threshold yang disetel dan memburuk dengan setiap aturan yang ditambahkan.
Model yang terus bekerja setelah backtest selesai biasanya yang sederhana, dengan sedikit bagian bergerak yang bisa dipertahankan. Inti MasterVP sengaja dibuat kecil, beberapa aturan Volume Profile yang bisa saya jelaskan. Di Dquants engine, threshold apa pun yang hanya bagus di satu irisan riwayat dibuang dari bot, bukan dipertahankan. Saya lebih suka sedikit aturan yang saya pahami daripada kurva yang menyanjung riwayat.
Haruskah rumus ukuran posisi dipercaya secara harfiah?
Tidak. Kriteria Kelly menunjukkan ukuran yang memaksimalkan pertumbuhan jangka panjang: kira-kira, risiko sebanding dengan edge dan berbanding terbalik dengan noise. Ia mengubah "berapa yang harus saya risikokan?" dari perasaan menjadi perhitungan, dan saya menyukainya.
Tetapi jawabannya hanya optimal jika Anda tahu edge sebenarnya dengan tepat dan return berperilaku seperti kurva lonceng yang rapi. Saya tidak tahu edge saya dengan tepat, dan pasar nyata melempar pergerakan jauh lebih ekstrem daripada asumsi matematikanya. Trader berpengalaman sengaja bertaruh setengah dari angka rumus, atau kurang. Memercayai rumus secara harfiah adalah bentuk percaya diri berlebihan juga.
Karena itu ukuran posisi dan batas Expert Advisor berada jauh di bawah yang disarankan rumus. Nilai default menukar sedikit pertumbuhan teoretis dengan daya tahan lebih baik. Versi lengkapnya ada di Kriteria Kelly dan Ukuran Posisi untuk Trader Sistematis.
Apa yang sebenarnya menghancurkan strategi yang bagus?
Biasanya bukan strategi yang buruk. Ketika dana besar runtuh mendadak, penyebabnya lebih sering leverage berlebihan daripada model yang rusak dari dasar. Tidak ada yang bertaruh besar pada strategi yang dianggap buruk. Saat berbahaya adalah ketika sedang menang, ketika rasa percaya diri menggoda untuk menaikkan ukuran tepat sebelum pergerakan langka yang keras.
Itu sebabnya Expert Advisor menegakkan batas risiko harian maksimum dan batas posisi tetap di dalam kode. Rentetan kemenangan tidak bisa membujuk saya ke ukuran yang akan dihukum pergerakan langka. Musuhnya bukan sistem rugi yang tak akan pernah saya danai, melainkan sistem bagus yang terlalu saya percayai.
Apakah kecil itu kerugian?
Kurang dari yang terdengar. Edge tidak bisa diskalakan tanpa batas. Masukkan lebih banyak modal dan Anda mulai menggerakkan pasar melawan diri sendiri, sehingga return per dolar menyusut. Batas itu disebut kapasitas, dan itu sebabnya sebagian edge yang nyata terlalu kecil untuk dilirik dana besar.
Kecil adalah keuntungan struktural: Anda bisa menurunkan leverage hampir seketika, atau berada sepenuhnya di kas. Saya membangun MasterVP untuk sudut itu, kerja di M5 dan M10 pada XAUUSD, setup presisi dengan kapasitas terbatas. Saya memandangnya sebagai keunggulan untuk dibangun, bukan kekurangan yang perlu dimintai maaf.
Mengapa edge punya waktu paruh?
Backtest sepuluh tahun yang gemilang bisa sepenuhnya ditopang rezim pasar yang sudah tidak ada. Pasar bergerak melalui fase, dan persaingan itu korosif: ia mengikis peluang mean-reversion dan memperpendek lamanya tren menguntungkan seiring berita menyebar lebih cepat. Strategi dengan parameter beku selamanya diam-diam bertaruh bahwa dunia tidak berubah. Nama sopan untuk akibatnya adalah alpha decay.
Jadi pertanyaannya bukan "apakah ini pernah berhasil?" melainkan "apakah ini masih berhasil, dan bagaimana saya tahu saat ia berhenti?" Saya terus menguji ulang aturan MasterVP pada data tick baru di Dquants engine dan memantau saat expectancy mulai memudar. Parameter ditinjau berdasarkan bukti, bukan dibekukan lalu dilupakan.
Jadi, apa yang saya ubah?
- Ide harus berupa aturan yang bisa di-kode, atau tetap menjadi catatan.
- Eksekusi otomatis, dan tombol override dihilangkan, bukan dilawan.
- Biaya dikurangkan lebih dulu, pada tick nyata.
- Riset memakai riwayat penuh instrumen yang benar-benar saya perdagangkan.
- Model cukup kecil untuk dipertahankan.
- Ukuran posisi berada di bawah yang disarankan rumus.
- Batas risiko di-hardcode, sehingga rentetan bagus tidak membujuk saya menambah.
- Saya tetap di sudut tempat kecil adalah keunggulan.
- Saya mengasumsikan peluruhan dan terus menguji ulang.
Tidak satu pun menjamin apa pun. Semuanya hanya mengurangi cara saya bisa menipu diri sendiri, dan itu bagian pekerjaan yang bisa saya kendalikan.
Pertanyaan yang sering diajukan
Apakah ini saran keuangan? Bukan. Ini deskripsi cara seorang engineer otodidak membangun perangkat lunak. Hanya untuk tujuan edukasi.
Dari buku mana ide-ide ini? Quantitative Trading karya Ernest Chan. Saya memberi kredit prinsipnya kepadanya dan tidak menerbitkan ulang trade, parameter, atau angka spesifiknya.
Apakah MasterVP punya rekam jejak live yang bisa ditunjukkan di sini? Tidak dalam artikel ini. Saya menjelaskan metode, dan setiap backtest disertai catatan bahwa backtest bukan trading nyata.
Apakah Anda memperdagangkan saham individual? Tidak. MasterVP diperdagangkan di XAUUSD, jadi bagi saya survivorship bias adalah prinsip kebersihan data, bukan risiko langsung.
Mengapa tidak menambah aturan untuk memperbaiki backtest? Karena tiap aturan tambahan adalah tempat lain untuk mencocokkan noise. Sedikit aturan yang bisa dipertahankan lebih baik daripada banyak yang tidak.
Apakah otomatisasi berarti tidak pernah melihat sistem? Tidak. Saya memantau kerusakan yang sungguhan. Saya hanya tidak meragukan sistem yang sudah dikonfigurasi karena satu angka menakutkan saya.
Mengapa ukuran di bawah angka Kelly? Karena rumus mengasumsikan saya tahu edge sebenarnya dan return berperilaku baik. Keduanya tidak benar, jadi saya menukar sedikit pertumbuhan teoretis dengan daya tahan.
Ide mana yang sebaiknya dimulai dulu? Tulis aturan Anda cukup presisi sehingga mesin bisa menjalankannya. Semua yang lain jadi lebih mudah diuji setelah itu.
Ditulis oleh engineer otodidak yang membangun perangkat lunak trading dan membagikan prosesnya secara terbuka. Disusun dari seri build-log KenKem. Hanya untuk tujuan edukasi. Bukan saran keuangan. Kinerja masa lalu tidak menjamin hasil di masa depan.