Vai al contenuto
PAPER SIAT 2026Apri la pagina della ricerca
Cryptoverso

La nostra missione

Ricerca quantitativa, formazione e software di analisi. Il metodo, dichiarato e verificabile su un caso che chiunque può rifare.

Quattro principi

Come lavoriamo, e dove ci fermiamo.

Il metodo prima del risultato

Le ipotesi si scrivono prima e non si aggiustano dopo. Un esito negativo è informazione, e lo pubblichiamo.

Riproducibile, o non è ricerca

Codice, dati e procedimento escono insieme al risultato. Nessun dato futuro, nessuna curva che cambia a posteriori.

Che cosa pubblichiamo

Ricerca metodologica con il codice, formazione con ventinove lab aperti, software scritto per essere ispezionato.

Che cosa non facciamo

Nessuna consulenza in materia di investimenti, nessuna raccomandazione, nessuna profilazione. Non promuoviamo cripto-attività né collochiamo prodotti.

Un esempio verificabile

La media mobile è un filtro: quali frequenze toglie, e con quanto ritardo, dipende soltanto da N.

La formula è il kernel di Dirichlet, la risposta di una finestra di N campioni. I numeri della tabella escono da lei, ricalcolati a ogni build.

H(f)=sin(πfN)Nsin(πf)H(f) = \frac{\sin(\pi f N)}{N \sin(\pi f)}
Proprietà della media mobile al variare della finestra N.
N (campioni)Primo zero (cicli/camp.)Lobo sec. (dB)Ritardo (camp.)
10,0
40,2500−11,31,5
80,1250−12,83,5
160,0625−13,17,5

Una media causale risponde (N − 1)/2 campioni dopo il fatto. Per N = 1 il filtro è l’identità: le celle senza valore portano un trattino, mai uno zero.

Come riprodurre

Nessun dato di mercato: tutto discende dalla formula. Primo zero 1/N, ritardo (N − 1)/2, lobo secondario il massimo fra il primo e il secondo zero. Nei lab lo stesso conto si rifà in Python.

Vai all’indice dei lab

Le righe che hanno prodotto la tabella: la funzione che gira davvero su questo sito.

src/lib/dsp/media-mobile.ts
typescript
export function ampiezza(n: number, f: number): number {
  const denominatore = n * Math.sin(Math.PI * f)
  if (Math.abs(denominatore) < 1e-12) return 1
  return Math.abs(Math.sin(Math.PI * f * n) / denominatore)
}

A frequenza zero numeratore e denominatore si annullano insieme e il limite vale 1: la componente costante attraversa il filtro intatta.