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:
@@ -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 || {};
|
||||
|
||||
Reference in New Issue
Block a user