Skip navigation.

Quantitative Analysis: Time Value of Money Part I


Welcome to the first entry about Quantitative Analysis for software developers.  One of the problems often with a software developer's education is not covering financial foundations.  It is the point of this blog to make financial software a little more digestable for developers who haven't taken financial classes.

As the first entry, I thought the simple idea of the Time Value of Money would be covered.  The idea of future value is covered in this entry.

Theory of Operation:

Lets take a look at the formula for calculating the future value of an amount of money at a given return rate for a given period of time.

FV is Future Value

PV is Present Value

i is Interest Rate

n is Period

The idea is that interest represents additional value added to that money either by:

  • Someone willing to pay that rate to use the money;
  • Or the use of that money in some form of value add operation;
  • Or savings in a change of process will require that interest rate less money over the years. 

Lets explain that in a decision that needs to be made.

First, lets say we can change something in the process of making something such that we can make that many more over a time period for an investment of PV amount of money. 

We buy a new manufacturing machine for $15,000 that generates widgets such that their value is 5% more than $15,000 for five years. 

Another option might be to have the IT group add more products from marketing into the catalog web site for $20,000 which causes sales to increase such that investment increases by 4% by the new sales over four years.

So we have two choices to make which really isn't that obvious, and thus the purpose of the formula.

Running the code provides us the results:

FV = 19144.2 Margin = 4144.22 for the new machine
FV = 23397.2 Margin = 3397.17 for the catalog work

Through this formula, we know we get more bang for the buck with the new machine compared to spending that money on the web catalog.

See the reference for a discussion of how the formula is constructed.


// Scott Auge
// Quantitative Analysis Blog
// Computing the Future Value of Money given Present Value, Interest, and Period

#include <iostream>
#include <math.h>
using namespace std;

// ------------------------------------------------------------------------
// Future Value
// ------------------------------------------------------------------------

double FutureValue (double PresentValue, double Interest, int Period) {

  return PresentValue * pow((1 + Interest), Period);

// ------------------------------------------------------------------------
// Starting Point
// ------------------------------------------------------------------------

int main (int argc, char * const argv[]) {
    cout << "FV = " << FutureValue(15000, 0.05, 5) << " Margin = " << FutureValue(15000, 0.05, 5) - 15000 << endl;
    cout << "FV = " << FutureValue(20000, 0.04, 4) << " Margin = " << FutureValue(20000, 0.04, 4) - 20000 << endl;

    return 0;


Block, Stanley B., Hirt, Geoffrey A., Danielson, Bartley R. (2009) Foundations of Financial Management (11th Ed)  New York, New York: McGraw-Hill Irwin.  ISBN 978-0-07-338238-8

FVFormula.jpg4.03 KB