bit-backtest-lab / .preview /components.html
Bit-Trading-Company's picture
Backtest Lab v1.0.0
27c0524 verified
Raw
History Blame Contribute Delete
26.8 kB
<!doctype html><html><head><meta charset='utf-8'><style>@font-face{font-family:'Styrene A';src:url('file:///Users/bit-trading-company/Desktop/dev/hugging-face/space/assets/fonts/StyreneA-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Styrene A';src:url('file:///Users/bit-trading-company/Desktop/dev/hugging-face/space/assets/fonts/StyreneA-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Styrene A';src:url('file:///Users/bit-trading-company/Desktop/dev/hugging-face/space/assets/fonts/StyreneA-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Mac Minecraft';src:url('file:///Users/bit-trading-company/Desktop/dev/hugging-face/space/assets/fonts/MacMinecraft.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{
--pure-black:#000000;
--pure-white:#ffffff;
--stone-950:#161512;
--stone-900:#1d1c18;
--stone-850:#24221d;
--stone-800:#2c2a24;
--stone-700:#3d3a32;
--stone-600:#54503f;
--stone-500:#6f6a56;
--stone-400:#918c76;
--stone-300:#b6b09a;
--stone-200:#d6d1bf;
--stone-100:#ece8dc;
--stone-50:#f5f3ea;
--off-white:#f7f4ec;
--accent-moss:#68781e;
--accent-moss-strong:#7d901f;
--accent-moss-dim:#4d5817;
--accent-amber:#af9209;
--accent-amber-strong:#cfab0a;
--accent-amber-dim:#7d6a09;
--mute-red:#8a5a54;
--mute-orange:#8a6f54;
--mute-yellow:#8a8154;
--mute-green:#6e8a54;
--mute-teal:#54898a;
--mute-blue:#59656e;
--mute-indigo:#5c5c8a;
--mute-violet:#75588a;
--fin-up:oklch(66% 0.22 149);
--fin-up-strong:oklch(72% 0.24 149);
--fin-down:oklch(62% 0.26 24);
--fin-down-strong:oklch(68% 0.27 24);
--fin-flat:var(--stone-400);
--fin-up-cvd:oklch(58% 0.13 240);
--fin-up-cvd-strong:oklch(64% 0.14 240);
--fin-down-cvd:oklch(58% 0.13 55);
--fin-down-cvd-strong:oklch(64% 0.14 55);
--fin-buy:var(--fin-up);
--fin-buy-strong:var(--fin-up-strong);
--fin-sell:var(--fin-down);
--fin-sell-strong:var(--fin-down-strong);
--focus-ring:var(--accent-amber);
--bg-canvas:var(--stone-950);
--bg-panel:var(--stone-900);
--bg-raised:var(--stone-850);
--bg-sunken:var(--pure-black);
--border-subtle:var(--stone-800);
--border-default:var(--stone-700);
--border-strong:var(--stone-500);
--text-primary:var(--off-white);
--text-secondary:var(--stone-300);
--text-tertiary:var(--stone-500);
--text-disabled:var(--stone-600);
--text-inverse:var(--stone-950);
--surface-accent-fg:var(--stone-950);
--glass-bg:rgba(29,28,24,0.72);
--glass-border:rgba(247,244,236,0.14);
--glass-blur:20px;
}
[data-theme="dark"]{
--bg-canvas:var(--stone-950);
--bg-panel:var(--stone-900);
--bg-raised:var(--stone-850);
--bg-sunken:var(--pure-black);
--border-subtle:var(--stone-800);
--border-default:var(--stone-700);
--border-strong:var(--stone-500);
--text-primary:var(--off-white);
--text-secondary:var(--stone-300);
--text-tertiary:var(--stone-500);
--text-disabled:var(--stone-600);
--text-inverse:var(--stone-950);
--surface-accent-fg:var(--stone-950);
}
[data-colorblind="true"]{
--fin-up:var(--fin-up-cvd);
--fin-up-strong:var(--fin-up-cvd-strong);
--fin-down:var(--fin-down-cvd);
--fin-down-strong:var(--fin-down-cvd-strong);
}
[data-theme="light"]{
--bg-canvas:var(--off-white);
--bg-panel:var(--stone-50);
--bg-raised:var(--pure-white);
--bg-sunken:var(--stone-100);
--border-subtle:var(--stone-200);
--border-default:var(--stone-300);
--border-strong:var(--stone-500);
--text-primary:var(--stone-950);
--text-secondary:var(--stone-700);
--text-tertiary:var(--stone-500);
--text-disabled:var(--stone-300);
--text-inverse:var(--off-white);
--surface-accent-fg:var(--stone-950);
--glass-bg:rgba(245,243,234,0.72);
--glass-border:rgba(22,21,18,0.1);
}
/* Custom themes: copy this block, rename the [data-theme] value, and override only
the tokens that should change. Every component reads these tokens, never raw colors,
so a new theme needs no component edits — set data-theme on any ancestor (SidebarNav's
theme selector does this at the app root) and everything downstream updates. */
[data-theme="custom"]{
--bg-canvas:var(--stone-950);
--bg-panel:var(--stone-900);
--bg-raised:var(--stone-850);
--bg-sunken:var(--pure-black);
--border-subtle:var(--stone-800);
--border-default:var(--stone-700);
--border-strong:var(--accent-amber-dim);
--text-primary:var(--off-white);
--text-secondary:var(--stone-300);
--text-tertiary:var(--stone-500);
--text-disabled:var(--stone-600);
--text-inverse:var(--stone-950);
--surface-accent-fg:var(--stone-950);
}
:root{
--font-styrene:'Styrene A',sans-serif;
--font-system:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
--font-tiny:'Mac Minecraft',monospace;
--font-body:var(--font-system);
--font-heading:var(--font-styrene);
--weight-heading:400;
--weight-body:300;
--weight-styrene-thin:100;
--weight-styrene-light:300;
--weight-styrene-regular:400;
--weight-styrene-medium:500;
--weight-mono:400;
--weight-tiny:400;
--weight-strong:700;
--text-2xs:8px;
--text-xs:10px;
--text-sm:11px;
--text-base:12px;
--text-md:16px;
--text-lg:19px;
--text-xl:25px;
--text-2xl:33px;
--text-3xl:45px;
--text-4xl:62px;
--leading-tight:1.1;
--leading-snug:1.3;
--leading-normal:1.5;
--leading-relaxed:1.7;
--tracking-tight:-0.01em;
--tracking-normal:0;
--tracking-wide:0.04em;
--tracking-wider:0.12em;
}
:root{
--space-0:0px;
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:48px;
--space-8:64px;
--space-9:96px;
--radius-0:0px;
--radius-sm:4px;
--radius-md:8px;
--radius-pill:999px;
--border-width:1px;
--border-width-strong:2px;
--ease:ease;/* @kind other */
--duration:1s;/* @kind other */
--shadow-none:none;
--shadow-panel:0 0 0 var(--border-width) var(--border-default);
--z-header:100;/* @kind other */
--z-menu:200;/* @kind other */
--z-modal:300;/* @kind other */
--z-toast:400;/* @kind other */
}
/* ================= app shell ================= */
.gradio-container{
max-width:100% !important; padding:0 !important;
background:var(--bg-canvas) !important;
font-family:var(--font-body); font-weight:var(--weight-body);
color:var(--text-primary); font-size:var(--text-base);
}
.gradio-container *{ border-radius:var(--radius-sm) !important; }
footer{ display:none !important; }
.gap.svelte-vt1mxs, .gradio-container .gap{ gap:var(--space-2) !important; }
/* ================= typography ================= */
.bit-h1,.bit-h2,.bit-h3{
font-family:var(--font-heading); font-weight:var(--weight-heading);
letter-spacing:var(--tracking-wide); text-transform:uppercase;
color:var(--text-primary); margin:0;
}
.bit-h1{ font-size:var(--text-md); }
.bit-h2{ font-size:var(--text-md); }
.bit-h3{ font-size:var(--text-base); }
.bit-micro{
font-family:var(--font-tiny); font-size:var(--text-xs);
letter-spacing:var(--tracking-wider); text-transform:uppercase;
color:var(--text-tertiary); line-height:1.6;
}
.bit-spacer{ flex:1; }
/* ================= top bar ================= */
.bit-topbar{
display:flex; align-items:center; gap:var(--space-3); flex-wrap:wrap;
background:var(--bg-panel);
border-bottom:var(--border-width) solid var(--border-default);
padding:var(--space-3) var(--space-4);
position:sticky; top:0; z-index:var(--z-header);
}
.bit-mark{
width:20px; height:20px; background:var(--accent-amber);
display:inline-block; flex:0 0 20px;
box-shadow:inset 0 0 0 3px var(--bg-panel), inset 0 0 0 6px var(--accent-amber);
}
.bit-wordmark{
font-family:var(--font-heading); font-size:var(--text-md); font-weight:500;
letter-spacing:var(--tracking-wide); color:var(--text-primary);
}
.bit-slash{ color:var(--text-tertiary); }
.bit-chip{
display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
font-family:var(--font-mono); font-size:var(--text-sm);
border:var(--border-width) solid var(--border-default);
padding:3px var(--space-2); color:var(--text-secondary); background:transparent;
}
.bit-chip-ok{ color:var(--accent-moss-strong); border-color:var(--accent-moss-dim); }
.bit-chip-run{ color:var(--accent-amber-strong); border-color:var(--accent-amber-dim); }
.bit-chip-warn{ color:var(--fin-down); border-color:var(--fin-down); }
.bit-chip-accent{ color:var(--stone-950); background:var(--accent-amber);
border-color:var(--accent-amber); }
.bit-chip-ctx{ color:var(--text-tertiary); }
a.bit-link{ text-decoration:none; }
a.bit-link:hover{ color:var(--accent-amber-strong);
border-color:var(--accent-amber-dim); }
/* ================= panels ================= */
.bit-panel{
background:var(--bg-panel);
border:var(--border-width) solid var(--border-default);
padding:var(--space-4); margin-bottom:var(--space-3);
}
.bit-panel-head{
display:flex; align-items:baseline; gap:var(--space-3);
border-bottom:var(--border-width) solid var(--border-subtle);
padding-bottom:var(--space-2); margin-bottom:var(--space-3);
}
.bit-zone-title{
font-family:var(--font-heading); text-transform:uppercase;
letter-spacing:var(--tracking-wide); font-size:var(--text-md);
color:var(--text-primary); padding:var(--space-3) var(--space-1) var(--space-2);
display:flex; align-items:baseline; gap:var(--space-2);
}
.bit-zone-title .bit-micro{ margin-left:auto; }
/* ================= stat band ================= */
.bit-statband{
display:flex; flex-wrap:wrap;
border:var(--border-width) solid var(--border-default);
background:var(--bg-panel); margin-bottom:var(--space-3);
}
.bit-stat{
flex:1 1 132px; padding:var(--space-3) var(--space-4);
border-right:var(--border-width) solid var(--border-subtle);
border-bottom:var(--border-width) solid var(--border-subtle);
}
.bit-stat-label{
font-family:var(--font-tiny); font-size:var(--text-xs);
letter-spacing:var(--tracking-wider); text-transform:uppercase;
color:var(--text-tertiary);
}
.bit-stat-value{
font-family:var(--font-mono); font-size:var(--text-xl);
line-height:var(--leading-tight); color:var(--text-primary);
margin:3px 0 2px; letter-spacing:var(--tracking-tight);
}
.bit-stat-sub{
font-family:var(--font-mono); font-size:var(--text-xs);
color:var(--text-tertiary);
}
.bit-up{ color:var(--fin-up-strong); } .bit-down{ color:var(--fin-down-strong); }
/* ================= notes ================= */
.bit-note{
font-family:var(--font-mono); font-size:var(--text-sm); line-height:1.5;
border-left:var(--border-width-strong) solid var(--accent-amber);
background:var(--bg-raised); padding:var(--space-2) var(--space-3);
color:var(--text-secondary); margin-bottom:var(--space-2);
}
.bit-note-danger{ border-left-color:var(--fin-down); }
.bit-tag{
font-family:var(--font-tiny); font-size:var(--text-2xs);
letter-spacing:var(--tracking-wider); border:1px solid var(--border-default);
padding:1px 4px; color:var(--text-tertiary); margin-left:4px;
}
/* ================= empty state ================= */
.bit-empty{
display:flex; flex-direction:column; align-items:center; justify-content:center;
gap:var(--space-3); padding:var(--space-8) var(--space-4); text-align:center;
border:var(--border-width) dashed var(--border-default); background:var(--bg-panel);
}
.bit-empty-glyph{ font-size:34px; color:var(--accent-amber-dim); line-height:1; }
.bit-empty-copy{ color:var(--text-secondary); max-width:46ch; font-size:var(--text-base); }
.bit-kbd-row{ display:flex; gap:var(--space-2); flex-wrap:wrap; justify-content:center; }
.bit-kbd{
font-family:var(--font-tiny); font-size:var(--text-xs);
letter-spacing:var(--tracking-wider); color:var(--text-tertiary);
border:var(--border-width) solid var(--border-default); padding:3px 7px;
}
/* ================= run manager ================= */
.bit-run-card{
border:var(--border-width) solid var(--border-subtle);
padding:var(--space-2); margin-bottom:var(--space-1); background:var(--bg-panel);
}
.bit-run-card-sel{ border-color:var(--accent-amber-dim); }
.bit-run-top{ display:flex; align-items:center; gap:var(--space-2); }
.bit-run-name{ font-size:var(--text-sm); color:var(--text-primary);
overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bit-run-mark{ margin-left:auto; color:var(--accent-amber-strong); font-size:11px; }
.bit-run-sharpe{ font-family:var(--font-mono); font-size:var(--text-base);
display:flex; gap:var(--space-2); }
.bit-run-ret{ margin-left:auto; color:var(--text-tertiary); }
.bit-gloss{ margin-bottom:var(--space-2); }
.bit-gloss-def{ font-size:var(--text-sm); color:var(--text-secondary); line-height:1.45; }
/* ================= KPI row ================= */
.bit-kpi-row{ display:flex; flex-wrap:wrap; gap:var(--space-4); }
.bit-kpi{ min-width:78px; }
.bit-kpi-value{ font-family:var(--font-mono); font-size:var(--text-lg);
line-height:1.1; color:var(--text-primary); }
/* ================= podium ================= */
.bit-podium-row{ display:flex; gap:var(--space-3); flex-wrap:wrap;
margin-bottom:var(--space-3); }
.bit-podium{
flex:1 1 200px; border:var(--border-width) solid var(--border-default);
background:var(--bg-panel); padding:var(--space-3);
border-top:var(--border-width-strong) solid var(--border-strong);
}
.bit-podium-1{ border-top-color:var(--accent-amber); }
.bit-podium-2{ border-top-color:var(--accent-moss-strong); }
.bit-podium-3{ border-top-color:var(--mute-teal); }
.bit-podium-rank{ font-family:var(--font-tiny); font-size:var(--text-xs);
color:var(--text-tertiary); letter-spacing:var(--tracking-wider); }
.bit-podium-name{ font-size:var(--text-md); color:var(--text-primary);
font-family:var(--font-heading); letter-spacing:var(--tracking-tight); }
.bit-podium-value{ font-family:var(--font-mono); font-size:var(--text-2xl);
line-height:1.1; margin-top:var(--space-2); display:flex;
align-items:baseline; gap:var(--space-2); }
.bit-podium-unit{ font-family:var(--font-tiny); font-size:var(--text-xs);
letter-spacing:var(--tracking-wider); color:var(--text-tertiary); }
/* ================= signal aggregator ================= */
.bit-sig-grid{ display:flex; gap:var(--space-4); flex-wrap:wrap; align-items:flex-start; }
.bit-sig-list{ flex:1 1 340px; min-width:0; }
.bit-sig-row{
display:flex; align-items:center; gap:var(--space-3);
border:var(--border-width) solid var(--border-subtle);
padding:5px var(--space-2); margin-bottom:3px;
font-family:var(--font-mono); font-size:var(--text-sm);
}
.bit-sig-name{ flex:1 1 auto; color:var(--text-secondary);
overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bit-sig-dir{ width:74px; text-align:right; }
.bit-sig-edge{ width:64px; text-align:right; }
.bit-sig-acc,.bit-sig-w{ width:64px; text-align:right; color:var(--text-tertiary); }
.bit-consensus{
flex:0 0 210px; border:var(--border-width) solid var(--accent-moss-dim);
background:var(--bg-raised); padding:var(--space-3);
}
.bit-consensus-dir{ font-family:var(--font-heading); font-size:var(--text-2xl);
line-height:1.1; margin:var(--space-1) 0; letter-spacing:var(--tracking-tight); }
.bit-conf-track{ height:4px; background:var(--bg-sunken); margin:var(--space-2) 0 4px; }
.bit-conf-fill{ height:100%; }
/* ================= gradio overrides ================= */
.gradio-container .tabs > .tab-nav{
border-bottom:var(--border-width) solid var(--border-default) !important;
background:transparent !important; gap:0 !important; flex-wrap:wrap;
}
.gradio-container .tabs > .tab-nav > button{
font-family:var(--font-heading) !important; text-transform:uppercase;
letter-spacing:var(--tracking-wide); font-size:var(--text-base) !important;
color:var(--text-tertiary) !important; background:transparent !important;
border:none !important; border-bottom:2px solid transparent !important;
padding:var(--space-2) var(--space-4) !important;
}
.gradio-container .tabs > .tab-nav > button:hover{ color:var(--text-secondary) !important; }
.gradio-container .tabs > .tab-nav > button.selected{
color:var(--text-primary) !important;
border-bottom-color:var(--accent-amber) !important;
}
.gradio-container .form, .gradio-container .block{
background:transparent !important; border:none !important;
}
/* Field captions only -- scoped so it never swallows option text. */
.block > label > span, .block > .form > label > span{
font-family:var(--font-tiny) !important; font-size:var(--text-xs) !important;
letter-spacing:var(--tracking-wider) !important; text-transform:uppercase;
color:var(--text-tertiary) !important;
}
input, select, textarea{
font-family:var(--font-mono) !important; font-size:var(--text-base) !important;
background:var(--bg-sunken) !important; color:var(--text-primary) !important;
border:var(--border-width) solid var(--border-default) !important;
}
input:focus, select:focus, textarea:focus{
outline:1px solid var(--focus-ring) !important; outline-offset:-1px;
}
/* Radio / checkbox options read as segmented chips. */
.gradio-container fieldset label,
.gradio-container .wrap label:has(input[type="radio"]),
.gradio-container .wrap label:has(input[type="checkbox"]){
background:transparent !important;
border:var(--border-width) solid var(--border-default) !important;
color:var(--text-secondary) !important;
padding:4px 10px !important; margin:2px !important;
}
.gradio-container fieldset label span,
.gradio-container .wrap label:has(input[type="radio"]) span,
.gradio-container .wrap label:has(input[type="checkbox"]) span{
font-family:var(--font-mono) !important; font-size:var(--text-base) !important;
letter-spacing:var(--tracking-normal) !important; text-transform:none !important;
color:var(--text-secondary) !important; opacity:1 !important;
}
.gradio-container fieldset label.selected,
.gradio-container fieldset label:has(input:checked),
.gradio-container .wrap label:has(input[type="radio"]:checked){
background:var(--accent-amber) !important; border-color:var(--accent-amber) !important;
}
.gradio-container fieldset label.selected span,
.gradio-container fieldset label:has(input:checked) span,
.gradio-container .wrap label:has(input[type="radio"]:checked) span{
color:var(--stone-950) !important; font-weight:500 !important;
}
.gradio-container input[type="radio"], .gradio-container input[type="checkbox"]{
accent-color:var(--accent-amber);
}
/* Accordions read as the design's numbered sections. */
.gradio-container .label-wrap, .bit-accordion > .label-wrap{
font-family:var(--font-heading) !important; text-transform:uppercase;
letter-spacing:var(--tracking-wide); font-size:var(--text-base) !important;
color:var(--text-primary) !important;
border-bottom:var(--border-width) solid var(--border-subtle) !important;
padding:var(--space-2) 0 !important;
}
.bit-accordion{
border:none !important;
border-top:var(--border-width) solid var(--border-subtle) !important;
padding:0 !important; margin-bottom:var(--space-1) !important;
}
/* Buttons */
.bit-run-btn{
background:var(--accent-amber) !important; color:var(--stone-950) !important;
font-family:var(--font-heading) !important; text-transform:uppercase;
letter-spacing:var(--tracking-wide); border:none !important; font-weight:500 !important;
}
.bit-run-btn:hover{ background:var(--accent-amber-strong) !important; }
.bit-ghost-btn{
background:transparent !important; color:var(--text-secondary) !important;
border:var(--border-width) solid var(--border-default) !important;
font-family:var(--font-mono) !important; font-size:var(--text-sm) !important;
}
.bit-ghost-btn:hover{ border-color:var(--border-strong) !important;
color:var(--text-primary) !important; }
/* Tables */
.bit-table table{ font-family:var(--font-mono) !important; font-size:var(--text-sm) !important; }
.bit-table thead th{
font-family:var(--font-tiny) !important; font-size:var(--text-xs) !important;
letter-spacing:var(--tracking-wider); text-transform:uppercase;
color:var(--text-tertiary) !important; background:var(--bg-raised) !important;
border-bottom:var(--border-width) solid var(--border-default) !important;
}
.bit-table tbody td{ border-color:var(--border-subtle) !important; }
/* Footer */
.bit-footer{
position:sticky; bottom:0; z-index:var(--z-header);
display:flex; justify-content:space-between; gap:var(--space-4);
background:var(--bg-panel); border-top:var(--border-width) solid var(--border-default);
padding:var(--space-2) var(--space-4);
font-family:var(--font-mono); font-size:var(--text-sm); color:var(--text-tertiary);
}
.bit-footer-right{ white-space:nowrap; }
@media (max-width: 900px){
.bit-statband{ flex-direction:column; }
.bit-stat{ border-right:none; }
.bit-sig-grid{ flex-direction:column; }
.bit-consensus{ flex:1 1 auto; width:100%; }
}
</style></head><body class='gradio-container' style='margin:0'>
<div class="bit-topbar">
<span class="bit-mark"></span>
<span class="bit-wordmark">BIT</span>
<span class="bit-slash">/</span>
<span class="bit-h1">Backtest Lab</span>
<span class="bit-chip bit-chip-ctx">BTC-USD · 1D · 2023-08-16 → 2026-08-15 · WALK-FORWARD</span>
<span class="bit-spacer"></span>
<span class="bit-micro" style="margin:0 4px">0.1s</span><span class="bit-chip bit-chip-ok">RUN 7bee8d1b COMPLETE</span>
<a class="bit-chip bit-link" target="_blank" rel="noopener"
href="https://huggingface.co/datasets/The-Bit-Trading-Company/bit-signal-store">SIGNAL STORE ↗</a>
<a class="bit-chip bit-link" target="_blank" rel="noopener"
href="https://huggingface.co/spaces/Bit-Trading-Company/bit-backtest-lab">SPACE ↗</a>
</div><div style="padding:16px"><div class="bit-zone-title">Leaderboard podium</div><div class="bit-podium-row"><div class="bit-podium bit-podium-1"><div class="bit-podium-rank">#1</div><div class="bit-podium-name">Bollinger Breakout</div><div class="bit-micro">NVDA · 1h</div><div class="bit-podium-value" style="color:var(--accent-moss-strong)">3.33<span class="bit-podium-unit">OOS SHARPE</span></div><div class="bit-micro">ret +22.3% · dd -19.3% · 49 trades</div></div><div class="bit-podium bit-podium-2"><div class="bit-podium-rank">#2</div><div class="bit-podium-name">Chronos Forecast Follower</div><div class="bit-micro">BTC-USD · 1d · Chronos-Bolt Small</div><div class="bit-podium-value" style="color:var(--accent-moss-strong)">1.43<span class="bit-podium-unit">OOS SHARPE</span></div><div class="bit-micro">ret +122.3% · dd -23.1% · 35 trades</div></div><div class="bit-podium bit-podium-3"><div class="bit-podium-rank">#3</div><div class="bit-podium-name">MACD Momentum</div><div class="bit-micro">NVDA · 1h</div><div class="bit-podium-value" style="color:var(--accent-moss-strong)">1.26<span class="bit-podium-unit">OOS SHARPE</span></div><div class="bit-micro">ret +21.7% · dd -29.7% · 93 trades</div></div></div><div class="bit-zone-title">Signal aggregator</div><div class="bit-panel"><div class="bit-panel-head"><span class="bit-h3">Signal aggregator</span><span class="bit-micro">8 MODELS</span></div><div class="bit-sig-grid"><div class="bit-sig-list"><div class="bit-sig-row"><span class="bit-sig-name">Chronos-Bolt Small</span><span class="bit-sig-dir" style="color:var(--fin-up-strong)">▲ LONG</span><span class="bit-sig-edge" style="color:var(--fin-up-strong)">+0.27%</span><span class="bit-sig-acc">acc 53%</span><span class="bit-sig-w">w0.07</span></div><div class="bit-sig-row"><span class="bit-sig-name">Chronos-Bolt Base</span><span class="bit-sig-dir" style="color:var(--fin-down-strong)">▼ SHORT</span><span class="bit-sig-edge" style="color:var(--fin-down-strong)">-1.15%</span><span class="bit-sig-acc">acc 51%</span><span class="bit-sig-w">w0.03</span></div><div class="bit-sig-row"><span class="bit-sig-name">Chronos-Bolt Mini</span><span class="bit-sig-dir" style="color:var(--fin-down-strong)">▼ SHORT</span><span class="bit-sig-edge" style="color:var(--fin-down-strong)">-1.23%</span><span class="bit-sig-acc">acc 51%</span><span class="bit-sig-w">w0.03</span></div><div class="bit-sig-row"><span class="bit-sig-name">Baseline · Drift <span class="bit-tag">BASELINE</span></span><span class="bit-sig-dir" style="color:var(--fin-down-strong)">▼ SHORT</span><span class="bit-sig-edge" style="color:var(--fin-down-strong)">-0.06%</span><span class="bit-sig-acc">acc 51%</span><span class="bit-sig-w">w0.03</span></div><div class="bit-sig-row"><span class="bit-sig-name">Baseline · Seasonal naive <span class="bit-tag">BASELINE</span></span><span class="bit-sig-dir" style="color:var(--fin-down-strong)">▼ SHORT</span><span class="bit-sig-edge" style="color:var(--fin-down-strong)">-8.33%</span><span class="bit-sig-acc">acc 51%</span><span class="bit-sig-w">w0.03</span></div><div class="bit-sig-row"><span class="bit-sig-name">Chronos-Bolt Tiny</span><span class="bit-sig-dir" style="color:var(--fin-up-strong)">▲ LONG</span><span class="bit-sig-edge" style="color:var(--fin-up-strong)">+0.60%</span><span class="bit-sig-acc">acc 50%</span><span class="bit-sig-w">w0.01</span></div><div class="bit-sig-row"><span class="bit-sig-name">Baseline · Random walk <span class="bit-tag">BASELINE</span></span><span class="bit-sig-dir" style="color:var(--text-tertiary)">■ FLAT</span><span class="bit-sig-edge" style="color:var(--text-tertiary)">+0.00%</span><span class="bit-sig-acc">acc —</span><span class="bit-sig-w">w0.00</span></div><div class="bit-sig-row"><span class="bit-sig-name">Chronos T5 Small</span><span class="bit-sig-dir" style="color:var(--fin-up-strong)">▲ LONG</span><span class="bit-sig-edge" style="color:var(--fin-up-strong)">+0.95%</span><span class="bit-sig-acc">acc 48%</span><span class="bit-sig-w">w0.00</span></div></div><div class="bit-consensus"><div class="bit-micro">BTC-USD · 1d</div><div class="bit-consensus-dir" style="color:var(--fin-down-strong)">SHORT ▼</div><div class="bit-micro">WEIGHTED EDGE -1.44%</div><div class="bit-conf-track"><div class="bit-conf-fill" style="width:50%;background:var(--fin-down-strong)"></div></div><div class="bit-micro">4/8 MODELS AGREE</div></div></div><div class="bit-micro" style="color:var(--text-tertiary)">weight = realised directional accuracy above a coin flip, on this asset and timeframe</div></div><div class="bit-note bit-note-danger">Learned models call direction correctly 50.2% of the time; naive baselines manage 51.1%. <b>The models are not beating the baselines on direction.</b> Read the leaderboard with that in mind.</div><div class="bit-zone-title">Coverage</div><div class="bit-note bit-note-danger">The signal store has no coverage yet.</div></div>
<div class="bit-footer">
<span>Backtested results are hypothetical, derived from historical data, and are not indicative of future results. Nothing here is investment advice. The Bit Trading Company is not a licensed investment adviser.</span>
<span class="bit-footer-right">BITTRADING BACKTEST LAB v1.1.0</span>
</div></body></html>