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/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 part B basic premium.
50
- # Following values are incremental IRMAA part B monthly fees.
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(irmaaFees), f"Inconsistent value of Nq: {Nq}."
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
- L = np.zeros((Nmed, Nq-1))
137
- C = np.zeros((Nmed, Nq))
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
- L[nn] = gamma_n[n] * irmaaBrackets[status][1:]
150
- C[nn] = imed * gamma_n[n] * irmaaFees
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, L, C
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
@@ -17,4 +17,4 @@ You should have received a copy of the GNU General Public License
17
17
  along with this program. If not, see <https://www.gnu.org/licenses/>.
18
18
  """
19
19
 
20
- __version__ = "2026.01.26"
20
+ __version__ = "2026.02.02"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: owlplanner
3
- Version: 2026.1.26
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 &copy; 2024 - Martin-D. Lacasse
800
+ Copyright &copy; 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=-q6TYMagUJGv1ige6VvWPFtZ5ZWkT9Yh-HQrnnWDHfU,19834
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=VWrKDGl3UgNB6GQzfw7hQzVNJW_BcupH0I2zP9yKtsw,152509
7
+ owlplanner/plan.py,sha256=yYIdSfjJfsuV5aij0xfI8jZkRCRLWc-NV6wAycM4Ef0,157402
9
8
  owlplanner/progress.py,sha256=ayqoRUMn6dtIxHDYaeX1mu7W2rAhkBYAi4Y2Y_NtdYA,2521
10
- owlplanner/rates.py,sha256=W-cXEbJl7L9cPEhQbtz4bf_JAkChoCfDSFoZHDUZeys,14393
9
+ owlplanner/rates.py,sha256=pN6J1aZsj_OaCuLrU4vRlQJOCg3dKhamPuAmvI3Ekls,15158
11
10
  owlplanner/socialsecurity.py,sha256=4vn76dUZ2P2fMKyy4eu2ramGNvPQymKzsNFZvwbFWOc,7595
12
- owlplanner/tax2026.py,sha256=-aHOVv5pErXY82PK5dQBjqoAqYc74w4C5zqGODboUBw,15659
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=ah-vzrsjzBTIMnscgEdl8z7Y1yu4uXQ5B3og10cS2y4,747
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.1.26.dist-info/METADATA,sha256=ZHGDl0MzxLspxcYtBCoxp8q1oQKnEZ1qH_gjzInxw1Q,46494
32
- owlplanner-2026.1.26.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
33
- owlplanner-2026.1.26.dist-info/entry_points.txt,sha256=m2Ql-6VQbotl65wiqx35d3TIh-Tm6Wdjrz3hNdqZKKg,52
34
- owlplanner-2026.1.26.dist-info/licenses/AUTHORS,sha256=KD6uW6iEOHf51J8DEJ6az-gowFv3NWIpW4zRgqxwuAA,464
35
- owlplanner-2026.1.26.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
36
- owlplanner-2026.1.26.dist-info/RECORD,,
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
-