56 lines
5.0 KiB
HTML
56 lines
5.0 KiB
HTML
<!doctype html><html><head><meta charset="utf-8"><title>Sketch 4 – Advisor</title><link rel="stylesheet" href="sketch.css"></head><body>
|
||
<div class="app">
|
||
<div class="topbar sk">
|
||
<div class="brand">Portfolio Intelligence Platform <small>thin dashboard · no business logic · calls the API</small></div>
|
||
<span class="pill ok">Market API: live</span>
|
||
<span class="pill ok">LLM API: closed (healthy)</span>
|
||
<div class="nav"><span>Portfolio</span><span>Market data</span><span>News & Insights</span><span class="active">Advisor</span><span>Optimisation</span><span>System</span></div>
|
||
</div>
|
||
|
||
<div class="grid" style="grid-template-columns: 1.6fr 1fr;">
|
||
<div>
|
||
<div class="card sk" style="margin-bottom:10px">
|
||
<h3>Ask the advisor <span class="src">AdvisorAgent (orchestrator) · answers are explained and cited</span></h3>
|
||
<div class="input" style="width: 78%">Should I reduce my exposure to semiconductors after this week's news?</div> <span class="btn primary">Ask</span>
|
||
</div>
|
||
<div class="card sk">
|
||
<h3>Answer <span class="src">request r-4471 · 2026-09-07 09:31 · analysis as of 06:00 ingestion</span></h3>
|
||
<p style="margin:4px 0"><b>Summary.</b> Your semiconductor exposure is <b>35.5 %</b> of the portfolio, concentrated in two names. This week's validated news is <i>positive</i> for both, so the case for trimming rests on <i>concentration risk</i>, not on sentiment.</p>
|
||
<p style="margin:4px 0"><b>Evidence.</b> ASML raised 2026 guidance <span class="tag">N-1023</span>; EU consultation on chip export rules is a regulatory watch item <span class="tag">N-1012</span>. No validated negative item for NVDA this week.</p>
|
||
<p style="margin:4px 0"><b>Numbers</b> <span class="small">(computed by deterministic services, not by the agent)</span>: portfolio volatility <b>18.2 %</b>, VaR 95 %/1d <b>−2.7 %</b> (RiskService); semiconductor weight 35.5 %, top-2 concentration 40.7 % (RiskService).</p>
|
||
<p style="margin:4px 0"><b>Proposal.</b> A mean–variance run with max 25 % per sector suggests NVDA 15 % · ASML 10 % · NESN 18 % · ROG 18 % · MSFT 21 % · cash 18 % — volatility falls to <b>15.9 %</b> at −0.6 pp expected return (OptimizationService). <span class="btn">Open in Optimisation</span></p>
|
||
<p style="margin:4px 0"><b>Caveats.</b> Guidance-driven optimism can reverse; data freshness is the 06:00 ingestion; this is analysis, not investment advice or a trade.</p>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="card sk" style="margin-bottom:10px">
|
||
<h3>Agent trace <span class="src">contracts only · no shared state</span></h3>
|
||
<table class="sk-table">
|
||
<tr><th>Step</th><th>Calls</th><th>Result</th></tr>
|
||
<tr><td>AdvisorAgent</td><td class="small">plan: 3 sub-tasks</td><td><span class="pill ok">✓</span></td></tr>
|
||
<tr><td>↳ ResearchAgent</td><td class="small">insights for NVDA, ASML (7d)</td><td><span class="pill ok">3 validated</span></td></tr>
|
||
<tr><td>↳ RiskAgent</td><td class="small">RiskService.vol, .var, .concentration</td><td><span class="pill ok">✓</span></td></tr>
|
||
<tr><td>↳ OptimizationAgent</td><td class="small">OptimizationService.mean_variance(max_sector=0.25)</td><td><span class="pill ok">✓</span></td></tr>
|
||
<tr><td>Ontology guard</td><td class="small">citations resolvable, tickers valid</td><td><span class="pill ok">✓ pass</span></td></tr>
|
||
<tr><td>AdvisorAgent</td><td class="small">merge + explain</td><td><span class="pill ok">✓</span></td></tr>
|
||
</table>
|
||
</div>
|
||
<div class="card sk">
|
||
<h3>Cost & latency <span class="src">LLM gateway · per request</span></h3>
|
||
<table class="sk-table">
|
||
<tr><td>Tokens</td><td class="num">6 420</td><td class="small">4 LLM calls</td></tr>
|
||
<tr><td>Cost</td><td class="num">CHF 0.11</td><td class="small">budget p95 CHF 0.40 <span class="pill ok">ok</span></td></tr>
|
||
<tr><td>Latency</td><td class="num">8.4 s</td><td class="small">budget p95 20 s <span class="pill ok">ok</span></td></tr>
|
||
<tr><td>Model</td><td colspan="2" class="small">via gateway · fallback chain not used</td></tr>
|
||
</table>
|
||
<div class="small" style="margin-top:6px">Every call logged: prompt version, model, tokens, latency, guard verdict → audit trail.</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="note" style="left: 560px; top: 150px;"><b>1</b>Agents interpret and explain; services compute (§2.5). An agent that "estimates" a volatility is an architecture defect.</div>
|
||
<div class="note r" style="left: 1070px; top: 330px;"><b>2</b>Sub-agents cooperate only through service contracts, never by sharing internal state (§2.5).</div>
|
||
<div class="note" style="left: 40px; top: 690px;"><b>3</b>Every claim carries a citation to a validated Insight; the freshness stamp bounds what may be claimed.</div>
|
||
<div class="watermark">SKETCH 4/7 · wireframe, not a specification</div>
|
||
</div></body></html>
|