Newsgroup: it.comp.appl.access
Titolo: calcolo taeg

Ciao a tutto il NG,
sto scrivendo per la società per cui lavoro un programma di calcolo
preventivo per finanziamenti.
Ho fatto tutto e funziona egrgiamente, mi manca però un'ultima
dolorosissima parte... il calcolo del taeg e del teg.
Non sono riuscito a trovare nulla di già scritto in VB, ma solo la
formula finanziaria(incomprensibile).
Se qualcuno avesse sviluppato qualcosa e fosse tanto buono da volerla
condividere con me... sarebbe un gran bel favore, anche perchè stanno
incominciando a pressarmi (tanto più che neanche sta manica di
dottorini è in grado di risolverla)
un saluto ed un grazie anticipato.

 wrote in message 
news:1122650927.0...@g47g2000cwa.googlegroups.com...


Il tutto può essere molto semplice se si tratta di mutui
(tasso e periodicità costanti, rate costanti o variabili
secondo una prefissata legge) oppure un po' più complicato
se dette caratteristiche non ricorrono.
Ho posto tutto ciò in Excel (non in VBA ma con
formule), però penso ti serva qualcosa da integrare
nel VBA di Access.
Prova a mandarmi quell'incomprensibile formula
finanziaria che poi vediamo di sistemare i "dottorini".
Bruno

Bruno Campanini ha scritto:

Non hai lasciato il tuo indirizzo mail (o forse non lo trovo) per
inviarti la formula(è una iummagine), però se ti colleghi a
http://www.assofin.it/It/calcolo.html
 trovi un programmino che calcola
il TAEG (e che non funziona) e più sotto nella pagina la formula.
Tieni presente che ci occupiamo di prestiti personali, quindi rate
fisse per periodi brevi (max 10 anni). Devo sviluppare il tutto in
Access/VBA, quindi con excel ho paura di farci ben poco.
Grazie dell'interessamento. Aspetto tue notizie.
Ciao

 wrote in message 
news:1122883093....@g44g2000cwa.googlegroups.com...
Non hai lasciato il tuo indirizzo mail (o forse non lo trovo) per
inviarti la formula(è una iummagine), però se ti colleghi a
http://www.assofin.it/It/calcolo.html
 trovi un programmino che calcola
il TAEG (e che non funziona) e più sotto nella pagina la formula.
Tieni presente che ci occupiamo di prestiti personali, quindi rate
fisse per periodi brevi (max 10 anni). Devo sviluppare il tutto in
Access/VBA, quindi con excel ho paura di farci ben poco.
Grazie dell'interessamento. Aspetto tue notizie.
Ciao
Se vai sul mio posto e mi rispondi con "Reply" in luogo
di "Reply Group", la posta sarà inviata al mio indirizzo
personale che è
bruno.c...@tin.it
.
Metto giù un po' di codice VBA Access poi mi
faccio vivo.
Per ottenere la massima generalizzazione e correttezza
dei risultati, prevederò una tabella in cui vengano inseriti
date e movimenti, il codice trasfomerà la tabella in array
sulla quale fare i calcoli.
Ciao
Bruno 

 wrote in message 
news:1122883093....@g44g2000cwa.googlegroups.com...
Eccoci qua.
Aggiungi l'estensione al file (db3.mdb, Access 2003).
La funzione IRR di VBA non arriva, nello schema di
utilizzazione che ho impostato, a 25 anni; questa la
limitazione (il costo) per aver voluto prevedere la
possibilità di versamenti non omogenei quanto all'importo
e alla periodicità.
Con la soluzione che ti propongo puoi inserire quanti
movimenti vuoi (pagamenti, riscossioni), in qualsiasi
ordine di data.
Unica avvertenza: distingui i pagamenti dalle riscossioni
per mezzo del segno algebrico (- per pagamenti, + per
riscossioni).
Se il saldo nominale>0 avrai un tasso positivo, diversamente
un tasso negativo.
Ciò comunque è meramente convenzionale: potresti anche
invertire i segni e le conseguenze logiche non cambierebbero.
Il tutto fatto molto in fretta.
Dimmi come ti funziona.
Bruno

Bruno Campanini ha scritto:

Grazie Bruno per l'interessamento,
ho utilizzato il codice sottostante, ma ricevo l'errore "chiamata di
routine non valida"
sulla riga dell'IRR. Tieni presente che quando digito IRR mi compare
l'aiuto di VB, quindi penso che la funzione sia riconosciuta.
L'esempio qui sotto carica 120 rate da 206 Euro, con un montante di
24720 (comprensive di circa 9000 euro di spese), e
mi dovrebbe tornare un TAEG di 10,51
Mi puoi aiutare?
Dim taeg As Integer
Dim col As Integer
Dim arr(120) As Double
For riga = 1 To 120
  arr(riga) = 208
Next riga
taeg = IRR(arr())
MsgBox (taeg)

 wrote in message 
news:1122911682.0...@z14g2000cwz.googlegroups.com...
Grazie Bruno per l'interessamento,
ho utilizzato il codice sottostante, ma ricevo l'errore "chiamata di
routine non valida"
sulla riga dell'IRR. Tieni presente che quando digito IRR mi compare
l'aiuto di VB, quindi penso che la funzione sia riconosciuta.
L'esempio qui sotto carica 120 rate da 206 Euro, con un montante di
24720 (comprensive di circa 9000 euro di spese), e
mi dovrebbe tornare un TAEG di 10,51
Mi puoi aiutare?
Dim taeg As Integer
Dim col As Integer
Dim arr(120) As Double
For riga = 1 To 120
  arr(riga) = 208
Next riga
taeg = IRR(arr())
MsgBox (taeg)
Stai facendo un po' di confusione.
120 rate da Euro 206 danno un totale nominale
di 24720.
Quindi se 24720 deve essere il montante (o il valore
attuale) il tasso d'interesse è senz'altro Zero.
Peggio che andar di notte se ferme le rate in 120
il valore di ciascuna è 208 (salvo che in tale caso
24720 sia il valore attuale).
E le spese di Euro 9000 quando vengono pagate, in
quante rate?
Bruno
PS
IRR() funziona se contiene almeno un valore
positivo ed uno negativo.
Se poi non va lo stesso (capita!) aggiungi la
stima (Guess, vedi Help). 

Ciao Bruno,
penso che, a questo punto, non ci sto capendo niente.
Io concedo in prestito una somma X (comprensiva di spese, oneri e
quant'altro) che mi dovrà essere restituita in Y mesi.
Quali sono gli importi negativi/positivi che devo inserire nell'array?
Ma ancora più semplicemente: come calcolo questo diavolo di taeg?

 wrote in message 
news:1122967523....@z14g2000cwz.googlegroups.com...




Tu concedi a prestito la somma di Euro 1000 che decurtata
di spese, oneri iniziali, etc. si riduce a Euro 965.
Questa somma viene restituita mediante 5 versamenti:
1    200
2    215
3    218
4    225
5    220
    ------
     1078
La cosa importante è la periodicità: fra l'erogazione
dei 965 Euro e il primo pagamento di 200 Euro
deve intercorrere lo stesso periodo di tempo che
intercorre fra il il primo pagamento e il secondo,
fra il secondo e il terzo, e così via.
Tale periodo viene denominato "periodo di capitalizzazione".
La funzione IRR() determina il tasso effettivo relativo
al "periodo di capitalizzazione".
Se il "periodo di capitalizzazione" è l'anno, si otterrà
un tasso annuale, se è il semestre un tasso semestrale,
se è il bimestre un tasso bimestrale, etc.
Occorre tener presente che a un tasso mensile dello 0.75%
non corrisponde un tasso annuale dello 0.75x12=9%,
a un tasso semestrale del 6% non corrisponde un tasso
annuo del 12%, etc.
La corrispondenza avviene nel modo seguente:
Se "ik" è il tasso relativo ad 1/k-esimo di anno
(k=2 => semestre, k=3 => quadrimestre,
k=4 => trimestre, k=12 => mese,
k=365 => giorno, etc),
il corrispondente tasso annuo effettivo "i" sarà:
i = (1 + ik)^k -1
Ciò premesso dovrà essere costruito un Array (vettore)
contenente i movimenti sopra indicati, secondo l'esatto
ordine temporale del loro accadimento:
-965                          965
200                          -200
215        ovvero       -215
218                          -218
225                          -225
220                          -220
( I pagamenti debbono essere tenuti distinti dagli
incassi distinguendoli col segno "-", o viceversa).
In questo caso IRR(Array,0.00001) ti darà
0.037471... cioè 3.7471...%.
Questo è il tasso del "periodo di capitalizzazione".
Se il "periodo di capitalizzazione" è l'anno sei già
arrivato; fosse ad esempio il mese, allora:
i12 = 0.037471 mensile
i = (1+0.037471)^12-1 = 0.554932 = 55.4932 % annuo
Se inserisci nel file che ti ho inviato i movimenti
sopra indicati con le date opportunamente
distanziate (mese ovvero anno, ovvero semestre, etc)
ottieni subito il tasso annuale.
Inoltre lì non è necessario che la costanza della
periodicità sia rispettata.
Se ti occorrono ulteriori delucidazioni, sono qui.
Bruno

Grazie ancora, adesso provo a combinare qualcosa.
Non ho capito se mi hai inviato qualcosa via mail,
se così fosse puoi rispedirmelo a 
PANE...@IDEAFINANZIARIA.NET
?
Grazie ancora, ti farò sapere quantoprima.
ciao