Here is a list of required minimum distributions from an IRA based on IRS published life expectancy tables for a particular age

    rmd={5.12821, .34759, .58659, .84795, .13497, .45161, .75676, .09220, .46269}

One must withdraw the particular portion shown for subsequent years. The rate is applied to the value of the fund at prior year end (beginning with a starting balance). Assume the fund grows monotonically at 3% per year. Each distribution is the prior year end balance times 1.03 less the current year distribution (calculated on the prior year) times the particular rmd for that year. One would think a RecurrenceTable would be just the ticket but it does not like Part in the arguments to single out the particular rmd rate for a certain year. The answer in Excel is straightforward assuming no value change in the first year Spreadsheet

Thanks for your help


1 Answer 1


Maybe you want FoldList.

rmd = {5.12821, 5.34759, 5.58659, 5.84795, 6.13497, 6.45161, 6.75676, 7.09220, 7.46269}/100.
ints = Prepend[ConstantArray[0.03, Length[rmd] - 1], 0]
bals = FoldList[#1*#2 &, 100, 1 + ints - rmd]
dists = Most[bals]*rmd

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.