Message Boards Message Boards

GROUPS:

Determine present value of a cashflow w/ unequal payments?

Posted 2 years ago
3175 Views
|
2 Replies
|
3 Total Likes
|

I would like to use Mathematica built-in functions to determine the present value of a cashflow payment stream given unequal payments at regular intervals and a constant rate of return. Ultimately I would like to present results as a table of 'balance remaining' values for an amortization schedule. I can do this for a fixed-amount stream using the Annuity construct:

nstop = 360;
nm = Table[
   TimeValue[Annuity[529.24, k], EffectiveInterest[0.0375/12, 1]], {k,
     1, nstop}];
rt = Table[{i, Round[nm[[i]]]}, {i, 1, nstop}];

See the attachment for clarification.

I can do this in Excel but would rather use Mathematica if possible. I'm new to this set of functions and not a finance major. Thanks for any help you may be able to provide, be it a link to solution or your code. Keith

Attachments:
2 Replies

So, let's create arbitrary payments x and arbitrary time of payments t and generate the data for a Cashflow object. For concreteness, I'm letting there be 10 times at which payments are made.

cfdata= Transpose[{Array[x, {10}], Array[t, {10}]}]

We can now calculate the present value of the cashflow as follows, where r is some interest rate or the result of an EffectiveInterest computation.

TimeValue[Cashflow[cfdata],r,0]

To compute the present value of the remaining payment stream as one moves through time, one could do this:

Table[TimeValue[Cashflow[Drop[cfdata, i]], r, 0], {i, 0, 10}]
Posted 2 years ago

Seth, Thank you very much for your response. You pointed out something that I missed in the 'help' file, viz. the inclusion of the 'date' or 'period number' values. One of the examples seemed to indicate that these were not necessary if the cashflows were regular. Much obliged! -K-

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract