GaiaEx AcademyGaiaEx Academy
Peramalan Time Series untuk Trader Crypto
DeveloperAI & ML12 min read

Peramalan Time Series untuk Trader Crypto

Memprediksi pergerakan harga dengan model sekuensial

Bagikan Postingan

Memahami Data Time Series

Time series adalah urutan titik data yang diurutkan berdasarkan waktu — harga saham di setiap menit, closing Bitcoin harian, pembacaan suhu per jam. Yang membedakan time series dari data lain adalah bahwa urutan itu penting. Mengacak baris dalam dataset klasifikasi itu tidak masalah; mengacak time series menghancurkan maknanya.

Tiga properti mendefinisikan karakter dari time series apa pun. Trend adalah arah jangka panjang — harga BTC bergerak dari $3,000 di awal 2019 ke $60,000 pada akhir 2021, sebuah trend naik yang jelas. Seasonality mengacu pada pola berulang pada interval tetap — pasar crypto sering melihat volume meningkat selama jam pasar AS dan aktivitas menurun di akhir pekan. Stationarity berarti properti statistik seperti mean dan varians tetap konstan seiring waktu. Sebagian besar time series finansial bersifat non-stationary — harga melayang naik atau crash — yang menciptakan tantangan bagi model yang berasumsi distribusi stabil.

Sebelum memasukkan data finansial ke model apa pun, kamu perlu mentransformasikannya. Mengambil log return (log natural dari rasio harga antar-periode berurutan) mengonversi harga non-stationary menjadi return yang kira-kira stationary. Differencing — mengurangkan nilai sebelumnya — mencapai efek serupa. Transformasi ini bukan opsional; mereka adalah prasyarat bagi sebagian besar metode forecasting untuk berfungsi dengan benar.

Dekomposisi time series finansial (konseptual) Trend Gerakan musiman waktu → Observed = trend + seasonality + noise (return sering menstabilkan noise)
Harga sesungguhnya memadukan drift lambat, pola berulang, dan keacakan — model menargetkan bagian yang ingin kamu prediksi.

ARIMA: Baseline Klasik

ARIMA (AutoRegressive Integrated Moving Average) telah menjadi kuda beban forecasting time series selama beberapa dekade. Ia mengombinasikan tiga komponen: AR(p) memakai p nilai sebelumnya untuk memprediksi nilai selanjutnya, I(d) men-difference series sebanyak d kali untuk mencapai stationarity, dan MA(q) memodelkan error term dari prediksi sebelumnya.

Untuk data finansial, ARIMA berfungsi sebagai baseline kritis. Model machine learning apa pun yang tidak bisa mengungguli ARIMA yang sudah di-tuning dengan baik pada dataset spesifikmu hanya menambah kompleksitas tanpa nilai. Dalam praktiknya, ARIMA sering berperforma cukup mengejutkan untuk forecast horizon pendek pada data frekuensi rendah (candle harian atau mingguan) di mana rasio signal-to-noise masih bisa dikelola.

# Baseline ARIMA untuk return harian BTC
from statsmodels.tsa.arima.model import ARIMA
import pandas as pd

returns = prices.pct_change().dropna()
model = ARIMA(returns, order=(2, 0, 1))  # AR(2), tanpa differencing (return sudah stationary), MA(1)
fitted = model.fit()
forecast = fitted.forecast(steps=5)
print(f"AIC: {fitted.aic:.2f}")  # AIC lebih rendah = model lebih baik

Keterbatasan ARIMA menjadi jelas ketika berhadapan dengan pola nonlinear yang kompleks, perubahan rezim, dan feature space berdimensi tinggi. Di sinilah deep learning masuk ke dalam gambaran.

ARIMA(p,d,q): bagaimana nilai lalu dan error memasok forecast AR(p) y memakai yt-1…t-p I(d) d differencing MA(q) error εt-1…t-q forecast ŷt+1 Pilih (p,d,q) dengan ACF/PACF, AIC, atau rolling CV — lalu bandingkan dengan baseline ML. Return finansial sering menetapkan d=0 saat langsung memakai log-return
Autoregression, integration (differencing), dan shock moving-average bergabung menjadi satu mesin forecast linear yang ringkas.

Network LSTM untuk Pemodelan Sekuens

Network Long Short-Term Memory (LSTM) adalah jenis recurrent neural network yang didesain untuk mempelajari ketergantungan jangka panjang dalam data sekuensial. Berbeda dari RNN biasa, yang mengalami vanishing gradient dan melupakan informasi hanya setelah beberapa time step, LSTM memakai mekanisme gating — forget gate, input gate, dan output gate — untuk secara selektif menyimpan atau membuang informasi selama ratusan langkah.

Untuk time series finansial, LSTM menawarkan dua keunggulan dibanding ARIMA: ia bisa memodelkan hubungan nonlinear (dinamika harga jarang bersifat linear), dan ia bisa memasukkan banyak fitur input secara bersamaan — bukan hanya harga lalu, tapi volume, volatilitas, funding rate, ketidakseimbangan order book, dan sinyal lain apa pun yang kamu yakini membawa informasi prediktif.

Menyiapkan data untuk LSTM membutuhkan windowing yang cermat. Kamu membuat sekuens input dengan panjang tetap (misalnya, 60 time step) dipasangkan dengan nilai target (harga atau return selanjutnya). Normalisasi sangat penting — skalakan fitur ke [0, 1] atau standarisasi ke mean nol dan varians satu. Tapi inilah jebakannya: kamu harus fit scaler hanya pada data training dan mentransformasikan data validasi dan test memakai parameter yang sama. Fitting pada seluruh dataset membocorkan informasi masa depan.

Jangan pernah menormalisasi memakai statistik yang dihitung dari seluruh dataset. Fit scaler-mu hanya pada training set, lalu terapkan itu pada validation dan test set. Satu kesalahan ini menyebabkan look-ahead bias lebih banyak daripada kesalahan persiapan data lainnya.

# Persiapan data LSTM dengan normalisasi yang benar
import numpy as np
from sklearn.preprocessing import MinMaxScaler

def create_sequences(data, window=60):
    X, y = [], []
    for i in range(window, len(data)):
        X.append(data[i - window:i])
        y.append(data[i, 0])  # Prediksi close selanjutnya
    return np.array(X), np.array(y)

# Fit scaler HANYA pada data training
scaler = MinMaxScaler()
train_scaled = scaler.fit_transform(train_data)
test_scaled = scaler.transform(test_data)  # Transform, jangan fit

X_train, y_train = create_sequences(train_scaled)
X_test, y_test = create_sequences(test_scaled)

Mekanisme Attention dan Temporal Fusion Transformer

Mekanisme self-attention yang merevolusi natural language processing juga terbukti sama kuatnya untuk time series. Bukannya memproses sekuens langkah demi langkah seperti LSTM, attention memungkinkan model melihat semua time step secara bersamaan, mempelajari momen historis mana yang paling relevan untuk memprediksi masa depan.

Temporal Fusion Transformer (TFT), diperkenalkan oleh Google Research pada 2021, dibangun khusus untuk forecasting time series multi-horizon. Ia mengombinasikan beberapa inovasi:

  • Variable selection networks — Secara otomatis mempelajari fitur input mana yang paling penting, memberikan interpretabilitas built-in. Kamu bisa melihat apakah model lebih mengandalkan momentum harga, volume, atau funding rate.
  • Gated residual networks — Menekan input yang tidak relevan dan memungkinkan model menangani interaksi fitur nonlinear yang kompleks.
  • Multi-head attention over time — Mengidentifikasi time step historis mana yang paling informatif untuk setiap horizon prediksi.
  • Output quantile — Menghasilkan interval prediksi (persentil ke-10, ke-50, ke-90) bukan estimasi titik, memberimu ukuran ketidakpastian — esensial untuk manajemen risiko dalam trading.

Dalam praktiknya, TFT telah mengungguli LSTM dan model tradisional pada berbagai benchmark termasuk forecasting permintaan listrik, prediksi penjualan ritel, dan pemodelan volatilitas finansial. Untuk pasar crypto yang bisa diakses melalui platform seperti GaiaEx, kemampuan TFT untuk memproses input heterogen — metadata statis (tipe aset, tanggal listing), nilai masa depan yang sudah diketahui (hari dalam seminggu, jam dalam sehari), dan fitur time-varying yang teramati (harga, volume, metrik on-chain) — membuatnya sangat sesuai.

Contoh Praktis: Memprediksi Arah Harga BTC

Mari kita jujur soal apa yang bisa dicapai. Memprediksi harga persis Bitcoin besok pada dasarnya adalah hal yang mustahil. Efficient market hypothesis (EMH) berargumen bahwa harga sudah mencerminkan semua informasi yang tersedia, membuat prediksi konsisten sebagai usaha yang sia-sia. Dalam crypto, bentuk lemah dari EMH masih bisa diperdebatkan — pasar kurang efisien dibanding equity — tapi rasio noise-to-signal tetap brutal.

Tujuan yang lebih realistis adalah akurasi arah: apakah BTC akan close lebih tinggi atau lebih rendah dari harga openingnya? Masalah klasifikasi biner ini lebih bisa ditangani, dan bahkan perbaikan kecil di atas akurasi 50% (katakanlah, 53–55% secara konsisten) bisa sangat profitable dengan position sizing dan manajemen risiko yang tepat.

Pipeline yang praktis terlihat seperti ini:

  • Fitur: return 60-periode, RSI, histogram MACD, lebar Bollinger Band, rasio volume (saat ini vs. rata-rata 20-periode), funding rate dari kontrak perpetual, dominasi BTC, dan perubahan open interest.
  • Model: LSTM dua layer dengan 128 hidden unit, dropout 0,3, diikuti oleh dense layer dengan aktivasi sigmoid untuk klasifikasi biner.
  • Split: Latih pada 2020–2023, validasi pada Jan–Jun 2024, uji pada Jul–Des 2024. Jangan pernah mengacak — selalu split secara kronologis.
  • Evaluasi: Akurasi arah, precision/recall pada prediksi naik vs. turun, dan — yang paling penting — simulasi P&L dengan asumsi ukuran posisi tetap per sinyal.

Jika modelmu mencapai akurasi arah 54% pada test set out-of-sample dengan profit factor di atas 1,2, kamu punya sesuatu yang layak untuk dieksplorasi lebih jauh. Jika ia menunjukkan akurasi 65%, hampir pasti kamu overfit. Edge sesungguhnya di pasar finansial itu kecil, dan siapa pun yang mengklaim sebaliknya sedang menjual sesuatu.

Metrik Evaluasi dan Pendekatan Ensemble

Memilih metrik yang tepat menentukan apakah kamu mengoptimalkan hal yang benar. MAE (Mean Absolute Error) memberitahumu besaran rata-rata error prediksimu dalam unit yang sama dengan datamu — intuitif tapi tidak memberi penalti proporsional pada error besar. RMSE (Root Mean Squared Error) mengkuadratkan error sebelum dirata-ratakan, memberi penalti berat pada outlier — sesuai ketika satu kesalahan prediksi katastrofik lebih penting daripada banyak kesalahan kecil. Akurasi arah mengukur persentase berapa kali modelmu memprediksi dengan benar apakah harga naik atau turun — sering menjadi metrik paling relevan untuk sinyal trading.

Metode ensemble mengombinasikan prediksi dari beberapa model untuk mengurangi varians dan meningkatkan robustness. Pendekatan umum meliputi:

  • Averaging sederhana — Merata-ratakan prediksi dari LSTM, Transformer, dan ARIMA. Jika setiap model menangkap aspek sinyal yang berbeda, ensemble mengungguli model individual mana pun.
  • Stacking — Melatih sebuah meta-model (misalnya, gradient-boosted tree) untuk mempelajari kombinasi optimal dari prediksi model dasar.
  • Regime-aware switching — Memakai detektor rezim volatilitas untuk memilih model mana yang dipercaya. LSTM mungkin unggul di pasar trending sementara model mean-reversion mengungguli dalam kondisi ranging.

Apa pun pendekatan yang kamu ambil, ingatlah bahwa jarak antara riset dan produksi itu luas. Model yang memprediksi arah BTC dengan akurasi 55% di sebuah Jupyter notebook harus bertahan dari latensi, slippage, dan biaya transaksi ketika dieksekusi secara live lewat platform seperti GaiaEx. Bangun pipeline evaluasimu untuk mensimulasikan realitas ini sejak hari pertama — bukan sebagai renungan belakangan.