// Investimenti module const Investimenti = () => { const I = window.REGULA_EXT.investments; // Equity curve const curve = [100, 101.2, 99.8, 102.4, 103.1, 101.9, 104.2, 105.8, 104.9, 106.4, 105.1, 105.8]; const EquityCurve = ({ w = 860, h = 180 }) => { const padL = 32, padR = 12, padT = 12, padB = 24; const cw = w - padL - padR, ch = h - padT - padB; const min = 95, max = 110; const step = cw / (curve.length - 1); const y = v => padT + ch - ((v - min) / (max - min)) * ch; const pts = curve.map((v, i) => [padL + i * step, y(v)]); const d = pts.map((p, i) => (i === 0 ? 'M' : 'L') + p[0] + ',' + p[1]).join(' '); const bench = [100, 100.4, 99.9, 100.8, 101.2, 100.6, 101.4, 102.0, 101.7, 102.8, 102.1, 102.4]; const bpts = bench.map((v, i) => [padL + i * step, y(v)]); const bd = bpts.map((p, i) => (i === 0 ? 'M' : 'L') + p[0] + ',' + p[1]).join(' '); return ( {[95, 100, 105, 110].map((t, i) => ( {t} ))} {['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'].map((m, i) => ( {m} ))} ); }; return (

Investimenti · portafoglio esterno

31.8 M€ AUM · benchmark MSCI World · ultimo prezzo 18:00
Asset allocation
({ label: a.label, value: a.value, pct: a.pct }))} />
Equity curve vs benchmark
Portafoglio Benchmark
Posizioni
{I.positions.map((p, i) => ( ))}
StrumentoClassePeso %Rendim.Rischio
{p.name} {p.class} {p.weight.toFixed(1)}% 5 ? 'var(--green)' : 'var(--ink-2)' }}>+{p.ret.toFixed(1)}% {p.risk}
Watchlist · opportunità AI
{I.watchlist.length} note
{I.watchlist.map((w, i) => (
R
{w.name}
{w.note}
))}
Matrice rischio / rendimento
{[0, 1, 2, 3, 4].map(i => ( ))} {[0, 1, 2, 3].map(i => ( ))} Rischio (volatilità %) Rendimento atteso % {I.positions.map((p, i) => { const x = 60 + (i === 0 ? 240 : i === 1 ? 80 : i === 2 ? 520 : i === 3 ? 140 : 60); const y = 200 - p.ret * 8; const r = 6 + p.weight * 0.8; const colors = ['#2A3B48', '#5B7A6B', '#A89468', '#7A5B4A', '#C4BFB3']; return ( {p.class} ); })}
); }; Object.assign(window, { Investimenti });