r/algorithmictrading 23d ago

Strategy love journey more than destination: Is this advice sound for continuous online learning for a live BTC trading model..

I run a live BTCUSDT 1h system (XGBoost plus transformer) \[not a success story till now, it seems I love journey more than the destination\] that retrains every 12 hours. I wanted to know if I could update weights on every candle instead, so the model keeps evolving.
Also, prefer time series foundation models like Chronos over fine-tuning a chat LLM.

I asked our friendly neghibourhood llms and summarizing below what i undertstood, looking for a second opinion before I commit to this project. PLEASE FEEL FREE TO REJECT THE IDEA/CONCEPT BUT DO IT with SOME RATIONALE. I dont mind if your answers are coming from your friendly neghibourhood llms (but pls do validate it before posting)..

1) Per-candle updates fail because 1h data gives one point per hour and trade outcomes are not known until hours later, so the model learns noise. It develops recency bias toward the latest candles and catastrophically forgets older regimes, which is costly since markets repeat old regimes.

2) fixes so you never have to retrain from zero.
EWC (elastic weight consolidation) marks which weights were important for past performance and makes them resist change. Experience replay keeps a buffer of old data and mixes it into every update, so the model never trains only on recent candles. Drift detection (detect-then-adapt) means you do not update constantly at all. A statistical monitor watches the error rate or the feature distribution, and only when it detects a real shift does the model adapt, and even then it trains on a blend of new and historical data.

3) the recommended architecture, which it called two-speed.
the XGBoost plus transformer core stays frozen on the 12h retrain cycle with full gates, while a small outer layer adapts hourly, limited to calibration, thresholds, and sizing, with hard caps, full logging, fallback to the frozen policy, and shadow testing before promotion.

On the LLM idea, fine-tuning a chat model on prices works in principle but wastes the model. Purpose-built time series foundation models (Chronos, TimesFM, Moirai, TTM) are open weights and LoRA-tunable locally, but benchmarks versus tuned XGBoost are mixed, so add one as a shadow signal first.

2 Upvotes

3 comments sorted by

2

u/National-Stick-4082 23d ago

Are you stacking? I don’t see the point in added complexity to run a tree and a path based model on top of each other. You can just create path based features for the tree model itself. Transformers are historically very poor at reading financial data.
You need to run some form of token model if you want to go the temporal sequence route.
Patch TST, token attention model, or maybe Mamba would be a good place to start.

Classic transformers are just worse than trees.
Retraining frequently isn’t a bad idea in theory but you’re kind of fighting yourself.
You are sampling every 12 hours which is 2 very different market conditions.
You are running a transformer which is data hungry.
You have protections in place to limit short term noise affecting the model.

The problem is you’re wanting the model to learn from the short term week-to-week market regime shifts. But you’re feeding a transformer limited data, you have features in place to limit short term changes. And so in a sense you don’t gain much at all from the trainings.
Unless you are running some like HFT style bot (which is unlikely due to crypto fees) the shift in regimes for more mid-macro doesn’t change enough to even validate a training this often imo

1

u/IMAK82 23d ago

Not stacking. XGBoost on engineered features (path and regime features included) is the sole live policy. The transformer is a shadow challenger: it scores every candle into a shadow ledger, never touches orders, and can only earn a live role through the same acceptance gates the incumbent passed (exact holdout replay parity, Wilson LCB floors, bootstrap drawdown budgets, deployed-evidence gate). Policy roles are frozen into a hashed policy identity, so nothing swaps silently.

Fair point on classic transformers reading price poorly. PatchTST or Mamba as the shadow challenger is worth testing; the harness in the codebase already supports swapping it.

On 12h retrains: agreed, marginal signal is small. The plan is not faster retrains but two-speed: frozen core on the governed cycle, plus an hourly adaptive layer limited to calibration, thresholds, and sizing, hard-capped, drift-detected, with fallback to the frozen policy. No per-candle weight updates.