EffectiveInterest[r,q]
gives the effective interest rate corresponding to interest specification r, compounded at time intervals q.
EffectiveInterest
EffectiveInterest[r,q]
gives the effective interest rate corresponding to interest specification r, compounded at time intervals q.
Details and Options
- EffectiveInterest returns an expression suitable for use in TimeValue.
- EffectiveInterest works with numerical or arbitrary symbolic expressions.
- Symbolic expressions returned by EffectiveInterest can be solved for nominal rates, compounding periods, or time parameters.
- In EffectiveInterest[r,q], the interest r can be specified in the following forms:
-
r nominal interest rate {r1,r2,…} schedule of rates applied over unit time intervals {{t1,r1},{t2,r2},…} schedule of forward rates changing at the specified times {p1->r1,p2->r2,…} term structure of interest rates - EffectiveInterest[r,q] returns an expression in the same form as r.
- EffectiveInterest[r,0] specifies continuous compounding.
- EffectiveInterest[{r1,r2,…}] gives the compounded average growth rate (CAGR) corresponding to the rate schedule {r1,r2,…}.
- EffectiveInterest[{p1->r1,p2->r2,…}] gives the equivalent schedule of future spot rates.
Examples
open all close allBasic Examples (4)
Effective rate corresponding to a nominal rate of 5% compounded 4 times per period:
EffectiveInterest[.05, 1 / 4]Schedule of nominal rates to effective rates, compounded 12 times per period:
EffectiveInterest[{.05, .065, .07, .085}, 1 / 12]Compound annual growth rate (CAGR) corresponding to a schedule of rates:
EffectiveInterest[{.05, .065, .04, .07, .085}]Convert a schedule of nominal rates to effective rates compounded 12 times per period:
EffectiveInterest[{{0, .05}, {3, .065}, {5, .07}, {6, .085}}, 1 / 12]Scope (8)
A compounding interval of zero can be used to specify continuous compounding:
EffectiveInterest[.1, 0]An integral compounding frequency may be used to specify compounding of less than once per period. As expected, the effective rate in this case is less than the nominal rate:
EffectiveInterest[.06, 3]Simple interest can be simulated by using an integral compounding interval equal to the growth period:
TimeValue[100, EffectiveInterest[.06, 5], 5]This is equivalent to the analogous simple interest computation:
100(1 + .06 * 5)Convert a term structure of interest rates (yield curve) to a list of implied forward rates and the corresponding intervals over which they are valid:
EffectiveInterest[{1 / 12 -> .01, 3 / 12 -> .015, 6 / 12 -> .02, 1 -> .025, 2 -> .03, 3 -> .032, 5 -> .035, 7 -> .04, 10 -> .045}]EffectiveInterest works with symbolic parameters:
EffectiveInterest[r, 1 / f]EffectiveInterest[{r1, r2, r3, r4}]EffectiveInterest[{1 -> r3, 2 -> r4, 3 -> r5, 5 -> r6, 7 -> r7}]Solve for the nominal rate corresponding to an effective rate of 5% compounded quarterly:
FindRoot[EffectiveInterest[r, 1 / 4] == .05, {r, .05}]Solutions to equations involving EffectiveInterest can be found in terms of symbolic parameters:
Solve[EffectiveInterest[nominalrate, 1 / f] == eff, nominalrate]//QuietUse EffectiveInterest with TimeValue:
TimeValue[100, EffectiveInterest[.06, 1 / 12], 10]EffectiveInterest from a TimeSeries:
ts = TemporalData[TimeSeries, {{{0.04, 0.05, 0.06, 0.07, 0.08}}, {{0, 4, 1}}, 1, {"Continuous", 1},
{"Discrete", 1}, 1, {ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, False,
10.1];EffectiveInterest[ts, 3]Applications (1)
Lender A quotes the nominal interest rate on a loan at 8% per year with continuous compounding. Lender B quotes their rate using quarterly compounding. Convert lender A's rate to an equivalent rate with quarterly compounding so that the two rates may be compared:
Solve[{r > 0, EffectiveInterest[.08, 0] == EffectiveInterest[r, 1 / 4]}, r]Use FindRoot instead:
FindRoot[EffectiveInterest[.08, 0] == EffectiveInterest[r, 1 / 4], {r, .08}]Properties & Relations (2)
Study the convergence of the future value of an amount as interest compounding approaches infinity:
g1 = TimeValue[100, EffectiveInterest[.3, 0], n]{g2, g3, g4, g5} = Table[TimeValue[100, EffectiveInterest[.3, 1 / i], n], {i, 1, 4}]Plot[{g1, g2, g3, g4, g5}, {n, 1, 5}, Epilog -> Arrow[{{4.8, 350}, {4.8, 425}}], AxesLabel -> {"time", "future value"}, ImageSize -> 300]Study the convergence (to continuous compounding) of a nominal rate compounded at increasing frequencies:
g1 = EffectiveInterest[r, 0]{g2, g3, g4, g5, g6, g7} = Table[EffectiveInterest[r, 1 / i], {i, 1, 6}]Plot[{g1, g2, g3, g4, g5, g6, g7}, {r, .05, .7}, Epilog -> Arrow[{{.68, .67}, {.68, .96}}], AxesLabel -> {"nominal rate", "effective rate"}, ImageSize -> 300]Related Guides
History
Text
Wolfram Research (2010), EffectiveInterest, Wolfram Language function, https://reference.wolfram.com/language/ref/EffectiveInterest.html.
CMS
Wolfram Language. 2010. "EffectiveInterest." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/EffectiveInterest.html.
APA
Wolfram Language. (2010). EffectiveInterest. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/EffectiveInterest.html
BibTeX
@misc{reference.wolfram_2026_effectiveinterest, author="Wolfram Research", title="{EffectiveInterest}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/EffectiveInterest.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_effectiveinterest, organization={Wolfram Research}, title={EffectiveInterest}, year={2010}, url={https://reference.wolfram.com/language/ref/EffectiveInterest.html}, note=[Accessed: 13-June-2026]}