View source: R/misc_and_utility.R
fin_interest | R Documentation |
Allows you to determine the final value of an initial principal
(with optional
periodic deposits
), over a number of years (yrs
) at a given rate of interest
.
Principal and deposits are optional. You control compounding periods each year (n) and whether deposits occur at the beginning or end of the year.
The function outputs a nice table of annual returns, formats the total using a user-settable currency symbol
. Can also report
using a web table.
notes: Graham valuation: fair P/E = 9 + (1.5 * growth%). e.g. $INTEL fair P/E = 9+.53 = 10.5 up to 9+210 = 29 Can move the weighting between a conservative .5 and an optimistic 2 (in terms of how long the growth will last and how low the hurdle rate is)
fin_interest( principal = 0, deposits = 0, inflate = 0, interest = 0.05, yrs = 10, final = NULL, n = 12, when = "beginning", symbol = NULL, largest_with_cents = 0, baseYear = as.numeric(format(Sys.time(), "%Y")), table = TRUE, report = c("markdown", "html") )
principal |
The initial investment at time 0. |
deposits |
Optional periodic additional investment each year. |
inflate |
How much to inflate deposits over time (default = 0) |
interest |
Annual interest rate (default = .05) |
yrs |
Duration of the investment (default = 10). |
final |
if set (default = NULL), returns the rate required to turn principal into final after yrs (principal defaults to 1) |
n |
Compounding intervals per year (default = 12 (monthly), 365 for daily) |
when |
Deposits made at the "beginning" (of each year) or "end" |
symbol |
Currency symbol to embed in the result. |
largest_with_cents |
Default = 0 |
baseYear |
Default = current year (for table row labels) |
table |
Whether to print a table of annual returns (default TRUE) |
report |
"markdown" or "html", |
Value of balance after yrs of investment.
umx_set_dollar_symbol()
, fin_percent()
, fin_NI()
, fin_valuation()
Other Miscellaneous Functions:
deg2rad()
,
fin_NI()
,
fin_percent()
,
fin_valuation()
,
loadings.MxModel()
,
rad2deg()
,
umxBrownie()
## Not run: # 1. Value of a principal after yrs years at 5% return, compounding monthly. # Report in browser as a nice table of annual returns and formatted totals. fin_interest(principal = 5000, interest = 0.05, rep= "html") ## End(Not run) # Report as a nice markdown table fin_interest(principal = 5000, interest = 0.05, yrs = 10) umx_set_dollar_symbol("£") # 2 What rate is needed to increase principal to final value in yrs time? fin_interest(final = 1.4, yrs=5) fin_interest(principal = 50, final=200, yrs = 5) # 3. What's the value of deposits of $100/yr after 10 years at 7% return? fin_interest(deposits = 100, interest = 0.07, yrs = 10, n = 12) # 4. What's the value of $20k + $100/yr over 10 years at 7% return? fin_interest(principal= 20e3, deposits= 100, interest= .07, yrs= 10, symbol="$") # 5. What is $10,000 invested at the end of each year for 5 years at 6%? fin_interest(deposits = 10e3, interest = 0.06, yrs = 5, n=1, when= "end") # 6. What will $20k be worth after 10 years at 15% annually (n=1)? fin_interest(deposits=20e3, interest = 0.15, yrs = 10, n=1, baseYear=1) # $466,986 # manual equivalent sum(20e3*(1.15^(10:1))) # 466985.5 # 7. Annual (rather than monthly) compounding (n=1) fin_interest(deposits = 100, interest = 0.07, yrs = 10, n=1) # 8 Interest needed to increase principal to final value in yrs time. fin_interest(principal = 100, final=200, yrs = 5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.