Regime-switching Avellaneda-Stoikov + Advanced Strategies research doc

Implemented regime detection in paper trader:
- Rolling 30-tick volatility classifies market as LOW_VOL/NORMAL/HIGH_VOL
- A-S fill probability adapts: 25% (low vol), 15% (normal), 8% (high vol)
- HIGH_VOL with spreads >$30: skip trading (adverse selection protection)
- Regime shown on dashboard header with color-coded badge

Added docs/ADVANCED_STRATEGIES.md — comprehensive research covering:
  1. Deep Learning LOB Prediction (Transformers/TLOB)
  2. Latency Arbitrage in Fragmented Markets
  3. Hawkes Process OFI Modeling
  4. Cross-Chain MEV Arbitrage
  5. Institutional Capital Flow Arbitrage (ETF flows)
  6. Hybrid Transformer + Hawkes Fusion
  7. Implementation Roadmap (Phase 1-4)

All strategies referenced with papers from arXiv, SSRN, and empirical studies.
This commit is contained in:
ramseshk
2026-08-04 04:54:26 +00:00
parent ba29e12f60
commit acf3a556ec
3 changed files with 267 additions and 10 deletions
+9 -1
View File
@@ -66,6 +66,9 @@ td{font-family:var(--mono);font-size:11px;padding:6px 12px;border-bottom:1px sol
.data-badge{display:inline-block;font-size:9px;padding:3px 8px;border-radius:4px;font-weight:500;margin-left:8px}
.data-badge.mainnet{background:rgba(168,85,247,0.15);color:var(--purple)}
.data-badge.testnet{background:rgba(245,158,11,0.15);color:var(--amber)}
.data-badge.normal{background:rgba(34,197,94,0.15);color:var(--green)}
.data-badge.low_vol{background:rgba(59,130,246,0.15);color:var(--blue)}
.data-badge.high_vol{background:rgba(239,68,68,0.15);color:var(--red)}
footer{text-align:center;padding:20px;font-size:10px;color:#3f3f46}footer a{color:#52525b;text-decoration:none}footer a:hover{color:var(--text)}
@media(max-width:640px){
.wrap{padding:12px 8px}.top{flex-direction:column;align-items:flex-start}.totals{text-align:left;width:100%}
@@ -100,7 +103,7 @@ footer{text-align:center;padding:20px;font-size:10px;color:#3f3f46}footer a{colo
<!-- PAPER -->
<div class="panel" id="pnl-paper">
<div class="stats" id="paper-stats"></div>
<div class="card"><h3>Equity Curve <span class="desc">per-strategy · Hyperliquid Mainnet (simulated)</span></h3><div class="chart-wrap" id="paper-chart" style="height:300px"></div></div>
<div class="card"><h3>Equity Curves <span class="desc">per-strategy · <span id="paper-regime"></span></span></h3><div class="chart-wrap" id="paper-chart" style="height:300px"></div></div>
<div class="grid" id="paper-grid"></div>
<div class="card"><h3>Trade Log</h3><div class="tbl-scroll"><table><thead><tr><th>Time</th><th>Strategy</th><th>Side</th><th>Size</th><th>Price</th><th>Fee</th><th>PnL</th></tr></thead><tbody id="paper-tb"></tbody></table></div></div>
</div>
@@ -210,6 +213,11 @@ function renPaper(d){
if(!d)return;
var pnl=d.total_pnl||0;document.getElementById('stpnl').textContent=(pnl>=0?'+':'')+'$'+Math.abs(pnl).toFixed(2);document.getElementById('stpnl').className='pnl '+(pnl>=0?'up':'dn');
document.getElementById('stpct').textContent='Mainnet Paper · Equity: $'+(d.total_equity||100000).toFixed(0)+' · BTC: $'+(d.btc_price||0).toLocaleString('en-US',{maximumFractionDigits:0});
// Regime badge
var regime = d.regime || 'NORMAL';
var regimeLabel = regime.replace('_',' ').toLowerCase();
var regimeClass = regime.toLowerCase().replace('_','-');
document.getElementById('paper-regime').innerHTML = 'Regime: <span class="data-badge '+regimeClass+'">'+regimeLabel+'</span>';
renGrid('paper-grid',d.strategies||{},d.base_equity||100000,d.reserve||30000,'paper-stats','paper-tb',paperChart,null,d.equity_history||[],d.trades||[]);
// Per-strategy equity curves
var seq = d.strategy_equity || {};