Upcoming beta
We're nearly ready to release the beta test for the new release. We have made lots of changes and improvements to the user interface and computation engine. If you have signed up for the beta test "role" we'll select about 20 of you and make the kit available in the next day or two. We expect to test for about two weeks and then roll out the final update.
RSS
Hi Lowell, When you send us the Beta version, it would be helpful if you identify the changes you've made to the GUI & the CE. Will the tax tables be updated? Fed & state?
Thanks
James Mavrogenis
Here's the [raw] change list for the CE. There may be a few more tweaks to the list during Beta, but there will be no additional bugs fixed that aren't directly related to changes for this release. The Monte Carlo work was the biggest reason for our having skipped our usual February release date. Larry and I spent the better part of two months buried in the MC and cleaned up a bunch of theoretical and implementation issues that were part of the original design. There were a vast number of changes for software engineering reasons, restructuring, redesign, ease of maintenance, etc. Some of this won't make a lot of sense without context, suffice it to say it's been a ton of work.
Change design of consumption function so that conventional planning lasts through end of life.
Do net present value calculation of consumption and earning liquidity to connect assets and consumption at the end of conventional planning.
Add planning method data and interfaces to demographics.
Emit a negative consumption error message.
Adjust discretionary spending by conventional planning method spending for singles.
Adjust discretionary spending by conventional planning method spending for married.
For the same year in the same trace, the same portfolio should use the same draw.
Distribute retirement assets based on ratios calculated by the basic module.
Get rid of equivalenced variables: a_monte_tf_spend_amt%_%
Get rid of unnecessary variable: a_monte_tf_spend_amt1
Get rid of equivalenced variables: a_monte_tf_spend_amt%_%
Get rid of unnecessary variable: a_monte_tf_spend_amt1
Convert traceTaxFavoredAssets to a role indexed array.
Use the basic calculated withdrawal ratio in the backward calculations.
Add routines to calculate withdrawal ratio for the monte carlo.
Change the interface to the basic Withdraw1.
Add routine to fetch the withdrawal ratio for the monte carlo.
Convert retirement calculations to a cash-on-hand basis as per Larry's notes.
Get rid of an unnecessary variable: s_tf_spendc
Calculate withdrawal ratio and asset ratio once during the basic pass.
Convert retirement withdrawal calculations to assets and cash on hand.
Integegrate new withdrawal scheme into survivor module.
Use the new retirement account monte carlo retirement account function.
Add monte carlo withdraw1 routine.
Change the name of a_monte_def to show the relationship with basic.
Change the name of def_monte to show the relationship with basic and the specific data maintained in the variable.
Get rid of a_monte_tf_spend_amt2 and access the underlying zxyx variables directly.
Change the name of defz to better document what actually is contained in the variable.
Its no longer necessary to copy the zxyx data into a temporary for processing in monte_withdraw_amt2.
Make the retirement account processing role neutral.
Get assets on hand to be spent to track in the MC module the same way it does in the other modules.
Convert the assets on hand into total cash on hand when making the withdraw calls.
The withdraw accounts should all be based on cash on hand, not cash on hand or assets on hand. If (when) simultaneous withdrawals and contributions are allowed this will be necessary to get the retirement account processing correct.
Convert the psuedo-annuity withdrawal to eliminate the copying of data from the zxyx structures.
Make the psuedo-annuity timing for withdrawals obey the same rules as for the normal retirement accounts.
Restructure transfer of initial retirement assets for forward pass and trace.
Tracing of retirement assets wasn't role neutral.
Make the assetsTaxFavored????_show variable role neutral.
The MC version of calculateRetirementAccount wasn't role neutral.
The calculateSurvivorWithdrawalRatio was calculating incorrect withdrawal ratios.
Port of U2010-02-01_03.04.p02-00 to make the MC results more tractable.
For the same year in the same trace, the same portfolio should use the same draw.
Start using the demographics version of the survivor index function.
Add survivor index function.
Change interface to beginEnd
Start using the demographics version of the survivor index function.
Break apart the earnings liquidity calculation so that we can debug the components.
Earnings liquidity didn't include spousal benefits in a couple of places.
The zxyx calculations didn't need to rewrite the retirement account structures.
There may have been an inconsistency introduced due to the end of period assets being stored in the retirement accounts.
Enforce the borrowning constraint on the forward pass.
The monte carlo withdraw1 function was using the actual draws from the future instead of the MEAN draws from the basic for the future to calculate the withdrawal.
Allow withdrawals from retirement accounts prior to the year of first withdrawal.
Add 2009 tax tables.
Update 1040 form processing for 2009.
Redesign EITC routine to handle varying number of children limits.
Add COLA for 2009
Add the 2008 Average Wage Index.
There was a comparison error in one of the calculations for spousal benefit reduction.
Further issue with the last one, only the husband's spousal benefits should have been added, not the husband's and wife's.
Deduct self employment tax from federal AGI.
Self employment taxes need to be deducted from AGI prior to calling the federal tax routines.
The survivor medicare B contributions needed to be doubled.
The nominal asset income wasn't being correctly reported out in the federal detail tax report.
Self employment taxes need to be deducted from AGI prior to calling the federal tax routines.
The self employed medicare tax isn't being calculated properly for the survivor cases.
Add interface for survivor tax routines.
Add routines to calculate payroll taxes.
Remove paybase.
Include contingent housing capital gains.
Include real estate capital gains.
Change nominalAssets variable name.
Change nominalAssets variable name.
Set up for forward pass.
Add upside investing to forward pass for regular assets only.
Net cash flow from retirement accounts was wrong going forward.
Add tracing of risky assets to espbasic.
Add output of risky assets.
Initialize lifetime rates of return to account for kids.
Initialize upside investing rates of return properly.
Catch a usage error that kept the risky tax difference from being correctly calculated.
Try to fix some precision problems by using scientific notation for consumption profiles.
Make sure the right rate of return gets used during basic processing.
Loose the risky percentage of retirement assets.
Calculate the survivor and other withdrawals based on safe nominal rates of return.
Nominal Asset income has to get set in the tax routines.
Nominal asset income has to be converted by component for reporting.
Survivor index has to be calculated upon entry each time to handle when this routine is called during the backward pass.
Limit withdrawals going backward to actual years of withdrawals.
Combine state tax base data.
Add interface to initialize specific values of retirement account assets.
Add interface to sum risky retirement account assets.
Some states tax unqualified withdrawals.
Use cash on hand as the grid value during the backward pass.
Record current retirement assets during backward processing.
Use SurvivorIndex hack rather than checking for years.
Get the end of period assets right so that the grid limit and the trace get done right.
Make sure to include contributions in figuring out next years retirement cash on hand.
Get the calculation of the cash on hand right for the traced consumption value.
Pull special cases for trace 0 since thats handled in the calling routine.
The consumption must be calculated after earnings liquidity is available.
Withdrawal ratios have to be calculated wrt individual accounts, not the sum of accounts.
Convert the retirement asset state variable into real terms to increase the resolution of the grid.
Used cash on hand incorrectly as a state variable in the forward pass, screwing up the consumption.
Fix the problem with varying grid limits. The problem was the scan forthe negative to positive consumption state was quitting before the end of the grid. When regular assets were in the last grid point, the consumption function gets corrupted.
New module to allow use of allocatable arrays in the consumption function data structure.
Move consumption related routines into a single module: monte, monte_cfunc1, monte_interpol, monte_c_rw:
Move MinimumWithdrawalIndex to retirementAccounts module.
Get the signs on minimum required distributions right.
New financial data for 2009.
Write out total loss value in the consumption profile.
Best,
Dick
Dick, Thanks. That's a very through list. I've read through it and am not sure that the following bugs have been addressed. They are identified in the following support tickets:
700-604
700-643
700-659
Regards
James Mavrogenis
Maybe, maybe not. If they haven't been, they won't be. Most of the time in the last 6 months has been spent on futures work with the occasional bug fix. Unusual for us, but it's a strategic necessity.
Best,
Dick Munroe
Was the canned commodity asset not added to Monte Carlo in 2.16.60?
It was not added to the user interface, we collected data for it but didn't have time to deal with everything on our plates despite having skipped a release cycle.
Best,
Dick Munroe