KenKem Journal

Apakah Latar Belakang Teknik Membantu dalam Systematic Trading?

· #systematic-trading #research-method #reproducibility #trading-psychology #backtesting

Latar belakang teknik memang membantu dalam systematic trading, tetapi bukan karena alasan yang biasa diduga orang. Latar belakang itu tidak membuat edge lebih mudah ditemukan. Ia membuat saya lebih cepat meragukan hasil saya sendiri. Reproduktibilitas, perhitungan biaya, dan kebiasaan menguji untuk kegagalan berpindah secara langsung. Rasa percaya pada logika sendiri sama sekali tidak berpindah.

Berikut kebiasaan mana yang ikut terbawa, di titik mana kebiasaan itu berhenti menolong, dan bug infrastruktur yang membuktikan perbedaannya.

Mengapa insinyur biasanya cepat memahami systematic trading?

Karena mereka sudah tahu bahwa sistem gagal ketika asumsinya disembunyikan.

Trading adalah sebuah sistem. Ia punya input, output, edge case, failure mode, dan kejutan yang mahal. Kalau Anda sudah terbiasa berpikir dalam kerangka debugging, invariant, dan proses yang bisa direproduksi, Anda lebih dekat dengan pekerjaan ini daripada yang Anda kira. Disiplin yang membuat perangkat lunak andal adalah disiplin yang sama yang menjaga riset tetap jujur, dan pada dasarnya itu adalah disiplin keraguan.

Begitulah saya membangun Dquants engine yang saya kembangkan sendiri: seperti perangkat lunak, dengan proses yang diberi versi dan gerbang validasi yang harus dilewati sebuah ide sebelum menyentuh apa pun yang membuka posisi.

Apa tambahan dari latar belakang data science?

Skeptisisme yang sudah terkalibrasi terhadap noise.

Praktisi data science tahu sesuatu yang masih ditolak banyak trader, yaitu bahwa sebuah pola bisa nyata dan bisa juga sekadar noise. Sinyal tanpa validasi hanyalah cerita. Model tanpa disiplin out-of-sample hanyalah jebakan rasa percaya diri. Keunggulannya bukan pada prediksi, melainkan pada pengukuran dan eksperimen terkendali, khususnya pada kesediaan merancang uji yang bisa mempermalukan diri sendiri.

Apakah trader diskresioner tertinggal?

Tidak, dan menurut saya kerangka pertanyaannya sering keliru.

Trader diskresioner sering punya intuisi pasar yang nyata, dan intuisi bukanlah masalahnya. Intuisi baru berbahaya ketika ia tidak pernah dituliskan, karena aturan yang tidak tertulis tidak bisa diuji dan karenanya tidak bisa diperbaiki. Beralih ke systematic bukan berarti menghapus intuisi, melainkan memformalkan bagian yang berguna agar bisa diserang dengan data.

Master Volume Profile persis seperti itu: pembacaan diskresioner di sekitar level volume profile, ditulis ulang menjadi aturan eksplisit yang bisa saya debug.

Apa pergeseran yang sebenarnya saat beralih ke systematic?

Bukan dari manual ke otomatis, melainkan dari emosional ke terukur.

Pertanyaannya berubah dari "apakah saya merasa benar" menjadi "apakah prosesnya bertahan", dan satu pergantian itu saja menghemat bertahun-tahun. Di engine saya, sebuah perubahan baru dihitung setelah saya bisa mengukurnya dalam expectancy, drawdown, dan sensitivitas biaya. Perasaan bagus tentang sebuah perubahan bukanlah hasil. Itu hipotesis yang belum saya uji.

Apakah FOMO masalah psikologi atau masalah proses?

Keduanya, dan bagian prosesnya adalah bagian yang benar-benar bisa saya perbaiki.

Kalau aturannya kabur, rasa mendesak naik. Kalau validasinya lemah, setiap setup terlihat mendesak. Kalau pencatatannya buruk, saya tidak pernah belajar apa yang sebenarnya terjadi. Psikologi memang berperan, tetapi banyak hal yang disebut kegagalan disiplin sebenarnya adalah kegagalan spesifikasi. Karena itu batasannya hidup di dalam kode: filter sesi dan batas ukuran posisi yang tetap menarik keputusan keluar dari momen itu, saat saya paling tidak bisa diandalkan.

Mengapa reproduktibilitas jauh lebih penting daripada kedengarannya?

Karena hasil yang tidak bisa saya reproduksi bukan berarti salah, ia hanya belum siap, dan "belum siap" sudah merupakan jawaban yang berguna.

Validasi saya berjalan di atas setiap tick yang terekam dari feed broker, sekitar 160 juta tick untuk jendela pengujian, bukan di atas bar hasil pemodelan atau interpolasi. Rangkaian tick yang sama selalu menghasilkan transaksi yang sama dan kurva ekuitas yang sama, sehingga tidak tersisa keacakan yang bisa dipilih-pilih. Sebelum saya memercayai sebuah angka, research engine dan expert MetaTrader 5 harus memproses rangkaian tick yang identik dan harus sepakat.

Gerbang itu bukan formalitas. Ia sudah menangkap satu cacat nyata, dan itulah bagian berikutnya.

Di mana keunggulan latar belakang teknik berhenti?

Tepat di titik ketika saya mulai memercayai kode saya hanya karena saya yang menulisnya.

Contoh paling jelas dalam catatan saya adalah veto node-absorption yang saya uji, sebuah ide untuk melewatkan breakout yang terserap di node volume. Research engine menyebutnya nyaris netral, jadi ide itu memang sudah menuju penolakan. Di MetaTrader 5, konfigurasi yang sama justru kembali dengan minus 95 persen net. Selisihnya bukan pada strateginya, melainkan pada infrastruktur: MetaTrader menandai sekitar 74 persen breakout sebagai terserap, sementara engine C++ saya menandai sekitar 15 persen. Dua implementasi dari aturan yang sama ternyata tidak sepakat, dan hanya parity check yang membuat hal itu terlihat.

Itulah penyeimbang jujur bagi keunggulan awal tadi. Intuisi teknik saya mengatakan kedua implementasi itu cocok. Hanya pengujian yang tahu bahwa keduanya tidak cocok.

Periode itu merendahkan hati saya dengan cara lain juga. Lima lever riset berturut-turut yang saya bangun semuanya ditolak, termasuk sebuah veto arah aliran order yang premisnya ternyata memang salah. Otopsi tanpa model atas 2.117 entri menunjukkan bahwa entri melawan aliran yang saya anggap jebakan sebenarnya adalah pullback yang menguntungkan. Saya sudah merekayasa solusi untuk masalah yang tidak ada.

Seperti apa rasa percaya diri yang tenang jika diterjemahkan ke angka?

Tahu persis di mana bukti Anda berhenti.

Untuk konfigurasi emas, sampel tervalidasinya adalah 1.423 transaksi terhadap panjang track record minimum 192, jadi sekitar tujuh kali batas bawahnya, dan Deflated Sharpe Ratio, satu uji yang memang dirancang untuk menangkap keberuntungan dan overfitting, berada di 1.000 terhadap ambang 0.95. Itu angka-angka yang enak dilihat. Angka yang tidak enak dilihat justru lebih penting: konfigurasi tetap yang sama terbaca sekitar 3.8 Sharpe di dalam rezimnya sendiri dan sekitar 1.8 sepanjang siklus penuh, sedangkan distribusi drawdown Monte Carlo berada di sekitar 24 persen pada median dan 38 persen pada persentil ke-95, itulah sebabnya catatan saya menyebut ukuran posisi harus disiapkan untuk puncak drawdown 30 sampai 40 persen.

Semua itu adalah angka backtest dan proses konfirmasi dari scorecard emas saya sendiri. Tidak satu pun merupakan track record live.

Mengapa model yang jelas lebih baik daripada model yang pintar?

Karena model yang jelas bisa diaudit, sedangkan model yang pintar hanya bisa dipercaya.

Anda harus bisa menyebutkan apa yang diukur sebuah model, apa yang diabaikannya, dan kondisi apa yang dibutuhkannya. Model saya menandai setiap transaksi berdasarkan mode, sehingga atribusinya terbaca dan bukan diasumsikan: kaki breakout membawa 1.282 transaksi dengan profit factor 1.408, sedangkan kaki mean-reversion membawa 51 transaksi dengan 1.168. Angka kedua itu tipis, jauh di bawah batas 192 transaksi, jadi saya memperlakukannya sebagai lapisan tambahan kecil dan bukan separuh dari engine. Model yang lebih kabur akan membiarkan saya menyebutnya separuh engine tanpa pernah sadar bahwa saya sedang menebak.

Model jelas yang belum sempurna mengalahkan model kabur yang terdengar pintar, terutama karena ketika hasilnya memburuk, saya bisa menyebut aturan mana yang rusak.

Pertanyaan yang sering diajukan

Apakah harus bisa memrogram untuk trading secara sistematis? Tidak, tetapi Anda memerlukan kebiasaan yang diajarkan pemrograman, yaitu kontrol versi atas aturan Anda, uji yang bisa gagal, dan perhitungan biaya yang jujur. Banyak orang membangun kebiasaan itu tanpa menulis kode. Hambatannya jarang berupa sintaks, melainkan kesediaan merancang uji yang bisa membuktikan Anda salah.

Keterampilan software apa yang paling berguna untuk riset trading? Reproduktibilitas, debugging, dan berpikir dalam kerangka failure mode. Determinisme adalah yang terbesar: kalau input yang sama tidak menghasilkan output yang sama, tidak ada kesimpulan lanjutan yang aman. Perhitungan biaya juga penting, karena spread, komisi, dan slippage yang menentukan apakah sebuah edge benar-benar ada.

Apa itu parity check dalam backtesting? Itu adalah memastikan bahwa dua implementasi independen dari strategi yang sama, dalam kasus saya sebuah research engine C++ dan sebuah expert MetaTrader 5, menghasilkan hasil yang cocok pada rangkaian tick yang identik. Ini penting karena satu aturan bisa ditulis dengan dua cara yang tampak setara padahal tidak. Parity check saya menangkap persis situasi itu, ketika satu implementasi menandai sekitar 74 persen breakout sementara yang lain menandai sekitar 15 persen.

Mengapa backtest memakai tick dan bukan candle? Karena engine berbasis candle harus menebak apa yang terjadi di dalam bar, dan tebakan itu biasanya memperindah hasilnya. Pengujian pada level tick menghapus tebakan tersebut. Jendela validasi saya berjalan di atas sekitar 160 juta tick broker asli, bukan bar hasil pemodelan.

Apakah latar belakang data science memberi keunggulan dalam trading? Keunggulannya ada pada evaluasi, bukan pada prediksi. Mengetahui seperti apa wujud overfitting, mengapa pengujian out-of-sample tidak bisa ditawar, dan bagaimana sampel kecil menipu, semuanya lebih berharga daripada model tertentu mana pun. Yang perlu diwaspadai adalah kebiasaan memperlakukan pasar sebagai dataset yang rapi, karena distribusinya bergeser dan labelnya penuh noise.

Bisakah trader diskresioner menjadi sistematis? Bisa, dan intuisi mereka biasanya aset yang nyata begitu dituliskan sebagai aturan eksplisit. Bagian yang sulit bukan kodenya, melainkan menerima bahwa sebagian dari apa yang terasa seperti keahlian ternyata tidak bertahan setelah diukur.

Apakah Master Volume Profile punya track record live? Belum, dan saya tidak akan menyiratkan sebaliknya. Semua yang dipublikasikan sejauh ini adalah riset: backtest pada tick broker asli ditambah proses konfirmasi MetaTrader 5. Spread dibebankan pada setiap transaksi dalam model, tetapi slippage, latensi, dan swap belum dimodelkan, jadi hasil live sewajarnya diperkirakan lebih tipis daripada backtest.

Apakah semua ini menghilangkan risiko? Tidak. Semua ini menghilangkan beberapa cara tertentu untuk menjadi salah, dan itu klaim yang jauh lebih kecil. Setiap angka di atas bersifat historis, trading mengandung risiko termasuk risiko kerugian, dan tidak ada validasi sebanyak apa pun yang mengubah hipotesis menjadi kepastian.


Ditulis oleh KenKem, seorang software engineer dan founder dengan dua puluh tahun pengalaman, yang belajar quantitative trading secara terbuka dan mempublikasikan prosesnya, termasuk penolakan-penolakannya.

Artikel ini disusun dari post 61 sampai 72 dalam seri build-log KenKem. Hanya untuk tujuan edukasi. Bukan nasihat keuangan. Semua angka yang dikutip adalah hasil backtest atau proses konfirmasi, bukan track record live. Kinerja masa lalu tidak menjamin hasil di masa depan.

← All journal articles

Chat