Diferencovatelný simulátor pro přímou optimalizaci Sharpeho poměru v algoritmickém obchodování
V algoritmickém obchodování založeném na ML se modely tradičně učí předpovídat výnos nebo směr ceny pomocí MSE nebo křížové entropie, a hodnocení probíhá podle Sharpeho poměru s ohledem na náklady. To vytváří mezeru: přesné předpovědi mikropohybů nezaručují ziskovost strategie v out-of-sample testech. DiffQuant odstraňuje proxy cíle tím, že vytváří jednotný diferencovatelný graf od tržních funkcí až po konečný PnL a Sharpe. Walk-forward test ukazuje Sharpe +1,73 a výnos +8,22 % po poplatcích.
Problémy klasického schématu s proxy cíli
Standardní postup odděluje předpověď a obchodování:
- Model minimalizuje MSE na return_{t+1}.
- Pozice se tvoří heuristikami.
- Backtester aplikuje poplatky dodatečně.
To vede k:
- Neshodě prostorů chyb: přesnost na šumových výkyvech vyvolává hyperaktivitu a ztráty na nákladech.
- Absenci gradientu podle velikosti pozice: model se neučí agresivitě vstupů.
- Ignorování nákladů při učení: slippage a komise jsou mimo výpočetní graf.
DiffQuant integruje pozici, simulaci PnL a metriky do PyTorch grafu, přímo propaguje gradienty.
Diferencovatelný obchodní simulátor
Simulátor počítá PnL jako tenzorové operace pro horizont t ∈ [0, H-1]:
$$r_t = \frac{c_t - c_{t-1}}{|c_{t-1}| + \varepsilon}$$
$$gross_t = p_{t-1} \cdot r_t$$
$$cost_t = smooth\_abs(\Delta p_t) \cdot (commission + slippage)$$
$$pnl_t = gross_t - cost_t$$
Klíčový bod je smooth_abs pro diferencovatelnost:
$$smooth\_abs(x) = \sqrt{x^2 + \varepsilon}, \quad \varepsilon = 10^{-6}$$
To zajišťuje C^∞-hladkost v okolí nuly, kde politika začíná v plochém režimu, a vyhýbá se subgradientním přerušením.
Gradient od -Sharpe prochází přes PnL → pozice → model, učí zohledňovat náklady end-to-end.
Architektura politiky na iTransformer
Základ je iTransformer (ICLR 2024): invertovaný transformér, kde tokeny jsou kanály funkcí, ne časové kroky. Pro finanční data to zachycuje závislosti mezi kanály (cena-objem-volatilita).
Konfigurace: d_model=32, n_layers=4, n_heads=2, d_ff=64 (52k parametrů).
Úplný graf:
- Normalizace z-score podle kontextového okna (B, ctx, F) bez look-ahead.
- iTransformerEncoder.
- Konkatenace extras: [prev_pos, prev_delta, t/H, (H-t)/H].
- PolicyHead: direction_head × gate_head.
Pozice: $$p_t = \tanh\left(\frac{d_t}{\tau_{dir}}\right) \times \sigma\left(\frac{g_t}{\tau_{gate}}\right)$$
Gate signál maskuje nejisté směry (obdoba action maskingu). Inicializace gate_bias=-1,0 stabilizuje začátek v near-flat.
Posuvný rollout:
for t in range(H):
window = full_seq[:, t : t + ctx, :]
window_norm = normalize_context(window)
extras = [prev_pos, prev_delta, t/H, (H-t)/H]
pos_t = model(window_norm, extras)
positions_list.append(pos_t)
positions = cat(positions_list)
step_pnl = simulator.simulate(closes, positions)
loss = hybrid_loss(step_pnl, positions)
loss.backward()
Hybridní loss proti patologiím
Čistý Sharpe vede k churning, plochému kolapsu, long biasu, terminální expozici a slepotě vůči propadům. Hybridní loss to řeší:
$$\mathcal{L} = \lambda_1 \cdot (-Sharpe) + \lambda_2 \cdot turnover + \lambda_3 \cdot drawdown_{log} + \lambda_4 \cdot |p_H| + \lambda_5 \cdot (\hat{f} - f^*)^2 + \lambda_6 \cdot |\bar{p}|$$
- $\lambda_2$: pokuta za obrat proti churning.
- $\lambda_3$: log-propad pro odolnost.
- $\lambda_4$: nulová expozice na konci horizontu.
- $\lambda_5$: cílová plochá část přes sigmoidu.
- $\lambda_6$: anti-bias, klíčové na býčích datech.
$$drawdown_{log} = mean(cummax(cumsum(log(1+pnl))) - cumsum(log(1+pnl)))$$
Mirror augmentace pro symetrii
Trénink (2024–2025) — býčí BTC. Bez opatření model → long-only. Mirror augmentace invertuje ceny a funkce na části dávek, vytváří symetrické páry.
Výsledek: short_fraction 17,3 % (test), 20,9 % (backtest).
Experiment: data a rozdělení
| Parametr | Hodnota |
|----------|----------|
| Nástroj | BTCUSDT Binance Futures |
| Rozlišení | 30min svíčky (agregace z 1min) |
| Období | 2021–2025 |
Rozdělení:
- Trénink: leden 2024 – březen 2025.
- Test: červenec–září 2025.
- Backtest: říjen–prosinec 2025.
- Walk-forward OOS.
Co je důležité
- Jednotný diferencovatelný graf od funkcí k Sharpe řeší problémy proxy cílů, včetně nákladů a velikosti pozice.
- iTransformer + direction×gate poskytuje mezikanálovou pozornost a jisté obchodování.
- Hybridní loss s anti-bias předchází patologiím jako churning a long-only.
- Mirror augmentace dává symetrickou politiku na asymetrických datech.
- Walk-forward Sharpe +1,73 po poplatcích na BTC OOS.
— Editorial Team
Zatím žádné komentáře.