Data historis adalah bahan baku backtest. Strategi yang ditulis dengan baik tetap dapat menghasilkan kesimpulan salah jika candle tidak lengkap, mode market keliru, atau rentang data tidak mewakili berbagai kondisi pasar.
Tentukan Pertanyaan Sebelum Mengunduh Data
Jangan mulai dengan “unduh semua data”. Tentukan dahulu:
- Exchange yang akan digunakan.
- Spot atau futures.
- Pair yang benar-benar likuid dan tersedia.
- Timeframe utama strategi.
- Informative timeframe.
- Detail timeframe untuk simulasi intrabar.
- Periode yang mencakup bull, bear, sideways, dan volatilitas ekstrem.
Semakin banyak data bukan selalu semakin baik. Dataset harus relevan, konsisten, dan dapat dipelihara.
Perintah Dasar Download Data
Contoh untuk spot:
freqtrade download-data \
--exchange binance \
--pairs BTC/USDT ETH/USDT \
--timeframes 5m 1h 4h \
--timerange 20220101-Untuk futures, tambahkan mode trading dan gunakan format pair yang sesuai:
freqtrade download-data \
--exchange binance \
--trading-mode futures \
--pairs BTC/USDT:USDT ETH/USDT:USDT \
--timeframes 5m 30m 1h 4h \
--timerange 20220101-Jalankan perintah sesuai versi Freqtrade. Beberapa exchange menyediakan data futures, funding, dan mark price dengan batas sejarah berbeda.
Memilih Timeframe
Timeframe menentukan resolusi keputusan. Strategi 1 jam tidak memerlukan data 1 menit untuk menghitung indikator utamanya, tetapi data detail 5 menit dapat membantu mensimulasikan urutan pergerakan di dalam candle.
Jika strategi menggunakan:
- Timeframe utama
30m. - Informative
1hdan4h. - Backtest detail
5m.
maka keempat timeframe tersebut perlu tersedia untuk semua pair dan rentang yang diuji.
Startup Candle dan Awal Backtest
Indikator memerlukan sejarah sebelum menghasilkan nilai stabil. EMA 200 pada timeframe 4 jam, misalnya, membutuhkan data jauh sebelum tanggal awal pengujian.
Freqtrade akan menggeser awal efektif untuk memenuhi startup_candle_count. Karena itu, jika ingin backtest dimulai 1 Januari, data sebaiknya diunduh dari tanggal lebih awal. Perhatikan log “moving start-date” dan awal efektif hasil backtest.
Feather, JSON, atau Parquet?
Freqtrade mendukung beberapa format penyimpanan. Feather umum digunakan karena cepat dan efisien untuk riset lokal. JSON mudah dibaca tetapi lebih besar dan lambat. Parquet juga efisien untuk analisis data.
Gunakan satu format secara konsisten. Jika mengubah format, pastikan backtest membaca direktori dan jenis data yang diharapkan.
Pemeriksaan Kualitas Data
Setelah download, jangan langsung percaya. Periksa:
1. Tanggal awal dan akhir setiap pair. Aset baru tidak memiliki data sepanjang BTC.
2. Candle kosong atau gap. Gangguan exchange dapat menciptakan interval hilang.
3. Volume nol. Bisa menunjukkan market tidak aktif atau masalah data.
4. Lonjakan harga tidak wajar. Bedakan peristiwa nyata dari bad tick.
5. Kesesuaian market. Data spot tidak boleh dipakai sebagai pengganti futures tanpa alasan.
6. Konsistensi informative timeframe. Candle 4 jam harus tersedia pada periode yang sama.
Gunakan perintah daftar data yang tersedia dan baca log saat backtest. Peringatan tentang data yang dimulai terlambat tidak boleh diabaikan.
Survivorship Bias dalam Pemilihan Pair
Jika Anda menguji hanya aset yang masih populer hari ini, hasil masa lalu mungkin terlalu optimistis. Aset yang gagal, delisting, atau kehilangan likuiditas tidak masuk ke universe.
Untuk strategi multi-pair, dokumentasikan alasan pemilihan pair dan kapan pair mulai tersedia. Gunakan universe yang realistis terhadap tanggal pengujian jika memungkinkan.
Data Futures: Funding dan Likuidasi
Backtest futures perlu mempertimbangkan lebih dari candle OHLCV:
- Funding fee dapat mengubah hasil posisi berdurasi panjang.
- Mark price dapat menentukan likuidasi dan stop tertentu.
- Leverage tier dan maintenance margin dapat berubah.
- Harga candle tidak menjamin order besar dapat terisi seluruhnya.
Karena itu, hasil futures harus diuji dengan buffer konservatif. Jangan menganggap level low atau high candle selalu tersedia untuk fill sempurna.
Memperbarui Data Tanpa Merusak Eksperimen
Simpan catatan kapan data terakhir diperbarui. Ketika membandingkan dua versi strategi, gunakan snapshot data dan timerange yang sama. Jika data ditambahkan di tengah eksperimen, hasil cache atau periode akhir dapat berubah.
Untuk riset berulang:
- Tetapkan timerange eksplisit.
- Gunakan
--cache noneketika memverifikasi perubahan penting. - Simpan versi strategi dan config bersama hasil.
- Jangan menimpa hasil lama yang masih menjadi baseline.
Checklist Data Siap Backtest
- Exchange dan trading mode sesuai target.
- Format pair benar.
- Semua timeframe utama, informative, dan detail tersedia.
- Data dimulai sebelum kebutuhan startup candle.
- Rentang efektif setiap pair sudah diperiksa.
- Gap dan anomali signifikan sudah ditinjau.
- Timerange eksperimen dicatat.
- Funding dan risiko futures dipahami.
Penutup
Data yang bersih tidak menjamin strategi profit, tetapi data buruk hampir pasti menghasilkan keputusan buruk. Perlakukan dataset seperti bagian dari kode: beri struktur, validasi, dan catatan versi.
Artikel selanjutnya akan menggunakan data tersebut untuk menjalankan backtest dari CLI dengan parameter yang dapat direproduksi.
Bacaan lanjutan
Ketersediaan data berbeda antar-exchange dan market. Periksa dokumentasi exchange serta log Freqtrade pada setiap download.




