Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Barwert (anfänger)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
27.06.2003, 21:53 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Zu schreiben ist die folgende einfache Funktion

C++:
double barwert(double i,double a,double r);


Sie bekommt folgendes als Parameter übergeben:
Anfangsinvestition i:
konstanter Rückfluss: a
Diskontzinssatz: r

Zum Zeitpunkt Null tätigt einer eine Anfangsinvestition der Höhe i.
Diese gewährt ihm am Ende eines jeden Jahres einen Geldrückfluss in Höhe von a.
Da diese Rückflüsse erst "verspätet" eintreffen sind diese noch mit dem Zinssatz r abzudiskontieren.
Beispiel: Es ist besser 100€ jetzt zu bekommen als erst in einem Jahr, weil eine Zahlung von 100€ in einem Jahr nur noch 100€/(1+r) wert ist.

Der Barwert einer Investition ist dann die Summe der Werte aller Rückflüsse auf den heutigen Zeitpunkt bezogen minus der Anfangsinvestition.
Ist dieser Wert positiv ist es eine lohnende Investition, ist er negativ sollte man sein Geld lieber aufs Sparkonto packen

Dies liegt daren, dass wenn man die 100€ anlegen würde hätte man am Ende des Jahres ja genau den Zinsbetrag mehr.
Es soll der angenommen werden das die Rückflüsse a bis in alle Ewigkeit gezahlt werden.
Der Barwert dieser Investition soll auf 2 stellen nach dem Komma (also centgenauigkeit) ausgerechnet werden.

Es sollten nach Möglichkeit nicht mehr als 100 Zeichen gebraucht werden

Viel Spass
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 27.06.2003 um 21:55 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.06.2003, 09:12 Uhr
~darthvader
Gast


ich verstehe die berechnung gar nicht. kannst du des in eine formel fassen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.06.2003, 10:53 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


OK,
Vielleicht hab ichs mal wieder schlecht erklärt.
Also mal angenommen du kaufst für 1000€ ein Wertpapier.
Und erhälst am Ende eines jeden Jahres immer 100€ Dividende bis in alle Ewigkeit. (Das ganze nennt sich dann Buy-and-Hold-Strategie)
Dann errechnet sich der Barwert in abhängigkeit vom Zins wie folgt:


BW=-1000 + 100/(1+r) + 100/(1+r)^2 + 100/(1+r)^3 .....

Für einen Zinssatz von r=0.04 also 4% kommt ein Barwert von 1500€ raus.

Also BW = -i + Summe( a/(1+r)^n )
Die Summe läuft von n=1 bis unendlich.

Jetzt alles klar?
Wenn nicht frag noch mal.

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.06.2003, 11:01 Uhr
~darthvader
Gast


sowas wie eine kapitalverzinsung?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.06.2003, 11:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


So in etwa.

Du hast halt ein Startkapital und überlegst was du damit machst.
Du kannst das ganze aufs Konto schmeissen oder du investierst das Geld anders.
Wenn du es aufs Konto schmeisst bekommst du ganz normal dein Kapital mit dem Marktzins r verzinst.

Mit hilfe des Barwertes kannst du gucken ob es besser wäre das Geld aufs Konto zu schmeissen und es ganz normal verzinsen zu lassen oder es zu "investieren".
Das ganze ist natürlich stark vom gewählten Zinssatz r abhängig und eben nur ein Model, das zugegebener Massen ein wenig hinkt und noch ein bisschen aufgebessert werden kann.

Wobei der Hintergrund zum lösen dieser Aufgabe eigentlich nicht weiter wichtig ist.

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.06.2003, 14:48 Uhr
~darthvader
Gast


Habs mal nach deiner Erklärung getextet:


C++:
#include <stdio.h>

double barwert(double i, double a, double r)
{
int j, k;
double barwert, div;


for(j=2, div=(r/100.0+1), barwert=-i+(a/(r/100.0+1)); j<=100; j++, div=(r/100.0+1))
{
for(k=j; k>1; k--)div*=(r/100.0+1);
barwert+=(a/div);
}
return barwert;
}

main()
{
double i, a, r;
    
printf("Gib bitte i, a, r ein!\n");
scanf("%lf %lf %lf", &i, &a, &r);
printf("Dein Barwert ist: %lf!\n", barwert(i, a, r));
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
30.06.2003, 15:32 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Darth Vader
Sorry, ich steig nicht so ganz durch was du da gerechnet hast.
Sonst würde ich dir auch erklären was du falsch gemacht hast.
Jedenfalls kommt bei deiner Funktion nicht das richtige raus.
Ich hatte mehr an sowas gedacht:


C++:
double barwert(double i, double a, double r){i=-i; while((a/=(1+r))>0.0001)i+=a; return i;}



Es geht aber auch noch viel kürzer, wenn man nicht einfach drauf los proggt

Gruss Heiko
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 30.06.2003 um 15:32 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
30.06.2003, 15:40 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Darth Vader

Sorry, dein Ansatz funktioniert doch. Du übergibst ihm den Prozentsatz als ganzahlige Zahl (also z.B: 4) Ich meinte das dann 0.04 übergeben wird weil Prozent ja nichts anderes als ein 1/100 bedeutet.
Allerdings stimmt das mit deiner Genauigkeit zum Schluss nicht ganz.
Und du hast es echt drauf so zu proggen das keiner mehr deinen Code versteht

Also wie gesagt es geht viel kürzer

Gruss Heiko
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 30.06.2003 um 15:40 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
30.06.2003, 15:40 Uhr
~darthvader
Gast


wieso das klappt doch! bei mir kommt dann als barwert so um die 1500 auch raus.

Es funktioniert aber! Des zählt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
30.06.2003, 15:43 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Na gut ich geb noch nen Tipp wie es kürzer geht: Geometrische Reihe anschauen.

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: