Calcolo APY: rendimento percentuale annuo effettivo
L'API APY converte un tasso di interesse nominale dichiarato nel rendimento percentuale annuo, cioè il tasso annuo effettivo che si ottiene realmente tenendo conto della capitalizzazione.
Esegui gratis nel browser
Un conto di risparmio che dichiara il 5% con capitalizzazione mensile non rende il 5% in un anno, ma il 5,116%. Invia il tasso nominale e il numero di periodi di capitalizzazione all'anno, e l'endpoint restituisce il rendimento effettivo, esatto, ogni volta. Lo stesso calcolo è disponibile gratuitamente nel browser su questa pagina, così può verificare un numero a mano e pagare solo quando lo automatizza in un prodotto, in un comparatore o in un controllo di conformità.
Perché il tasso nominale non è il tasso che si ottiene
Banche e finanziarie pubblicizzano un tasso annuo nominale, ma gli interessi vengono accreditati più di una volta all'anno. A ogni accredito, i nuovi interessi iniziano a loro volta a produrre interessi, quindi il capitale cresce più in fretta di quanto suggerisca la cifra principale. La differenza aumenta con la frequenza della capitalizzazione: il 5% con capitalizzazione annua resta semplicemente il 5%, ma con capitalizzazione mensile diventa circa il 5,116% e con capitalizzazione giornaliera circa il 5,127%. Quella cifra effettiva è l'APY, il rendimento percentuale annuo, ed è l'unico modo onesto per confrontare due prodotti che capitalizzano in modo diverso. Confrontare i tassi nominali tra un conto a capitalizzazione giornaliera e un certificato a capitalizzazione trimestrale favorisce silenziosamente chi capitalizza meno spesso. Le normative di molti Paesi impongono agli istituti di dichiarare l'APY proprio perché i tassi nominali sono fuorvianti, e questo endpoint calcola quel numero richiesto dai due dati che ogni scheda prodotto già contiene.
Come funziona il calcolo
La formula è la definizione classica dell'interesse composto ridotta a una sola espressione: l'APY è uguale a (1 + r/n) elevato alla n, meno 1, dove r è il tasso annuo nominale espresso in forma decimale e n è il numero di periodi di capitalizzazione all'anno. Con un tasso del 5% a capitalizzazione mensile, si ottiene (1 + 0.05/12)^12 − 1 = 0.0511619. L'endpoint accetta il tasso in forma decimale, quindi 0.05 significa 5%: passare 5 descriverebbe un tasso del 500% e produrrebbe un risultato assurdo, motivo per cui la documentazione ripete la convenzione a ogni passaggio. Il valore dei periodi deve essere un intero positivo: 1 per la capitalizzazione annua, 2 per la semestrale, 4 per la trimestrale, 12 per la mensile, 365 per la giornaliera. Frequenze frazionarie o nulle non hanno significato finanziario e vengono rifiutate con un errore chiaro anziché essere corrette in silenzio. I risultati sono arrotondati a dieci cifre decimali, così lo stesso input restituisce un output identico su qualsiasi macchina.
Dove si inserisce in un prodotto reale
I siti di comparazione ricalcolano l'APY per ogni prodotto elencato, così l'ordinamento riflette ciò che i clienti guadagnano davvero e non ciò che la pagina di marketing mette in evidenza. I backend di neobanche e fintech lo usano per mostrare il rendimento richiesto dalle normative accanto a ogni conto, derivato dallo stesso tasso e dalla stessa frequenza presenti nel catalogo prodotti, così una variazione del tasso si propaga senza che nessuno debba modificare i testi. I team finanziari che validano un term sheet verificano che il tasso effettivo proposto corrisponda al tasso nominale e al piano di capitalizzazione scritti nel contratto: una discrepanza è un segnale d'allarme da cogliere prima della firma. Poiché il calcolo è deterministico e non ha dipendenze esterne, funziona in modo identico sul nostro edge, nella sua suite di test e nel widget gratuito di questa pagina; lo stesso modulo serve tutti e tre. Costa $0.002 a chiamata tramite l'API, senza alcuna conservazione dei dati dopo l'invio della risposta.
Casi d'uso
Classificare i prodotti di risparmio per rendimento reale
Ricalcoli l'APY per ogni conto in un comparatore, così l'ordinamento riflette ciò che i clienti guadagnano davvero con piani di capitalizzazione diversi.
Mostrare il rendimento richiesto dalle normative
Derivi l'APY dichiarato dal tasso nominale e dalla frequenza di capitalizzazione già presenti nel suo catalogo prodotti, senza modifiche manuali ai testi quando cambia il tasso.
Verificare un tasso effettivo proposto
Controlli che il tasso annuo effettivo di un term sheet corrisponda al tasso nominale e al piano di capitalizzazione scritti nel contratto prima di firmare.
Domande frequenti
Quanto costa?
$0.002 per chiamata API. Lo stesso calcolatore è anche gratuito nel browser su questa pagina.
Come passo il tasso di interesse?
In forma decimale: 0.05 significa 5%. Passare 5 descrive un tasso nominale del 500%.
Quali frequenze di capitalizzazione sono ammesse?
Qualsiasi intero positivo: 1 per la capitalizzazione annua, 2 per la semestrale, 4 per la trimestrale, 12 per la mensile, 365 per la giornaliera. I valori non interi vengono rifiutati.
Qual è la differenza tra APR e APY?
L'APY include l'effetto della capitalizzazione nell'arco dell'anno; l'APR no. Questo endpoint calcola l'APY a partire da un tasso nominale e dalla sua frequenza di capitalizzazione.
Il tasso nominale può essere zero o negativo?
Lo zero è ammesso e produce un APY pari a zero. I tassi negativi vengono rifiutati come input non valido.
I miei dati vengono conservati?
No. Il calcolo è pura aritmetica; nulla viene memorizzato o registrato oltre la richiesta stessa.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/fin/apy \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nominal_rate":0.05,"periods_per_year":12}'const res = await fetch("https://api.kit.forhosting.com/fin/apy", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nominal_rate": 0.05,
"periods_per_year": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/apy",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nominal_rate": 0.05,
"periods_per_year": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/apy", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nominal_rate":0.05,"periods_per_year":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nominal_rate":0.05,"periods_per_year":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/apy", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"nominal_rate": 0.05,
"periods_per_year": 12
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.apy",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |