# Compound Calculator

The project consists of the original calculator, and the S and P 500 application of it. This page covers the application of the original investment calculator.

NOTE

For the code, go to here

## Basic Usage

The compound calculator, in compoundinvestement.py runs on python 3.4 but has no dependencies.

The compound function takes 8 arguments, and 1 optional argument:

compund(A, alpha, infl, CGtaxes, dividends, divtaxes, fees, n,comma = True):

• A: A function that takes one argument, the nth period, and gives back how much is entering the fund at the given period

• alpha: A function that takes one argument, period n, and returns the interest rate at the given period

• dividends: A function that takes the period, n, and returns the dividend yield percentage; as in the percentage of the total investment that is received in dividends

• n: The amount of time compounding (number of periods)

• infl: A function that takes one argument, n, and gives back how much inflation is that period

• CGtaxes: A function that takes 3 required arguments:

• s: The amount initially invested
• e: The amount worth at the end
• n: the current period return the capital gains tax on that investment, in that particular period
• divtaxes: A function that takes one argument, n, and returns the dividend taxes in the period

• comma(optional): if True, the returned number will be comma delimited All rates are to be given in the form of 1.06, for a rate of 6%.
All dividends are to be given in the form of .06, for a dividend of 6% of the initial investment
in the last year, no money is added, the money already compounding will continue to compound.

## Example

def contribution(n):
if n == 0:
return 100000
else:
return 0
# return 5000 * (1.02 ** n)
def IR(n):
if n < 11:
return 1.04 + 4 * math.sin(n) / 100
else:
return 1.065 + 4 * math.sin(n) / 100
def infl(n):
return 1.02
# capital gains taxes
# percent taxed on each contribution gains when sold (ALWAYS nominal) (assumes selling period at end of n periods)
# s = initial amount, e = end amount, n = specific period
def CGtaxes(s, e, n):
return 1.15
# dividends returned
def divs(n):
return .03
# rate at which dividends are taxed
def divtaxes(n):
return 1.15
# Fees paid in each period.  This is calculated at returned percent times the current
# value of investments (as calculated for an ETF of index fund).  Generally, a flat rate.
def fees(n):
return 1 - .0077
# Leaving comma=true, to return value formatted
v = compund(A = contribution, alpha = IR, CGtaxes=CGtaxes, fees=fees, n=40, infl = infl, dividends=divs, divtaxes=divtaxes)
print(v)
# will return 848,004.78
`