owlplanner 2026.1.26__py3-none-any.whl → 2026.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- owlplanner/config.py +17 -3
- owlplanner/plan.py +188 -84
- owlplanner/rates.py +377 -366
- owlplanner/tax2026.py +11 -9
- owlplanner/version.py +1 -1
- {owlplanner-2026.1.26.dist-info → owlplanner-2026.2.2.dist-info}/METADATA +2 -2
- {owlplanner-2026.1.26.dist-info → owlplanner-2026.2.2.dist-info}/RECORD +11 -12
- owlplanner/In Discussion #58, the case of Kim and Sam.md +0 -307
- {owlplanner-2026.1.26.dist-info → owlplanner-2026.2.2.dist-info}/WHEEL +0 -0
- {owlplanner-2026.1.26.dist-info → owlplanner-2026.2.2.dist-info}/entry_points.txt +0 -0
- {owlplanner-2026.1.26.dist-info → owlplanner-2026.2.2.dist-info}/licenses/AUTHORS +0 -0
- {owlplanner-2026.1.26.dist-info → owlplanner-2026.2.2.dist-info}/licenses/LICENSE +0 -0
owlplanner/tax2026.py
CHANGED
|
@@ -45,10 +45,12 @@ irmaaBrackets = np.array(
|
|
|
45
45
|
]
|
|
46
46
|
)
|
|
47
47
|
|
|
48
|
-
# These are current for 2026 (2025TY).
|
|
49
|
-
# Index [0] stores the standard Medicare
|
|
50
|
-
# Following values are incremental IRMAA
|
|
48
|
+
# These are current for 2026 (2025TY). Source: CMS 2026 Part B premiums and IRMAA.
|
|
49
|
+
# Index [0] stores the standard Medicare Part B basic premium (monthly $202.90 for 2026).
|
|
50
|
+
# Following values are incremental IRMAA Part B monthly fees; cumulative = total/month.
|
|
51
|
+
# Single brackets [0]: ≤$109k, $109–137k, $137–171k, $171–205k, $205–500k, ≥$500k.
|
|
51
52
|
irmaaFees = 12 * np.array([202.90, 81.20, 121.70, 121.70, 121.70, 40.70])
|
|
53
|
+
irmaaCosts = np.cumsum(irmaaFees)
|
|
52
54
|
|
|
53
55
|
#########################################################################
|
|
54
56
|
# Make projection for pre-TCJA using 2017 to current year.
|
|
@@ -123,7 +125,7 @@ def mediVals(yobs, horizons, gamma_n, Nn, Nq):
|
|
|
123
125
|
Costs C include the fact that one or two indivuals have to pay. Eligibility is built-in.
|
|
124
126
|
"""
|
|
125
127
|
thisyear = date.today().year
|
|
126
|
-
assert Nq == len(
|
|
128
|
+
assert Nq == len(irmaaCosts), f"Inconsistent value of Nq: {Nq}."
|
|
127
129
|
assert Nq == len(irmaaBrackets[0]), "Inconsistent IRMAA brackets array."
|
|
128
130
|
Ni = len(yobs)
|
|
129
131
|
# What index year will Medicare start? 65 - age for each individual.
|
|
@@ -133,8 +135,8 @@ def mediVals(yobs, horizons, gamma_n, Nn, Nq):
|
|
|
133
135
|
# Has it already started?
|
|
134
136
|
Nmed = Nn - nmstart
|
|
135
137
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
Lbar = np.zeros((Nmed, Nq-1))
|
|
139
|
+
Cbar = np.zeros((Nmed, Nq))
|
|
138
140
|
|
|
139
141
|
# Year starts at offset nmstart in the plan. L and C arrays are shorter.
|
|
140
142
|
for nn in range(Nmed):
|
|
@@ -146,12 +148,12 @@ def mediVals(yobs, horizons, gamma_n, Nn, Nq):
|
|
|
146
148
|
imed += 1
|
|
147
149
|
if imed:
|
|
148
150
|
status = 0 if Ni == 1 else 1 if n < horizons[0] and n < horizons[1] else 0
|
|
149
|
-
|
|
150
|
-
|
|
151
|
+
Lbar[nn] = gamma_n[n] * irmaaBrackets[status][1:]
|
|
152
|
+
Cbar[nn] = imed * gamma_n[n] * irmaaCosts
|
|
151
153
|
else:
|
|
152
154
|
raise RuntimeError("mediVals: This should never happen.")
|
|
153
155
|
|
|
154
|
-
return nmstart,
|
|
156
|
+
return nmstart, Lbar, Cbar
|
|
155
157
|
|
|
156
158
|
|
|
157
159
|
def capitalGainTax(Ni, txIncome_n, ltcg_n, gamma_n, nd, Nn):
|
owlplanner/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: owlplanner
|
|
3
|
-
Version: 2026.
|
|
3
|
+
Version: 2026.2.2
|
|
4
4
|
Summary: Owl - Optimal Wealth Lab: Retirement planner with great wisdom
|
|
5
5
|
Project-URL: HomePage, https://github.com/mdlacasse/owl
|
|
6
6
|
Project-URL: Repository, https://github.com/mdlacasse/owl
|
|
@@ -797,7 +797,7 @@ your computer and can be used to reproduce a case at a later time.
|
|
|
797
797
|
|
|
798
798
|
---------------------------------------------------------------------
|
|
799
799
|
|
|
800
|
-
Copyright © 2024 - Martin-D. Lacasse
|
|
800
|
+
Copyright © 2024-2026 - Martin-D. Lacasse
|
|
801
801
|
|
|
802
802
|
Disclaimers: This code is for educatonal purposes only and does not constitute financial advice.
|
|
803
803
|
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
"owlplanner/In Discussion #58, the case of Kim and Sam.md",sha256=ah5BgkP4Bo04SZ2-Ory8PBeoFRVd7YNUBktYtjp42v0,25193
|
|
2
1
|
owlplanner/__init__.py,sha256=X9u8PrfeTyfjuksYhx0eNrIACgX5Tg3Le7pz8qKkJXk,1341
|
|
3
2
|
owlplanner/abcapi.py,sha256=5yWuiu5eBVO46V5vklO_zfCCrFZX9guRZ9XEemeJ878,7229
|
|
4
|
-
owlplanner/config.py,sha256
|
|
3
|
+
owlplanner/config.py,sha256=uMP68aG-YnSL0Mqw9tqrxxh62rkUHhwExWzS6rpOIeo,20619
|
|
5
4
|
owlplanner/debts.py,sha256=c-eLynjOFryYisae51Po6Iuh46_d_AGOUbOz3z96ZJY,9850
|
|
6
5
|
owlplanner/fixedassets.py,sha256=ItFeXjIdhMVNyXY0xBW6P9ODRajVg1kDRaid9-Eu_Ww,11510
|
|
7
6
|
owlplanner/mylogging.py,sha256=amQA0qWPsXMoJkYYF3nMaVtCDZMWxXJ1hbJS0TkMvf8,8269
|
|
8
|
-
owlplanner/plan.py,sha256=
|
|
7
|
+
owlplanner/plan.py,sha256=yYIdSfjJfsuV5aij0xfI8jZkRCRLWc-NV6wAycM4Ef0,157402
|
|
9
8
|
owlplanner/progress.py,sha256=ayqoRUMn6dtIxHDYaeX1mu7W2rAhkBYAi4Y2Y_NtdYA,2521
|
|
10
|
-
owlplanner/rates.py,sha256=
|
|
9
|
+
owlplanner/rates.py,sha256=pN6J1aZsj_OaCuLrU4vRlQJOCg3dKhamPuAmvI3Ekls,15158
|
|
11
10
|
owlplanner/socialsecurity.py,sha256=4vn76dUZ2P2fMKyy4eu2ramGNvPQymKzsNFZvwbFWOc,7595
|
|
12
|
-
owlplanner/tax2026.py,sha256
|
|
11
|
+
owlplanner/tax2026.py,sha256=CN4nvdxz7ZqhvM57SwYjO4jF6VtDBRMgFpdj1zVU6yk,15907
|
|
13
12
|
owlplanner/timelists.py,sha256=4dBZVCgNIx0RwUfimp_k-m9KhRFj6BHX8Hon1vb8oo8,15032
|
|
14
13
|
owlplanner/utils.py,sha256=l2-3HmZutFlEfJUp7gFblY3PBNYm7HiPPCGl0wFkVmA,9461
|
|
15
|
-
owlplanner/version.py,sha256=
|
|
14
|
+
owlplanner/version.py,sha256=8VDixj8vuzpLB0-WNUz9mZbrP9d1ufVm-oLGVHEzvPw,747
|
|
16
15
|
owlplanner/cli/README.md,sha256=R-jwwiX5ZW6gCKaRPWVCgwKVoN2MKozrLAkKvfUT4vA,2292
|
|
17
16
|
owlplanner/cli/_main.py,sha256=qAy_2oCLaa_EhvfGFnuh_sVXkCcgp70WMSL7_QKH5XI,1497
|
|
18
17
|
owlplanner/cli/cli_logging.py,sha256=CTBaAMpJIG7ge9Gz44YykBiea3hMxdAXHyiLj1UyvDU,1690
|
|
@@ -28,9 +27,9 @@ owlplanner/plotting/base.py,sha256=70-J5AWnHtWqrehVhCNojnTdfNT6PnEpxBKzDh3R57o,3
|
|
|
28
27
|
owlplanner/plotting/factory.py,sha256=sVZ0uAuGKBVVh1qkF2IS7xNZGUPIQRIfqgUt2s2Ncjk,1694
|
|
29
28
|
owlplanner/plotting/matplotlib_backend.py,sha256=AILNOhXi_gsR__i1hKoHaEHvMUqQMyLeRAGCoCBfQBY,19222
|
|
30
29
|
owlplanner/plotting/plotly_backend.py,sha256=OqMJRxAhpwIbKSV-Od1-q-tzOs66McZPbKD32be2qx0,34523
|
|
31
|
-
owlplanner-2026.
|
|
32
|
-
owlplanner-2026.
|
|
33
|
-
owlplanner-2026.
|
|
34
|
-
owlplanner-2026.
|
|
35
|
-
owlplanner-2026.
|
|
36
|
-
owlplanner-2026.
|
|
30
|
+
owlplanner-2026.2.2.dist-info/METADATA,sha256=L4Dl5IrtC1_a9-2Ezk8FezJzf5YA6T8nAiYMgUtJTeg,46498
|
|
31
|
+
owlplanner-2026.2.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
32
|
+
owlplanner-2026.2.2.dist-info/entry_points.txt,sha256=m2Ql-6VQbotl65wiqx35d3TIh-Tm6Wdjrz3hNdqZKKg,52
|
|
33
|
+
owlplanner-2026.2.2.dist-info/licenses/AUTHORS,sha256=KD6uW6iEOHf51J8DEJ6az-gowFv3NWIpW4zRgqxwuAA,464
|
|
34
|
+
owlplanner-2026.2.2.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
35
|
+
owlplanner-2026.2.2.dist-info/RECORD,,
|
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
In Discussion #58, the case of Kim and Sam are used to investigate the effect of Roth conversions on a retirement plan. The previous case was focusing on the effect of Roth conversions on the net spending amount, and all cases considered had a target of zero bequest. We found that Roth conversions increase the net spending amount by a magnitude of the order of 1%. This finding was consistent across two scenarios involving fixed rates, and for two historical rate sequences, one staring from 1966, and the other from 1991.
|
|
2
|
-
|
|
3
|
-
Here we use the same case for comparison. Kim and Sam have the same account balances and allocations. Instead of optimizing for net spending however, we will now change the objective function to maximize the bequest under the constraint of a fixed yearly net spending amount of $145,000, adjusted annually for inflation.
|
|
4
|
-
|
|
5
|
-
The same four cases will be considered:
|
|
6
|
-
**Case 1)** Fixed conservative return rates at 6.0% S&P 500, 4.0% for Baa Corporate bonds, 3.3% for 10-year T-Notes, and 2.8% inflation
|
|
7
|
-
**Case 2)** Fixed optimistic return rates at 8.0% S&P 500, 4.5% for Baa Corporate bonds, 3.3% for 10-year T-Notes, and 2.8% inflation
|
|
8
|
-
**Case 3)** Historical rates starting in 1966
|
|
9
|
-
**Case 4)** Historical rates starting in 1991
|
|
10
|
-
Cases were optimized in two different ways for Medicare (selected as optimize or loop in the user interface):
|
|
11
|
-
a) Medicare/IRMAA (income-related monthly adjusted amounts) premiums were directly solved in the optimization
|
|
12
|
-
b) Medicare/IRMAA premiums were solved iteratively using a self-consistent loop wrapping an optimization step
|
|
13
|
-
|
|
14
|
-
Since the heirs' marginal income tax rate will influence the net after-tax bequest, three different rates are considered: 33%, 22%, and 0%.
|
|
15
|
-
|
|
16
|
-
## Case 1a-33: Fixed conservative rates with Medicare/IRMAA optimized with 33% heirs' marginal tax rate
|
|
17
|
-
|
|
18
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
19
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
20
|
-
| 200 | $145,000 | $1,069,166 | $166,051 | 15.53% | $1,025,607 |
|
|
21
|
-
| 150 | $145,000 | $1,069,166 | $166,051 | 15.53% | $1,025,607 |
|
|
22
|
-
| 100 | $145,000 | $1,069,275 | $166,160 | 15.54% | $1,033,921 |
|
|
23
|
-
| 50 | $145,000 | $1,047,152 | $144,037 | 13.76% | $998,896 |
|
|
24
|
-
| 10 | $145,000 | $978,573 | $75,458 | 7.71% | $610,001 |
|
|
25
|
-
| 0 | $145,000 | $903,115 | $0 | 0.00% | $0 |
|
|
26
|
-
|
|
27
|
-
## Case 1a-22: Fixed conservative rates with Medicare/IRMAA optimized with 22% heirs' marginal tax rate
|
|
28
|
-
|
|
29
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
30
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
31
|
-
| 200 | $145,000 | $1,069,166 | $131,463 | 12.30% | $1,025,607 |
|
|
32
|
-
| 150 | $145,000 | $1,069,166 | $131,463 | 12.30% | $1,025,607 |
|
|
33
|
-
| 100 | $145,000 | $1,069,275 | $131,572 | 12.30% | $1,033,921 |
|
|
34
|
-
| 50 | $145,000 | $1,055,429 | $117,726 | 11.15% | $800,000 |
|
|
35
|
-
| 10 | $145,000 | $995,230 | $57,527 | 5.78% | $397,992 |
|
|
36
|
-
| 0 | $145,000 | $937,703 | $0 | 0.00% | $0 |
|
|
37
|
-
|
|
38
|
-
## Case 1a-0: Fixed conservative rates with Medicare/IRMAA optimized with 0% heirs' marginal tax rate
|
|
39
|
-
|
|
40
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
41
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
42
|
-
| 200 | $145,000 | $1,162,471 | $75,603 | 6.50% | $818,525 |
|
|
43
|
-
| 150 | $145,000 | $1,162,471 | $75,603 | 6.50% | $818,525 |
|
|
44
|
-
| 100 | $145,000 | $1,162,870 | $76,002 | 6.54% | $771,138 |
|
|
45
|
-
| 50 | $145,000 | $1,158,923 | $72,055 | 6.22% | $713,428 |
|
|
46
|
-
| 10 | $145,000 | $1,113,193 | $26,325 | 2.36% | $280,000 |
|
|
47
|
-
| 0 | $145,000 | $1,086,868 | $0 | 0.00% | $0 |
|
|
48
|
-
|
|
49
|
-
## Case 1b-33: Fixed conservative rates with Medicare/IRMAA solved self-consistently with 33% heirs' marginal tax rate
|
|
50
|
-
|
|
51
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
52
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
53
|
-
| 200 | $145,000 | $1,064,285 | $178,884 | 16.81% | $1,022,709 |
|
|
54
|
-
| 150 | $145,000 | $1,064,285 | $178,884 | 16.81% | $1,022,709 |
|
|
55
|
-
| 100 | $145,000 | $1,067,113 | $181,712 | 17.03% | $1,033,921 |
|
|
56
|
-
| 50 | $145,000 | $1,038,173 | $152,772 | 14.72% | $993,873 |
|
|
57
|
-
| 10 | $145,000 | $970,478 | $85,077 | 8.77% | $610,001 |
|
|
58
|
-
| 0 | $145,000 | $885,401 | $0 | 0.00% | $0 |
|
|
59
|
-
|
|
60
|
-
## Case 1b-22: Fixed conservative rates with Medicare/IRMAA solved self-consistently with 22% heirs' marginal tax rate
|
|
61
|
-
|
|
62
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
63
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
64
|
-
| 200 | $145,000 | $1,064,285 | $128,667 | 12.09% | $1,022,709 |
|
|
65
|
-
| 150 | $145,000 | $1,064,285 | $128,667 | 12.09% | $1,022,709 |
|
|
66
|
-
| 100 | $145,000 | $1,067,113 | $131,495 | 12.32% | $1,033,921 |
|
|
67
|
-
| 50 | $145,000 | $1,053,266 | $117,648 | 11.17% | $800,000 |
|
|
68
|
-
| 10 | $145,000 | $993,123 | $57,505 | 5.79% | $395,376 |
|
|
69
|
-
| 0 | $145,000 | $935,618 | $0 | 0.00% | $0 |
|
|
70
|
-
|
|
71
|
-
## Case 1b-0: Fixed conservative rates with Medicare/IRMAA solved self-consistently with 0% heirs' marginal tax rate
|
|
72
|
-
|
|
73
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
74
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
75
|
-
| 200 | $145,000 | $1,160,358 | $80,814 | 6.96% | $818,525 |
|
|
76
|
-
| 150 | $145,000 | $1,160,358 | $80,814 | 6.96% | $818,525 |
|
|
77
|
-
| 100 | $145,000 | $1,160,332 | $80,788 | 6.96% | $818,525 |
|
|
78
|
-
| 50 | $145,000 | $1,156,796 | $77,252 | 6.68% | $713,428 |
|
|
79
|
-
| 10 | $145,000 | $1,111,080 | $31,536 | 2.84% | $280,000 |
|
|
80
|
-
| 0 | $145,000 | $1,079,544 | $0 | 0.00% | $0 |
|
|
81
|
-
|
|
82
|
-
## Case 2a-33: Fixed optimistic rates with Medicare/IRMAA optimized with 33% heirs' marginal tax rate
|
|
83
|
-
|
|
84
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
85
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
86
|
-
| 200 | $145,000 | $2,536,155 | $391,246 | 15.43% | $1,257,908 |
|
|
87
|
-
| 150 | $145,000 | $2,536,155 | $391,246 | 15.43% | $1,257,908 |
|
|
88
|
-
| 100 | $145,000 | $2,529,949 | $385,040 | 15.22% | $1,242,205 |
|
|
89
|
-
| 50 | $145,000 | $2,476,579 | $331,670 | 13.39% | $105,000 |
|
|
90
|
-
| 10 | $145,000 | $2,273,553 | $128,644 | 5.66% | $590,001 |
|
|
91
|
-
| 0 | $145,000 | $2,144,909 | $0 | 0.00% | $0 |
|
|
92
|
-
|
|
93
|
-
## Case 2a-22: Fixed optimistic rates with Medicare/IRMAA optimized with 22% heirs' marginal tax rate
|
|
94
|
-
|
|
95
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
96
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
97
|
-
| 200 | $145,000 | $2,536,155 | $324,858 | 12.81% | $1,205,857 |
|
|
98
|
-
| 150 | $145,000 | $2,536,155 | $324,858 | 12.81% | $1,205,857 |
|
|
99
|
-
| 100 | $145,000 | $2,533,590 | $322,293 | 12.72% | $1,180,111 |
|
|
100
|
-
| 50 | $145,000 | $2,491,684 | $280,387 | 11.25% | $1,000,000 |
|
|
101
|
-
| 10 | $145,000 | $2,325,163 | $113,866 | 4.90% | $590,001 |
|
|
102
|
-
| 0 | $145,000 | $2,211,297 | $0 | 0.00% | $0 |
|
|
103
|
-
|
|
104
|
-
## Case 2a-0: Fixed optimistic rates with Medicare/IRMAA optimized with 0% heirs' marginal tax rate
|
|
105
|
-
|
|
106
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
107
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
108
|
-
| 200 | $145,000 | $2,664,088 | $223,593 | 8.39% | $820,763 |
|
|
109
|
-
| 150 | $145,000 | $2,664,062 | $223,567 | 8.39% | $820,763 |
|
|
110
|
-
| 100 | $145,000 | $2,663,007 | $222,512 | 8.36% | $820,763 |
|
|
111
|
-
| 50 | $145,000 | $2,651,217 | $210,722 | 7.95% | $792,944 |
|
|
112
|
-
| 10 | $145,000 | $2,525,721 | $85,226 | 3.37% | $350,000 |
|
|
113
|
-
| 0 | $145,000 | $2,440,495 | $0 | 0.00% | $0 |
|
|
114
|
-
|
|
115
|
-
## Case 2b-33: Fixed optimistic rates with Medicare/IRMAA solved self-consistently with 33% heirs' marginal tax rate
|
|
116
|
-
|
|
117
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
118
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
119
|
-
| 200 | $145,000 | $2,516,421 | $391,903 | 15.57% | $1,235,627 |
|
|
120
|
-
| 150 | $145,000 | $2,516,421 | $391,903 | 15.57% | $1,235,627 |
|
|
121
|
-
| 100 | $145,000 | $2,513,287 | $388,769 | 15.47% | $1,238,060 |
|
|
122
|
-
| 50 | $145,000 | $2,464,280 | $339,762 | 13.79% | $1,092,714 |
|
|
123
|
-
| 10 | $145,000 | $2,251,867 | $127,349 | 5.66% | $590,001 |
|
|
124
|
-
| 0 | $145,000 | $2,124,518 | $0 | 0.00% | $0 |
|
|
125
|
-
|
|
126
|
-
## Case 2b-22: Fixed optimistic rates with Medicare/IRMAA solved self-consistently with 22% heirs' marginal tax rate
|
|
127
|
-
|
|
128
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
129
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
130
|
-
| 200 | $145,000 | $2,516,421 | $322,752 | 12.83% | $1,235,627 |
|
|
131
|
-
| 150 | $145,000 | $2,516,421 | $322,752 | 12.83% | $1,235,627 |
|
|
132
|
-
| 100 | $145,000 | $2,526,764 | $333,095 | 13.18% | $1,184,983 |
|
|
133
|
-
| 50 | $145,000 | $2,479,386 | $285,717 | 11.52% | $1,000,000 |
|
|
134
|
-
| 10 | $145,000 | $2,309,678 | $116,009 | 5.02% | $590,001 |
|
|
135
|
-
| 0 | $145,000 | $2,193,669 | $0 | 0.00% | $0 |
|
|
136
|
-
|
|
137
|
-
## Case 2b-0: Fixed optimistic rates with Medicare/IRMAA solved self-consistently with 0% heirs' marginal tax rate
|
|
138
|
-
|
|
139
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
140
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
141
|
-
| 200 | $145,000 | $2,656,383 | $198,591 | 7.48% | $820,763 |
|
|
142
|
-
| 150 | $145,000 | $2,656,358 | $198,566 | 7.48% | $820,763 |
|
|
143
|
-
| 100 | $145,000 | $2,655,303 | $197,511 | 7.44% | $820,763 |
|
|
144
|
-
| 50 | $145,000 | $2,643,512 | $185,720 | 7.03% | $792,944 |
|
|
145
|
-
| 10 | $145,000 | $2,537,957 | $80,165 | 3.16% | $303,990 |
|
|
146
|
-
| 0 | $145,000 | $2,457,792 | $0 | 0.00% | $0 |
|
|
147
|
-
|
|
148
|
-
## Case 3a-33: Historical rates starting in 1966 with Medicare/IRMAA optimized with 33% heirs' marginal tax rate
|
|
149
|
-
|
|
150
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
151
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
152
|
-
| 200 | $145,000 | $1,152,831 | $341,441 | 29.62% | $783,901 |
|
|
153
|
-
| 150 | $145,000 | $1,152,831 | $341,441 | 29.62% | $783,901 |
|
|
154
|
-
| 100 | $145,000 | $1,152,831 | $341,441 | 29.62% | $783,901 |
|
|
155
|
-
| 50 | $145,000 | $1,137,204 | $325,814 | 28.65% | $700,000 |
|
|
156
|
-
| 10 | $145,000 | $949,827 | $138,437 | 14.57% | $320,000 |
|
|
157
|
-
| 0 | $145,000 | $811,390 | $0 | 0.00% | $0 |
|
|
158
|
-
|
|
159
|
-
## Case 3a-22: Historical rates starting in 1966 with Medicare/IRMAA optimized with 22% heirs' marginal tax rate
|
|
160
|
-
|
|
161
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
162
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
163
|
-
| 200 | $145,000 | $1,152,831 | $341,441 | 29.62% | $783,901 |
|
|
164
|
-
| 150 | $145,000 | $1,152,831 | $341,441 | 29.62% | $803,367 |
|
|
165
|
-
| 100 | $145,000 | $1,152,831 | $341,441 | 29.62% | $783,901 |
|
|
166
|
-
| 50 | $145,000 | $1,137,204 | $325,814 | 28.65% | $700,000 |
|
|
167
|
-
| 10 | $145,000 | $949,827 | $138,437 | 14.57% | $320,000 |
|
|
168
|
-
| 0 | $145,000 | $811,390 | $0 | 0.00% | $0 |
|
|
169
|
-
|
|
170
|
-
## Case 3a-0: Historical rates starting in 1966 with Medicare/IRMAA optimized with 0% heirs' marginal tax rate
|
|
171
|
-
|
|
172
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
173
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
174
|
-
| 200 | $145,000 | $1,222,679 | $223,127 | 18.25% | $783,901 |
|
|
175
|
-
| 150 | $145,000 | $1,222,679 | $223,127 | 18.25% | $783,901 |
|
|
176
|
-
| 100 | $145,000 | $1,222,679 | $223,127 | 18.25% | $783,901 |
|
|
177
|
-
| 50 | $145,000 | $1,207,373 | $207,821 | 17.21% | $695,708 |
|
|
178
|
-
| 10 | $145,000 | $1,125,137 | $125,585 | 11.16% | $260,000 |
|
|
179
|
-
| 0 | $145,000 | $999,552 | $0 | 0.00% | $0 |
|
|
180
|
-
|
|
181
|
-
## Case 3b-33: Historical rates starting in 1966 with Medicare/IRMAA solved self-consistently with 33% heirs' marginal tax rate
|
|
182
|
-
|
|
183
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
184
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
185
|
-
| 200 | $145,000 | $1,150,869 | $340,733 | 29.61% | $783,901 |
|
|
186
|
-
| 150 | $145,000 | $1,150,869 | $340,733 | 29.61% | $783,901 |
|
|
187
|
-
| 100 | $145,000 | $1,150,869 | $340,733 | 29.61% | $783,901 |
|
|
188
|
-
| 50 | $145,000 | $1,124,033 | $313,897 | 27.93% | $695,239 |
|
|
189
|
-
| 10 | $145,000 | $945,858 | $135,722 | 14.35% | $320,000 |
|
|
190
|
-
| 0 | $145,000 | $810,136 | $0 | 0.00% | $0 |
|
|
191
|
-
|
|
192
|
-
## Case 3b-22: Historical rates starting in 1966 with Medicare/IRMAA solved self-consistently with 22% heirs' marginal tax rate
|
|
193
|
-
|
|
194
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
195
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
196
|
-
| 200 | $145,000 | $1,150,869 | $340,733 | 29.61% | $783,901 |
|
|
197
|
-
| 150 | $145,000 | $1,150,869 | $340,733 | 29.61% | $783,901 |
|
|
198
|
-
| 100 | $145,000 | $1,150,869 | $340,733 | 29.61% | $783,901 |
|
|
199
|
-
| 50 | $145,000 | $1,124,033 | $313,897 | 27.93% | $695,239 |
|
|
200
|
-
| 10 | $145,000 | $945,858 | $135,722 | 14.35% | $320,000 |
|
|
201
|
-
| 0 | $145,000 | $810,136 | $0 | 0.00% | $0 |
|
|
202
|
-
|
|
203
|
-
## Case 3b-0: Historical rates starting in 1966 with Medicare/IRMAA solved self-consistently with 0% heirs' marginal tax rate
|
|
204
|
-
|
|
205
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
206
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
207
|
-
| 200 | $145,000 | $1,218,844 | $225,877 | 18.53% | $783,901 |
|
|
208
|
-
| 150 | $145,000 | $1,218,844 | $225,877 | 18.53% | $783,901 |
|
|
209
|
-
| 100 | $145,000 | $1,218,844 | $225,877 | 18.53% | $783,901 |
|
|
210
|
-
| 50 | $145,000 | $1,203,538 | $210,571 | 17.50% | $695,708 |
|
|
211
|
-
| 10 | $145,000 | $1,121,353 | $128,386 | 11.45% | $260,000 |
|
|
212
|
-
| 0 | $145,000 | $992,967 | $0 | 0.00% | $0 |
|
|
213
|
-
|
|
214
|
-
## Case 4a-33: Historical rates starting in 1991 with Medicare/IRMAA optimized with 33% heirs' marginal tax rate
|
|
215
|
-
|
|
216
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
217
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
218
|
-
| 400 | $145,000 | $12,056,950 | $2,171,374 | 18.01% | $1,762,786 |
|
|
219
|
-
| 200 | $145,000 | $12,058,040 | $2,172,464 | 18.02% | $1,705,975 |
|
|
220
|
-
| 150 | $145,000 | $12,025,790 | $2,140,214 | 17.80% | $2,131,802 |
|
|
221
|
-
| 100 | $145,000 | $12,003,202 | $2,117,626 | 17.64% | $2,943,074 |
|
|
222
|
-
| 50 | $145,000 | $11,480,661 | $1,595,085 | 13.89% | $2,816,227 |
|
|
223
|
-
| 10 | $145,000 | $11,014,110 | $1,128,534 | 10.25% | $556,256 |
|
|
224
|
-
| 0 | $145,000 | $9,885,576 | $0 | 0.00% | $0 |
|
|
225
|
-
|
|
226
|
-
## Case 4a-22: Historical rates starting in 1991 with Medicare/IRMAA optimized with 22% heirs' marginal tax rate
|
|
227
|
-
|
|
228
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
229
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
230
|
-
| 400 | $145,000 | $12,073,210 | $1,870,449 | 15.49% | $1,760,142 |
|
|
231
|
-
| 200 | $145,000 | $12,074,606 | $1,871,845 | 15.50% | $1,719,322 |
|
|
232
|
-
| 150 | $145,000 | $12,042,813 | $1,840,052 | 15.28% | $1,930,667 |
|
|
233
|
-
| 100 | $145,000 | $12,024,366 | $1,821,605 | 15.15% | $2,707,227 |
|
|
234
|
-
| 50 | $145,000 | $11,608,739 | $1,405,978 | 12.11% | $2,709,587 |
|
|
235
|
-
| 10 | $145,000 | $10,496,321 | $293,560 | 2.80% | $555,571 |
|
|
236
|
-
| 0 | $145,000 | $10,202,761 | $0 | 0.00% | $0 |
|
|
237
|
-
|
|
238
|
-
## Case 4a-0: Historical rates starting in 1991 with Medicare/IRMAA optimized with 0% heirs' marginal tax rate
|
|
239
|
-
|
|
240
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
241
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
242
|
-
| 400 | $145,000 | $12,292,982 | $1,446,509 | 11.77% | $1,669,855 |
|
|
243
|
-
| 200 | $145,000 | $12,292,643 | $1,446,170 | 11.76% | $1,669,855 |
|
|
244
|
-
| 150 | $145,000 | $12,251,697 | $1,405,224 | 11.47% | $1,662,303 |
|
|
245
|
-
| 100 | $145,000 | $12,234,459 | $1,387,986 | 11.34% | $2,199,350 |
|
|
246
|
-
| 50 | $145,000 | $11,947,720 | $1,101,247 | 9.22% | $2,281,495 |
|
|
247
|
-
| 10 | $145,000 | $11,070,668 | $224,195 | 2.03% | $424,505 |
|
|
248
|
-
| 0 | $145,000 | $10,846,473 | $0 | 0.00% | $0 |
|
|
249
|
-
|
|
250
|
-
## Case 4b-33: Historical rates starting in 1991 with Medicare/IRMAA solved self-consistently with 33% heirs' marginal tax rate
|
|
251
|
-
|
|
252
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
253
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
254
|
-
| 400 | $145,000 | $12,006,601 | $2,182,176 | 18.17% | $1,906,415 |
|
|
255
|
-
| 200 | $145,000 | $11,996,099 | $2,171,674 | 18.10% | $2,022,783 |
|
|
256
|
-
| 150 | $145,000 | $11,968,496 | $2,144,071 | 17.91% | $2,079,499 |
|
|
257
|
-
| 100 | $145,000 | $11,941,959 | $2,117,534 | 17.73% | $2,877,714 |
|
|
258
|
-
| 50 | $145,000 | $11,407,587 | $1,583,162 | 13.88% | $2,850,001 |
|
|
259
|
-
| 10 | $145,000 | $10,150,350 | $325,925 | 3.21% | $570,001 |
|
|
260
|
-
| 0 | $145,000 | $9,824,425 | $0 | 0.00% | $0 |
|
|
261
|
-
|
|
262
|
-
## Case 4b-22: Historical rates starting in 1991 with Medicare/IRMAA solved self-consistently with 22% heirs' marginal tax rate
|
|
263
|
-
|
|
264
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
265
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
266
|
-
| 400 | $145,000 | $12,021,047 | $1,852,757 | 15.41% | $1,872,324 |
|
|
267
|
-
| 200 | $145,000 | $12,023,136 | $1,854,846 | 15.43% | $1,855,304 |
|
|
268
|
-
| 150 | $145,000 | $11,994,614 | $1,826,324 | 15.23% | $1,753,840 |
|
|
269
|
-
| 100 | $145,000 | $11,977,328 | $1,809,038 | 15.10% | $2,482,833 |
|
|
270
|
-
| 50 | $145,000 | $11,546,402 | $1,378,112 | 11.94% | $2,764,699 |
|
|
271
|
-
| 10 | $145,000 | $10,458,881 | $290,591 | 2.78% | $520,001 |
|
|
272
|
-
| 0 | $145,000 | $10,168,290 | $0 | 0.00% | $0 |
|
|
273
|
-
|
|
274
|
-
## Case 4b-0: Historical rates starting in 1991 with Medicare/IRMAA solved self-consistently with 0% heirs' marginal tax rate
|
|
275
|
-
|
|
276
|
-
| max Roth X (nominal k$) | net spending (today's $) | bequest (today's $) | net benefit (today's $) | net benefit (%) | total Roth X (nominal $) |
|
|
277
|
-
|-------------------------|--------------------------|---------------------|--------------------------|------------------|---------------------------|
|
|
278
|
-
| 400 | $145,000 | $12,295,204 | $1,151,599 | 9.37% | $1,508,030 |
|
|
279
|
-
| 200 | $145,000 | $12,290,863 | $1,147,258 | 9.33% | $1,510,600 |
|
|
280
|
-
| 150 | $145,000 | $12,285,610 | $1,142,005 | 9.30% | $1,511,254 |
|
|
281
|
-
| 100 | $145,000 | $12,259,890 | $1,116,285 | 9.11% | $1,739,219 |
|
|
282
|
-
| 50 | $145,000 | $12,060,261 | $916,656 | 7.60% | $1,676,283 |
|
|
283
|
-
| 10 | $145,000 | $11,381,993 | $238,388 | 2.09% | $398,028 |
|
|
284
|
-
| 0 | $145,000 | $11,143,605 | $0 | 0.00% | $0 |
|
|
285
|
-
|
|
286
|
-
## Observations
|
|
287
|
-
|
|
288
|
-
The results presented above demonstrate several important patterns regarding the impact of Roth conversions on bequest maximization:
|
|
289
|
-
|
|
290
|
-
**1. Heir tax rate is the dominant factor**: The benefits of Roth conversions increase dramatically with the heirs' marginal tax rate. For example, in Case 1a with maximum conversions (200k), the net benefit ranges from 6.50% (0% tax rate) to 15.53% (33% tax rate). This pattern is consistent across all cases and reflects the fundamental advantage of Roth conversions: by paying taxes now at potentially lower rates, heirs avoid paying taxes later at their own (potentially higher) marginal rates.
|
|
291
|
-
|
|
292
|
-
**2. Magnitude of benefits**: Unlike the previous case study focusing on spending optimization, where Roth conversions provided benefits on the order of 1%, bequest optimization shows substantially larger benefits. The net benefit percentages range from approximately 2% to 30%, depending on the scenario and heir tax rate. This suggests that Roth conversions can be particularly valuable for those prioritizing legacy planning.
|
|
293
|
-
|
|
294
|
-
**3. Historical rate scenarios show the largest benefits**: Case 3 (historical rates from 1966) consistently shows the highest net benefit percentages, particularly for the 33% heir tax rate scenario (approximately 29-30%). This likely reflects the impact of historical market conditions and tax bracket changes over the extended time horizon. Case 4 (historical rates from 1991) also shows substantial benefits, with net benefits reaching 18% for 33% heir tax rates.
|
|
295
|
-
|
|
296
|
-
**4. Fixed rate scenarios**: Both conservative (Case 1) and optimistic (Case 2) fixed rate scenarios show meaningful but more modest benefits compared to historical scenarios. Case 1 shows benefits ranging from 6.5% to 17% depending on tax rate, while Case 2 shows benefits from 3.4% to 15.6%. The optimistic scenario (Case 2) actually shows slightly lower percentage benefits than the conservative scenario (Case 1), which may reflect the interaction between higher returns and tax bracket dynamics.
|
|
297
|
-
|
|
298
|
-
**5. Optimization method consistency**: The differences between Medicare/IRMAA optimization methods (direct optimization vs. self-consistent loop) are generally small, typically within 1-2 percentage points. This consistency provides confidence that the results are robust to the computational approach used.
|
|
299
|
-
|
|
300
|
-
**6. Diminishing returns at higher conversion limits**: While higher conversion limits (e.g., 200k vs. 100k) generally provide better benefits, the incremental gains diminish. In many cases, the benefits plateau or even decrease slightly at the highest conversion limits, suggesting there is an optimal conversion amount that balances current tax costs with future tax savings.
|
|
301
|
-
|
|
302
|
-
**7. Comparison to spending optimization**: The contrast with the previous case study (Discussion #58) is striking. When optimizing for spending with zero bequest, Roth conversions provided approximately 1% benefit. When optimizing for bequest with fixed spending, the benefits are an order of magnitude larger (2-30%). This highlights how the objective function fundamentally changes the value proposition of Roth conversions.
|
|
303
|
-
|
|
304
|
-
**8. Tax rate sensitivity**: The sensitivity to heir tax rates is particularly pronounced. For 0% heir tax rates, benefits are modest (2-8%), as there are no future taxes to avoid. However, for 33% heir tax rates, benefits can exceed 15-30% in many scenarios. This suggests that Roth conversions are most valuable when heirs are expected to be in high tax brackets.
|
|
305
|
-
|
|
306
|
-
These findings suggest that Roth conversions can be a powerful tool for legacy planning, especially when heirs are expected to face high marginal tax rates. The benefits are substantial and consistent across different market scenarios, though the magnitude varies significantly based on the heirs' tax situation. As with the previous case study, the conventional wisdom that taxes are more likely to increase than decrease in the future would further favor conversion strategies.
|
|
307
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|