U.S. patent application number 12/564574 was filed with the patent office on 2010-03-25 for financial optimization system and method.
Invention is credited to Glenn FRANK.
Application Number | 20100076908 12/564574 |
Document ID | / |
Family ID | 26889746 |
Filed Date | 2010-03-25 |
United States Patent
Application |
20100076908 |
Kind Code |
A1 |
FRANK; Glenn |
March 25, 2010 |
FINANCIAL OPTIMIZATION SYSTEM AND METHOD
Abstract
An improved investment optimizing system and method. Once an
investor or investment advisor determines the appropriate asset
allocation and that there are both taxable accounts and
tax-deferred or tax-free investment accounts, the invention will
optimize/maximize the investor's ending after-tax asset
accumulation, which is the objective of all investors. This is
accomplished by allocating the chosen investment vehicles between
the taxable and tax-deferred accounts in an optimum way. The
invention runs on a computer system and searches for an allocation
which results in a maximal return. Intelligent heuristics measure
increased performance based on different asset allocations.
Inventors: |
FRANK; Glenn; (Burlington,
MA) |
Correspondence
Address: |
BROWN RUDNICK LLP
ONE FINANCIAL CENTER
BOSTON
MA
02111
US
|
Family ID: |
26889746 |
Appl. No.: |
12/564574 |
Filed: |
September 22, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11928945 |
Oct 30, 2007 |
|
|
|
12564574 |
|
|
|
|
09825426 |
Apr 3, 2001 |
|
|
|
11928945 |
|
|
|
|
09346602 |
Jul 2, 1999 |
6240399 |
|
|
09825426 |
|
|
|
|
60194158 |
Apr 3, 2000 |
|
|
|
Current U.S.
Class: |
705/36T ;
705/36R |
Current CPC
Class: |
G06Q 40/06 20130101;
G06Q 40/04 20130101; G06Q 40/10 20130101 |
Class at
Publication: |
705/36.T ;
705/36.R |
International
Class: |
G06Q 40/00 20060101
G06Q040/00 |
Claims
1. A system, for running on a computer, for determining an
investment strategy for an entity with assets in taxable and
tax-free accounts, comprising: an account information input
component, to accept information regarding said assets in said
taxable and tax-free accounts for said entity; an investment
selection input component, to accept information regarding a
plurality of investments, including an indication of a percentage
amount of said assets to invest in each of said plurality of
investments; an account amount selection component that selects
amounts to invest from said taxable and tax-free accounts randomly
or using Genetic Algorithms (GA), wherein said amounts
substantially match said indication of a percentage amount to
invest in each of said plurality of investments; a time horizon
input component, to accept an indication of a time horizon; and a
return on investment calculation component, to calculate a return
on investment for said entity based on said information regarding
said assets, said information regarding a plurality of investments,
said indication of a percentage amount, said selected amount to
invest from said taxable and said tax-free accounts, and said
indication of a time horizon; wherein said account amount selection
component determines an amount from said taxable and tax-free
accounts in order to produce a maximal after-tax accumulation for
said entity at said time horizon.
2. The system of claim 1 wherein said account amount selection
component randomly selects amounts from said taxable and tax-free
accounts, and said return on investment calculation component
calculates an after-tax accumulation for said entity based on said
randomly selected amounts.
3. The system of claim 2 wherein steps of randomly selecting
amounts from said taxable and tax-free accounts, and calculating a
return, are performed a plurality of times, and said system outputs
selected amounts from said taxable and tax-free accounts which
produce a maximal return.
4. The system of claim 1 wherein said account amount selection
component selects an amount from said taxable and tax-free accounts
using Genetic Algorithms (GA) in order to produce a maximal return
on investment for said entity at said time horizon.
5. The system of claim 4 further including: a chromosome structure,
for use with said Genetic Algorithms, wherein said chromosome
structure includes a plurality of values, each value being an
indication of an amount from said tax-free accounts to invest in a
selected one of said plurality of investments; and said return on
investment calculation component calculates an after-tax
accumulation for said entity based on said values in said
chromosome structure.
6. The system of claim 1 further including: a personal tax
component, to accept information regarding personal tax rates for
said entity, wherein said a return on investment calculation
component calculates a return on investment for said entity based
on said information regarding said personal tax rates.
7. On a computer system, a method of determining an investment
strategy for an entity with assets in taxable and tax-free
accounts, said method comprising: receiving information regarding a
plurality of investments; receiving information regarding a
percentage amount of said assets to invest in each of said
plurality of investments; receiving information regarding a time
horizon; and for each of said plurality of investments, selecting
an amount to invest from said taxable and tax-free accounts
randomly or using Genetic Algorithms (GA), wherein said determined
amount to invest substantially matches said percentage amount to
invest in said investment; wherein said determinations will produce
a substantially maximal after-tax accumulation for said entity at
said time horizon.
8. The method of claim 7 wherein said step of determining an amount
to invest from said taxable and tax-free accounts includes
calculating tax consequences over said time horizon for said entity
based on said amounts to invest.
9. The method of claim 8 wherein said step of determining an amount
to invest from said taxable and tax-free accounts further includes:
performing sampling steps a plurality of times, said sampling steps
comprising: randomly selecting amounts from said tax-free accounts
to invest in each of said plurality of investments; determining
appropriate amounts from said taxable accounts so that said
selected percentage amounts for each of plurality of investments is
satisfied; and determining a result if said amounts were invested
as selected and determined for said time horizon.
10. The method of claim 8 wherein said step of determining an
amount to invest from said taxable and tax-free accounts further
includes: creating a plurality of GA chromosome structures, each GA
chromosome structure including a value for each of said plurality
of investments, each value being an indication of an amount from
said tax-free accounts to invest in said corresponding investment;
setting said values in said plurality of GA chromosome structures
to initial settings; evaluating fitness of said plurality of GA
chromosome structures; selecting at least one of said GA chromosome
structures with an optimal fitness; and using said values from said
selected GA chromosome structure as amounts from said tax-free
accounts to invest in said corresponding investment for said
substantially maximal accumulation.
11. The method of claim 10 further including the step of:
calculating an improvement value of said substantially maximal
after-tax accumulation based on said determined investment amounts
from said taxable and tax-free accounts, as compared to an
after-tax accumulation based on said initial settings.
12. A computer system for determining an optimal investment
strategy for an entity with assets in taxable and tax-free
accounts, comprising: means for obtaining tax information, account
information, account amounts, and time horizon information from
said entity; a GA chromosome structure, for indicating an amount to
invest in said taxable and tax-free accounts; means for obtaining
initial amounts to invest in said taxable and tax-free accounts;
means for calculating an after-tax accumulation based on
indications in said GA component structure; means for modifying
said GA chromosome structure to improve said calculated after-tax
accumulation; and means for displaying said resulting after-tax
accumulation.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application is a continuation of application
Ser. No. 11/928,945, filed on Oct. 30, 2007, which is a
continuation of application Ser. No. 09/825,426, filed on Apr. 3,
2001, which is a continuation-in-part of application Ser. No.
09/346,602, filed Jul. 2, 1999 and claims benefit of U.S.
Provisional Application Ser. No. 60/194,158, filed on Apr. 3, 2000,
the entire contents of each of these applications being hereby
incorporated by reference herein.
FIELD OF INVENTION
[0002] The present invention is directed towards financial
analysis, and more particularly towards investment location
optimization software.
BACKGROUND
[0003] Recent changes in the tax code and the ability of
individuals to manage the investment of their retirement accounts
have created many opportunities for maximizing growth over time,
but have also introduced a new level of complexity into individual
investment decision. Determining the best investments and strategy
is a daunting task. A fundamental problem faced by all investors
and financial advisors is which account--retirement or taxable--to
put each investment in with their given asset allocation. Two
factors strongly influence these decisions. First is the asset
classes, such as stocks and bonds (and their sub categories) each
which has various advantages and disadvantages, including expected
return and risk. Second is the tax status of both the investor and
the investment, which typically breaks down into taxable investment
accounts and tax deferred investment accounts (e.g., 401Ks and
IRAs). A decision must be made about how to distribute the asset
classes between the taxable accounts and tax deferred retirement
accounts. For example, if a split of 60% stock (or stock funds) and
40% bonds (or bond funds) make sense for an investor (it's an
appropriate asset allocation), and this investor has $75,000 in an
IRA and $25,000 in a taxable brokerage account, the question is
investor has $75,000 in an IRA and $25,000 in a taxable brokerage
account, the question is "where should the $60,000 stock and the
$40,000 bond allocations be located for maximum long-term
benefits?" Should he hold the stocks entirely in the retirement
account or hold $25,000 in the taxable account and $35,000 in the
IRA? The present investment addresses and optimizes this
question.
[0004] Because of the different income and growth characteristics
of investments in the various asset classes and the different ways
and rates at which they are taxed, and by whom (Federal, state,
local) the decision about which account to put each asset class
(investment) has a very significant impact on the after-tax
investment accumulation over time. Financial advisors have been
forced to "optimize" as best they could by applying their knowledge
of each investments' characteristics and knowledge of the tax laws
to approximate what they thought would be the highest after tax
accumulation for the target investment horizon. The process is very
much a "seat of the pants" exercise and the outcome depends on the
advisor's level of knowledge and their ability to mentally
integrate and process a set of highly complex variables.
[0005] As with any uncertain process, advisors and experts disagree
upon the best strategy for investment. An article by Venessa
O'Connell in the Wall Street Journal (Capital-Gains Tax Cuts Mean
It's Time To Review Your Tax-Deferred Strategy, WSJ Aug. 29, 1997
page C1) stated that the question of whether to keep stocks or
bonds in tax-deferred accounts has been debated among the wealthy
for years. The article further went on to quote Harold Evensky, a
highly respected financial advisor at Evensky, Brown & Katz in
Florida, who recommended that high-income investors keep stocks in
taxable accounts and favor corporate bonds in tax-deferred
accounts. However, this general advice may not prove optimal, as
will be shown below.
[0006] While experts disagree on even the basic strategies, the
typical investor often doesn't even address the issue. Financial
advisors often spend too little time on the issue of investment
location, thereby ending up with less than optimal investment
strategies. More often than not individual investors are oblivious
of the issue to their financial detriment.
[0007] Several tools and systems attempt to address this problem.
Spreadsheets can be constructed to "run the numbers", but the
outcome depends on the input into the system. By changing input
assumptions it is possible to test different scenarios to see which
combination gave the best result. While this is an improvement over
the "seat of the pants" method, it is not a true optimizer.
[0008] Similarly, commercial calculators may become available Which
obviate the need to construct spread sheets, but perform
essentially the same function as the spreadsheets. The commercial
calculators calculate accumulation amounts over time based on a set
of assumptions. By changing the assumptions, the user is able to
test different sets of assumptions (strategies). This is an
incredibly time consuming and burdensome task given the number of
variables and the possible number of combinations. A large number
of variables must be considered with a huge search space. For
example, 80 variables will result in over 14 billion possible
combinations. None of the above approaches will yield an optimum
solution.
[0009] There are several other approaches for developing an
optimization solution for this complex problem with varying degrees
of success. A brute force approach is simply to try every possible
combination and calculate the best result. This can work fine, but
with real world problems, the number of combinations is so large
that this approach is not practical given a reasonable time
scale.
[0010] Numerical calculator optimization techniques have been used
to attempt to solve optimization problems and are now available in
most advanced spreadsheet programs. But these techniques have
limitations. For example, they lend themselves to optimizing
independent numeric inputs from which a desired output is
calculated. They are less capable of optimizing problems involving
sequencing or scheduling. Also, they are "exploitation" and not
"exploration" techniques. This means that given a reasonable
starting solution (a set of input values), the numeric optimization
will converge to a near optimal solution. However, they are not
capable of exploring areas of space where good solutions exist.
This is because numerical optimization techniques can often get
trapped in local optimal solutions. Another limitation of numerical
optimization techniques is that they are not suitable if the
outcome cannot be explicitly calculated. For example, When the
outcome is a subjective assessment by an expert or an observed
performance.
[0011] Another approach is the use linear program techniques. These
can work well when optimizing the numeric parameters of a recipe
type problem. However, with the particular type of optimization
problem related to investment account selection, it becomes very
difficult to represent the problem in terms of linear numeric
parameters. Also, as the number of parameters and equations
increase, the calculations and solution surface become extremely
complex.
[0012] Further, false optimum solutions are prevalent, with no
clear indication of recognizing the false solutions.
[0013] None of these approaches help to find an optimal solution in
a reasonable amount of time (both real time and computer time).
SUMMARY OF THE INVENTION
[0014] The present invention comprises an investment location
optimizer. Once an investor or investment advisor determines the
appropriate asset allocation (investment mix) and that there are
both taxable accounts and tax-deferred investment accounts, the
invention will optimize/maximize the investor's ending after-tax
asset accumulation, which is the objective of all investors. This
is accomplished by allocating the chosen investment vehicles
between the taxable and tax-deferred accounts in an optimum
way.
[0015] The present invention includes a system for determining an
investment strategy for an entity with assets in taxable and
tax-free accounts. It includes an account information input
component, to accept information regarding the assets in the
taxable and tax-free accounts for the entity; an investment
selection input component, to accept information regarding, a
plurality of investments, including an indication of a percentage
amount to invest in each of the plurality of investments; an
account amount selection component, to select an amount to invest
from the taxable accounts and tax-free accounts in the plurality of
investments which substantially matches the indication of a
percentage amount to invest in each of the plurality of
investments; and a time horizon input component, to accept an
indication of a time horizon. A return on investment calculation
component, then calculates a return on investment for the entity
based on the information regarding the assets, the information
regarding a plurality of investments, the indication of a
percentage amount, the selected amount to invest from the taxable
and the tax-free accounts, and the indication of a time horizon.
The account amount selection component selects an amount from the
taxable and tax-free accounts in order to produce a maximal return
on investment for the entity at the time horizon.
[0016] In one embodiment, the account amount selection component
randomly selects amounts from the taxable and tax-free accounts,
and the return investment calculation component calculates a return
for the entity based on the randomly selected amounts. The steps of
randomly selecting amounts from the taxable and tax-free accounts
and calculating a return are performed a plurality of times, and
the system outputs selected amounts from the taxable and tax-free
accounts which produce a maximal return.
[0017] In another embodiment, the account amount selection
component selects an amount from the taxable and tax-free accounts
using Genetic Algorithms (GA) in order to produce a maximal return
on investment for the entity at the time horizon. This embodiment
includes a chromosome structure, for use with the Genetic
Algorithms, wherein the chromosome structure includes a plurality
of values, each value being an indication of an amount from the
tax-free accounts to invest in a selected one of the plurality of
investments.
[0018] Advantages of the present invention include optimization of
investment outcome when there are two basic kinds of investor
accounts: 1) taxable accounts and 2) tax-free accounts such as Roth
accounts. In addition there are other kinds of investor accounts
with their own unique tax characteristics that can be incorporated
into the present invention. This would provide a broader and far
more complex selection optimization.
[0019] The present invention rose from the need to help make
optimal decisions for clients and investors. The total asset
accumulation in an investor's portfolio over time will vary
dramatically depending on the decision of which account to invest
in which asset class. Through the use of the present invention, the
inventors are able to increase the terminal portfolio value
typically between 5 and 40% with no increase in risk to the
investor. The risk lies with the asset allocation and specific
investments selection not where they are located. All relevant
variables have been incorporated into the present invention in
order to truly optimize the end period accumulations.
[0020] The illustrative embodiment of the present invention
comprises a hybrid GA-Heuristic search strategy. The hybrid
approach is reflected both in the implementation of the GAs and the
methodology of applying it to solve problems.
[0021] In broad terms, the following are the five steps to
determine the optimum investment portfolio for each client, as
outlined in FIG. 1. Fact gathering 20 includes setting goals,
identifying risk tolerance, making retirement projections, agreeing
on the appropriate time horizons and identifying the available
investments. The next step is Asset. Allocation 22. Studies show
that 50 to 90% of total pre-tax returns are determined by asset
allocation. Given the results of the fact finding phase 20,
determining the appropriate mix between stocks (domestic,
international, small cap, large cap), bonds (short-term, long-term,
domestic, international, tax exempt), and cash which makes the most
sense for them is among the most important decisions in the
investment process.
[0022] In the step of Investment Selection 24, investors choose
among the available investment options in each asset category to
fund the asset allocation chosen in Step 22. The investor will
select from the available mutual funds or individual stock, bonds
and money market instruments. Then there is Account Selection 26,
which includes determining which accounts (retirement/tax free,
non-retirement/taxable, children, trusts, etc.) are best suited for
the investments and asset allocation determined in Steps 22 and 24.
These accounts are all taxed differently. Accordingly, this
decision is primarily tax motivated with the objective of
maximizing the after-tax accumulations over time.
[0023] Finally there is Monitoring 28. After implementation the
ongoing monitoring of the portfolio is essential as circumstances
change.
[0024] With regard to Step 26 Account Selection, there is no
standard system or formula for allocation. It is here that
investors and financial advisors need to make the complex decisions
about in which account to place which investment. There are a great
number of variables which impact the account selection decision.
They include the time horizon, current and future tax brackets
(both state and federal), current and future capital gains rates,
relative spread between bonds (municipals, federal, corporate),
portfolio turnover, investment yields and appreciation rates, and
relative proportion of overall portfolio in account types
(retirement, non-retirement, children, trusts).
[0025] The illustrative embodiment of the present invention
simultaneously takes into account the following variables: Federal
taxes including income taxes (8 brackets) and capital gains taxes
(3 brackets); States taxes including income and capital gains taxes
(different in all 50 states and many have multiple brackets);
Investment characteristics of numerous asset classes which are
defined in terms of income characteristics (including taxable,
tax-exempt, growth characteristics and turnover); time horizon (in
years); before and after liquidation values; proportion of assets
in taxable and tax-free accounts; and relevant investment mix.
[0026] Advantages of the present invention include a marked level
of improvement in outcome from the application of the present
invention. Typically the improvement is in the 5-40% range over 20
years. This is significant, and remember, it is a complete freebie.
This is, the end result of the investment process is improved
significantly, with no increase in risk as it is the same
investments just in better locations from a tax stand point. And,
as previously discussed, the means of achieving an optimum solution
is not available by any other means.
BRIEF DESCRIPTIONS OF THE DRAWINGS
[0027] The foregoing and other features and advantages of the
present invention will be more fully understood from the following
detailed description of illustrative embodiments, taken in
conjunction with the accompanying drawings in which:
[0028] FIG. 1 is an outline of steps in an investment process;
[0029] FIG. 2 is a block flow diagram generally showing information
inflow and outflow to a system according to the present
invention;
[0030] FIG. 3 is a block diagram showing a more detailed flow of
information as compared to FIG. 2;
[0031] FIG. 4 is a block diagram showing an investment optimizing
component according to one embodiment of the present invention;
[0032] FIG. 5 is a block diagram of a computer system according to
one embodiment of the present invention;
[0033] FIG. 6 is a user interface input screen for entering entity
data according to an illustrative embodiment of the present
invention;
[0034] FIG. 7 is a user interface input screen for entering
investment data according to an illustrative embodiment of the
present invention; and
[0035] FIG. 8 is a user interface output screen for displaying
results according to an illustrative embodiment of the present
invention.
DETAILED DESCRIPTION
[0036] FIG. 1 outlines steps used in planning an investment
strategy for an entity, such as a person. Fact gathering 20
includes setting goals, identifying risk tolerance, making
retirement projections, agreeing on the appropriate time horizons
and identifying the available investments. The next step is Asset
Allocation 22. Studies show that 50 to 90% of total pre-tax returns
are determined by asset allocation. Given the results of the fact
finding phase 20, determining the appropriate mix between stocks
(domestic, international, small cap, large cap), bonds (short-term,
long-term, domestic, international, tax exempt), and cash which
makes the most sense for them is among the most important decisions
in the investment process.
[0037] In the step of Investment Selection 24, investors choose
among the available investment options in each asset category to
fund the asset allocation chosen in Step 22. The investor will
select from the available mutual funds or individual stock, bonds
and money market instruments. Then there is Account Selection 26,
which includes determining which accounts (retirement/tax deferred,
non-retirement/taxable, children, trusts, etc.) are best suited for
the investments and asset allocation determined in Steps 22 and 24.
This decision is primarily tax motivated with the objective of
maximizing the after tax accumulations over time.
[0038] Finally there is Monitoring 28. After implementation the
ongoing monitoring of the portfolio is valuable as circumstances
change.
[0039] Focusing on Step 26 Account Selection, there is no standard
system or formula for allocating investment funds from taxable and
tax-deferred accounts. It is here that investors and financial
advisors need to make the complex decisions about in which account
to place which investment. There are a great number of variables
which impact the account selection decision. They include the time
horizon, current and future tax brackets (both state and federal),
current and future capital gains rates, relative spread between
bonds (municipals, federal, corporate), portfolio turnover,
investment yields and appreciation rates, and relative proportion
of overall portfolio in account types (retirement, non-retirement,
children, trusts).
[0040] FIG. 2 illustrates an asset allocation optimizer 36
according to the present invention. An illustrative embodiment of
the present invention starts with a predetermined Asset Allocation
30. This includes taxable assets and accounts 32 and tax deferred
assets and accounts 34. Typically, these asset allocations 30 are
pre-divided into various categories. For example, an entity (such
as a person or business entity) may have funds in a taxable
account, where taxes are due each year; and a tax-deferred, where
taxes on the principal and/or interest are not due until the funds
are withdrawn, or the individual reaches a certain age. The types
of accounts for which the present invention is applicable include
Taxable, IRA, 401K, Keough, Roth IRAs; trust accounts; foundations;
corporate charitable trust accounts; children's accounts.
[0041] While these funds are in different accounts 32 and 34, they
may be invested in different investments. A feature of the present
invention is determining which accounts to use for each investment
that results in a maximum after-tax accumulation.
[0042] These predetermined asset allocations 30 are provided as
input information into an investment location Optimizer 36. Other
information input to the investment location Optimizer 36 includes
investment characteristics 38. As detailed in FIG. 3, investment
characteristics 38 include details about the various selected or
potential investments, including ordinary income, yield, percent
tax, long term capital gain distributions, unrealized appreciation,
and investment turnover. This investment characteristic information
38 is specific to each investment. Such information may be stored
in a separate database, or entered specifically for a specific
entity.
[0043] Other information entered into the investment location
Optimizer 36 includes tax rates and time horizon information 40
which generally is peculiar to the individual entity. Such
individual information 40 includes the federal income tax rate,
state income tax rate, capital gains tax, tax deferred investments
(accounts) and total investments for the individual. Other
information includes the time horizon which is the period of which
to determine the maximal growth. The investment location Optimizer
36, FIG. 2, then determines an optimized solution which is an
output 42 in the form of an optimized accumulation 44. This
information is similar to the original investment location
information 30, except that now the amount of taxable investment
accounts 46 and tax deferred investment accounts 48 are selected to
produce an optimal result at the end of the time horizon. Other
information, including the projected investment value at the time
horizon, and percentage improvement, may be output, as will be
discussed below.
[0044] The investment location optimizer 36, FIG. 4, includes two
major components in the illustrative embodiment of the present
invention. An account amount selection component 50 receives as
input the predetermined investment location 30 and works to adjust
the proper investment location to produce an optimal solution.
Another component is the return on investment calculating component
52. This return on investment calculating component 52 performs
calculations to determine the value of the various investment over
the time horizon. Therefore this return on investment calculating
component 52 accepts input of the investment characteristics 38 as
well as information from the account amount selection component 50
as shown by arrow 54. The return on the investment calculating
component 52 performs standard calculations for determining growth
based on interest, turnover, mean variance analysis, and other
features of an investment, including the tax characteristics. The
information returned by the return on investment calculating
component 52 is provided as feedback 56 to the account amount
selection component 50, thereby allowing it to receive feedback on
various optimizations and determine an optimal solution.
[0045] The output 42 from the account amount selection component 50
is in the form of the optimized investment locations which are
returned to the user of the system.
[0046] A computer system for running an embodiment the present
invention is shown in FIG. 5. A user may interact with the system
using a workstation or other display, to input information and run
the system. A computer system including a user interface
application interacts with the user, and stores information
regarding accounts and assets in a database. The optimization
system interacts with the database to retrieve and store
information. The optimization system also may interact directly to
the user, either directly or through the user interface application
or system.
[0047] One embodiment of the asset allocation optimizer 36 uses
Monte Carlo simulation to determine an optimized allocation. The
account amount selection component 50 generates ranges of
percentages of taxable vs. tax-deferred accounts to invest in
particular investments. Then the system randomly selects
percentages within those ranges, whereupon the return on investment
calculating component 52 determines the results based on the
randomly selected percentages. This cycle is repeated many times,
with the system remembering the best result. The selection of
random percentages can be adjusted depending upon the selection
process, for example random selections within the range can be
uniform (pseudo-random), or skewed, such as logarithmic over the
range, or over a normal distribution curve.
[0048] An advantage of the Monte Carlo technique is that it can
also be applied to variable yields for various investments. For
example, an investment stock may have a projected yield, but more
likely it will vary over time. The present invention allows
investment yield (and other parameters) to be entered as a range,
instead of as a specific return. This range can be defined so that
random values selected within the range are even distribution, bell
curve, stepped, skewed, etc. By using Monte Carlo techniques to
factor in volatility of one or more investments and generate
realistic samples of the results, a better optimized allocation is
produced. Further, results can include a "best case" and "worst
case" result, which allows for more prudent allocation
decisions.
[0049] The Monte Carlo technique may be used alone, or in
combination with other optimization techniques, including the GA
(Genetic Algorithm) embodiment described below. For example, the
Monte Carlo technique is useful for selecting randomly distributed
samples used to "seed" the gene pool for GA fitness and
cross-breeding evaluations. In other words, to improve the account
selection starting point of the present invention.
[0050] The illustrative embodiment the present invention uses
Genetic Algorithms (GA) to help select an optimized investment
allocation. GAs are techniques for solving optimization problems
inspired by the theory of evolution and biogenetics. These
algorithms are useful for exploring large search spaces for optimal
or near optimal solutions. The basics of a genetic algorithm
are:
1. Representing possible solutions to problems as a string of
parameters (numbers). This string is called a chromosome and the
parameters within it are called genes. 2. Randomly creating a
number (generation) of these chromosomes. 3. Calculating the
effectiveness of each chromosome as a solution to the problem then
ranking the chromosomes in order of effectiveness (fitness to
survive). 4. Creating a new generation of chromosomes by randomly
selecting pairs of chromosomes (parents) and mixing their genes to
form child chromosomes. This process is called `crossover` and the
selection of the parents is biased to more effective (fit) parents.
Another variation called `mutation` involves randomly changing one
or more genes within a chromosome. Mutation helps GA systems to
avoid false solutions and too-narrow convergence on one area of the
search space. 5. Repeating steps 3 to 4 for a number of cycles
(generations).
[0051] The randomness of the above process allows the effective
exploration of the space of solutions. While the selection of
effective solutions (chromosomes) and the mixing of their genes
allows the accumulation of good features from partially good
solutions. As a result, genetic algorithms can explore large
domains and converge on good solutions relatively quickly. GA's
also give a powerful trade off between the time taken to reach a
solution and the quality of the solution.
[0052] The two basic steps in developing solutions using GA's are
an appropriate representation of the problem and a method of
assessing the effectiveness (cost) of a solution. The easiest
representation of a problem for GA implementation is as a string of
numbers. Each number is represented by a gene that can be
constrained by the minimum and maximum values it can take. A cost
function is defined which derives a value for the cost of the
solution from a given set of gene values. In such a representation,
each gene represents a different numeric parameter of the solution.
Alternatively, a chromosome can be used to represent a sequence of
jobs which requires optimization. In such a case the number of
genes will equal the number of jobs to be sequenced and the value
of each gene will be unique and range from 1 to the number of
tasks.
[0053] The genetic structure used in the illustrative embodiments a
single non-sequence chromosome, named TaxDeferred with a variable
number of genes, ACTD (Asset Class Tax Deferred). Each asset class
is represented as a gene containing the dollar value in tax
deferred accounts on this chromosome. That is, the GA component
generates values for the amount in tax deferred accounts for all
asset classes, and the cost function written for this application
computes both the amount in taxable accounts and the total value
for that allocation to taxable and tax deferred accounts. There is
applied a sum constraint which requires that the total tax deferred
dollars in all genes must add up to the total tax deferred dollars
specified by the user. The fitness is the measure of the value at
the time horizon.
[0054] As previously mentioned, in the illustrative embodiment the
initial chromosome is initialized to a set of values that represent
the current value in tax deferred accounts in order to provide a
reasonable starting point for the optimization. By utilizing
current values, the illustrative embodiment converges to an optimal
solution within one generation (initial chromosome "pool" created
by mutation, and a generation "pool" including crossover).
Experiments using two and seven generations showed some improvement
over using one generation, with a tradeoff in increased time for
computation. Multiple generations may be used for incremental
improvements to an optimal solution, or if the current values are
not already "optimized" in that the accounts were selected by a
naive investor. Therefore the present invention works both for
experienced investors and, advisors as well as naive users and may
be adjusted accordingly for specific investor types.
[0055] The illustrative embodiment of the present invention is
implemented using Microsoft Access 97 and XPERTRULE KBS by Attar
Software. However, any database could be used for this purpose as
could any heuristic problem solving algorithm. The illustrative
embodiment runs on a general purpose computer such as an Intel.RTM.
based processor running a standard operating system such as
Microsoft Windows.RTM. or Linux. However, the present invention can
run on any type of computer system, mainframes to palm computers,
or on calculators such as financial calculators. Further, the
present invention may be available locally or remotely to users
over a network based system such as the internet or modern
connections. For example, users can access a web site (either
generally or with a personal account number), enter information and
run the optimizing system. Users can also store their personal
information in secure accounts at the web site.
[0056] A full description of the specific GA system used to
implement the illustrative embodiment can be found the XPERTRULE
Reference Manual Release 3.63, as provided by Attar Software
Limited, and is fully incorporated herein by reference. Software
applications fall into two categories; analysis and synthesis.
Analysis applications are represented by the traditional
input/output model of data processing whereby input data is
processed procedurally or heuristically to generate the output
data. Synthesis applications involve the reverse process of
deriving the input data required to generate certain desired
outputs. This is a difficult task since there are, in most cases,
no formulae or rules to derive inputs from outputs. This is further
complicated by constraints imposed on the acceptable values of
input data. Optimization is the process of deriving, values of
input data that satisfy constraints and which results in the
desired output data.
[0057] The GA component of the illustrative embodiment first
computes the portfolio value Oven the current location of assets
between taxable and tax deferred accounts, and stores this for
comparison to the final value determined to be best by the cost
function.
[0058] The GA component then initializes the GA to a set of values
that represent the current value in tax deferred accounts in order
to provide a reasonable starting point for the optimization. This
is not necessary to reach an optimal value, but it seems to speed
up the process considerably. In the illustrative embodiment, a
first iteration (or pool) of chromosomes is performed for fifty
iterations. The iterations differ through random changes
(mutations) in the chromosome. A generation is then created, using
random crossovers with another set of 50 iterations. This cycle may
be repeated as desired.
[0059] Now, given a particular set of values of tax deferred
dollars in each asset class, the value function determines the
total value of the portfolio. If this value is better than previous
values, then it is retained as the best solution so far, otherwise,
it is discarded.
[0060] Computations used by the value function in the illustrative
embodiment to reach its conclusions are listed in Appendix A,
including valuation functions to compute the future value of
various investments including stocks and bonds. For the
illustrative embodiment, the GA component writes its conclusion to
a file.
[0061] FIG. 6 illustrates a user interface front end for use with
an illustrative embodiment of the present invention. As shown in
the input window 64, information including an account
identification, and a business or individual indication are entered
along with the first and last name and age of the entity. This
information may be saved in a database to allow future recall and
changes. Other information which may be used in calculations or
simply for data base entry are also entered. Allocation data
including the total assets available and the total assets in a tax
deferred account are input along with the (combined or separate)
federal and state tax rate for the individual. An optimization
method may be entered including after liquidation are also entered.
Finally, the time horizon in years is also entered on this screen
64.
[0062] Clicking on the button marked `Asset Class` brings up the
following form 66 as shown in FIG. 7, on which the Clients' various
assets are entered along with the current Taxable/Tax Deferred
allocation. There are possibly many user-defined asset classes
which generally fall into one of two types: Stock or Bond. For each
asset class, the user may enter or select the following data:
percent taxed by federal and state governments; ordinary income
(dividend) percent; yield percent for bonds; long term capital
growth distribution; anticipated unrealized appreciation; percent
and amount to be allocated to each asset class; percent and amount
currently allocated to taxable and tax deferred accounts; average
turnover time; and capital gains tax rate.
[0063] Also entered at this stage is a preliminary allocation
between the various investments which is shown by label 68. Here,
there is a percent allocation between the various investments which
will equal approximately 100%. The illustrative embodiment will
also calculate the investment amount based on the total assets
available based on the percentage as shown by label 70.
Alternatively, the amount entered may be entered in monetary units
wherein the percentage will be calculated automatically. Finally a
current allocation between taxable and tax deferred accounts is
entered 72. This provides a starting point for the optimization
process and further will provide an ability to view how much the
optimization has provided for.
[0064] When the user clicks the "Optimize" button on the user input
or edit screen 64 FIG. 6, the appropriate data is sent to the
optimizing system. In the illustrative embodiment, data is written
to an ASCII text file by the database, and are subsequently read by
the optimizing system. In subsequent versions, OLE 2 or other
protocols may be used for data communication. Prior to
optimization, some calculations are done to prepare the data for
optimization. This code, written using XPERTRULE KBS, is shown in
Appendix A.
[0065] FIG. 8 shows the result screen 74 which presents the output
from the optimization process. As shown by label 76 for the present
example, the investment allocation optimization system was able to
provide an 11% improvement over the current strategy with a time
horizon extending out to March of 2039. As output by the system,
the data as shown by label 78 is a new allocation between the
taxable account and tax deferred account which provides more value
at the time horizon. In performing these calculations, the
optimization system maintains the limits as provided by the account
data, for example if an entity wants to invest 25% in a particular
investment, then there is not enough assets available in a tax
deferred account to fully fund 25% then assets will be distributed
from the taxable account to make up the difference. An improvement
upon this strategy, is to provide suggestions to the entity to
provide more funds available in their tax deferred account should
that person's tax situation allow for such a move.
[0066] The illustrative embodiment of the present invention was
tested with data to check the hypothesis of Evensky, as discussed
in the previously cited Wall Street Journal article. Evensky
recommended keeping stocks in taxable accounts and bonds in
tax-deferred accounts. A scenario was run using data of $200,000
total assets, with $100,000 in tax-deferred accounts. The federal
tax rate was 42% and state tax rate 6%, with a horizon of forty
years. Two investments were entered, a bond investment returning
6%, and a stock investment returning 13%. The scenario was started
with all the tax-deferred assets (50%) in the bond investment, and
all the taxable assets (50%) in the stock investment, thereby
following Evensky's advice. The results from running the system was
very different. The illustrative embodiment instead computed that
putting all the taxable assets in the bond investment, and all the
tax-deferred assets in the stock investment would results in a
growth in value to $7,281,432, which was a 94% improvement over the
initial allocation. Therefore, for the example tested here,
Evensky's hypothesis is clearly not the best investment
strategy.
[0067] The present invention includes additions and enhancements
which provide more utility for investors and analysts. These
additions include different optimization techniques and algorithms,
including rule-based expert systems, neural net processing to
recognize patterns and learn optimization techniques, fuzzy logic,
linear programming, exhaustive search, and various combinations
thereof.
[0068] Further, different types of accounts may easily be added to
the present invention, including Roth IRA, annuities, various
trusts, 401k, custodial accounts, 529 investment plans, corporate
accounts, etc. Specific investment or class of investments
characteristics may be added, for example the system can optimize
the type of bond:--i.e., if bonds are best suited for retirement
account, then use 6% yielding corporate bonds, if best suited for
taxable account and tax bracket .gtoreq.28%, use 4% municipal
bonds.
[0069] Details for other types of accounts include:
ROTH IRA--investments accumulate within a ROTH (popular retirement
account) tax-free and assuming certain rules are met (i.e. no
withdrawals allowed prior to age 59.5 without penalty)
distributions come out tax-free. Furthermore unlike most other
retirement accounts, there is no required distribution beginning
date of age 70.5. As a result the system can determine whether
makes sense to put an investor's highest total returning investment
in a ROTH to enjoy maximum long-term accumulation.
ANNUITIES--investments within an annuity accumulate on a
tax-deferred basis like most retirement accounts. The major
differences are the required distributions begin later (age 85 or
90 versus 70.5) and only the earnings are taxed as ordinary income
as opposed to the entire distribution being taxable with normal
retirement accounts. An annuitant recovers tax-free the portion of
his payouts that represent his original purchase price on the
annuity. System inputs for this type of account include the cost of
the annuity and the anticipated beginning payout date. For example
an investor may have purchased an annuity for $10,000 (input) and
its value is currently $14,000 (input) with an anticipated
beginning payout date in 7 years (input). Depending upon which
investment is optimally located in the annuity it will have
accumulated to a certain amount by the time of the first
distribution. If thr example the value of the annuity at that time
were $50,000 then roughly 80% ($40,000 earnings as a % of value)
would be taxable.
[0070] Note that there is a limit as to which investments are
available within any particular annuity. Individual stocks can not
be purchased by law in an annuity. Each annuity product has mutual
fund-like sub accounts. Some have a large number to pick from and
others a very limited number. Accordingly as another input for all
investments is a block put on any investment not available within
any annuity the investor has. The system would not consider that
investment as being available for that annuity in the optimization
process.
NON-DEDUCTIBLE IRAs & OTHER POST-TAX RETIREMENT ACCOUNTS--are
taxed in roughly the same way as annuities except they are required
to begin distributions at age 70.5 (versus 85 for annuities). An
additional input would then be the investor's non deductible
contribution in this type of account. Distributions at 70.5 (per
preprogrammed IRS tables) have a tax-free return of principal
component to them. TRUSTS--an investor may consider investments
within a trust part of the overall family portfolio. Trusts may be
taxed differently than other taxable accounts in an overall
portfolio. For example, the top marginal federal tax rate of 39.6%
is reached at roughly $280,000 for individuals with the first
$30,000 only being taxed at 15%. For most trusts, 39.6% is reached
at roughly $10,000 (capital gains taxes may be the same rate for
either (currently 20%)). Accordingly a trust might be in a much
higher tax bracket than an individual for ordinary income items and
a high ordinary income investment like a corporate bond may be
better located in an individual's account rather than a trust.
Accordingly, an additional input for each trust is how it is
taxed.
[0071] Note that appreciation of securities in trusts may never be
taxed under certain circumstance. For example a charity may get the
assets at some future date. An additional input would shut down the
related capital gains tax on investments within that trust.
CHILDREN'S ACCOUNTS--an investor may consider investments taxable
to a child as part of the overall family portfolio. Accordingly,
the tax rates applicable to other family members accounts is an
additional input. A child may be subject to a different tax rate
for both ordinary taxes as well as capital gains taxes. EDUCATIONAL
ACCOUNTS--may be taxed differently depending upon which IRS allowed
plan an investor uses. Some plans are tax deferred until
distributions are made and then taxed entirely at the recipients
ordinary tax rates. CORPORATE ACCOUNTS--investments are sometimes
located inside controlled corporations and are then subject to
corporate tax rates.
[0072] Other features are easily integrated, for example a foreign
tax credit feature may be added, wherein the foreign tax credit can
only be taken in taxable accounts as an additional input.
[0073] Foreign countries often assess taxes on investment income of
US citizens. To mitigate the inequity of double taxation the
federal government allows a credit on an individual's tax return
for foreign taxes paid in a taxable account. There is no such
credit given in retirement accounts. Accordingly, an input to help
determine the optimal location of investments is the dollar amount
of the expected credit for all foreign investments. Alternatively
the input is expressed as a % of the value of the investment. The
system then factors in the tax savings of the credit if held in a
taxable account. This would obviously impact the long-term
accumulations that the system is optimizing. Whether it is
worthwhile to forego the credit and hold the investment in a
retirement account would be a function of the many other variables
input.
[0074] Another embodiment of the present invention is for initial
optimization for the type of bond. One embodiment of the present
invention takes given investments and searches for the best account
locations to maximize long-term accumulations. However, the
investments might change. An investor may have a corporate bond
that pays 6% per year in interest. If it were held in a taxable
account the interest would be taxed at the investor's marginal rate
of tax. In a retirement account it would be taxed along with all
other components (contributions, capital gains etc.) of the account
with the marginal rate of tax applied to the amount withdrawn,
possibly in many years at the investor's then marginal rate of tax.
A tax-free municipal bond may be the effective equivalent to a
top-rated corporate bond in terms of risk etc. with the only
substantive difference being interest yield. Because of the
tax-free nature of municipal bonds, municipalities are always able
to pay less in interest than their taxable bond counterparts.
Accordingly, if a bond is to be held in a taxable account,
investors will calculate whether a tax-free municipal bond would
yield more than a taxable corporate bond would after the taxes are
paid. Typically investors in the highest tax brackets will use
municipal bonds for their taxable accounts (no one ever holds
municipals in their retirement accounts, as they are not tax-free
there). Therefore, even though x amount in bonds may be a given for
an investor, the type of bond chosen (taxable or tax-free) would
normally be a function of its location (taxable account or
retirement account) and the investors tax bracket.
[0075] If for example, an investor has committed to investing
$10,000 in bonds and if held in a retirement account then a
corporate bond will be purchased which will yield 6%, if the bonds
are held in a taxable account then based on the investors tax
bracket of 36% they will purchase a municipal bond paying 4% as 4%
is greater than 3.84% which is the after-tax yield on a corporate
bond for this investor (6% x (1-36%): If the investor's tax bracket
was 15% then the corporate bond would be purchased regardless of
where it is held as 5.1% (6% x (1-15%)) is greater than 4%.
[0076] An additional input for each bond is the taxable equivalent
yield for each municipal bond (or bond fund) and the tax-free
equivalent yield for each taxable bond. Alternatively the user
simply inputs the general "spread" between taxable and tax-free
bonds which the system applies to all bonds that are input. The
system then optimizes the type of bond, calculating, based on a tax
bracket input whether lower yielding tax-free municipal bonds would
be better for a particular investor. In searching for the optimal
location for the $10,000 in the bond example above, the system
would use 6% when trying retirement accounts and 4% tax-free for
taxable accounts. These will obviously impact long-term
accumulation amounts and would also impact the optimal location of
bonds.
[0077] The output from the system would then be different for
bonds. Other investments will simply advise to keep the investment
where it is or to sell all or part of it in its current location
and purchase that amount in another account. A potential output
with bonds for example might be to sell a corporate bond in a
retirement account and then to buy a different but substantially
equivalent investment--a municipal bond in a taxable account (or
vice versa).
[0078] The system would typically shut down federal income taxes on
municipal bonds. State taxability will be an additional input.
Generally, municipals are taxable in the state of residence unless
they are issued by that state and Federal bonds may be tax-free at
the state level. A "check the box" input for federal and state
taxability would be used.
[0079] Another embodiment of the present invention uses multiple
time horizons. For example, most people do not take their
retirement accounts all out at once but rather spread out their
withdrawals over a number of years. For example, they may wait
until the IRS requires distributions at age 70.5 and then withdraw
based on IRS tables (i.e. 1/8th of account balance each year for
the rest of their life). Alternatively, a ROTH IRA has no required
beginning date and as a result, may be the last investment an
investor may draw down. In either case this keeps the tax deferred
compounding going for potentially many more years and as a result
could impact which investments are best suited for the retirement
accounts. Further, taxable accounts may also have different time
horizons--for example an investor may be setting money aside for a
child's education in 5 years. In a taxable account any appreciation
on a stock is taxed when sold. Placing investments optimally is to
a large extent dependent on the timing of taxation. Accordingly, if
money from a college education account will be needed in 5 years it
is wiser to put a buy and hold stock in another account that will
not be needed for 30 years. This would significantly delay the
capital gains tax on its sale. The time value of money of paying
taxes 25 years later would obviously enhance overall family net
worth.
[0080] New inputs provide the anticipated date (or dates with
amounts or percentages of value) that each investment would be
withdrawn. The endpoint that defines optimization for example might
be the maximum value at death, which are preprogrammed by life
expectancy tables, as adjusted by the user. For families that may
have an estate tax, then the accumulation at death could be net of
estate tax. Alternatively, for those who might run out of funds
prior to death, optimization are defined as the maximum number of
years that overall investments would last. Note that the time
horizons may be quite lengthy. Investments may be passed to the
next generation that may be named as beneficiary on a retirement
account for example. Alternatively the investments may be in a
trust for the benefit of a grandchild. Accordingly, there may be a
wide disparity in the time horizon of a family's investment
accounts that could have a material impact on the location of that
family's investments.
[0081] Another embodiment of the present invention provides for
crossover points. A user of the system might ask the question "how
high a rate of return is necessary to justify moving a given
investment: from one account to another?". Often the highest total
returning investment should be located in a retirement account but
to move it from its taxable account might involve paying current
capital gains taxes as the investment in question has gone up in
value. The system can try different rates of return until it
reached a different conclusion as to where an investment should be
located. The output will state "At a rate of return above 11% stock
XYZ should be sold and repurchased in the retirement account, at a
rate of 11% or below it should remain where it is". The user can
then make the decision whether or not to move XYZ based upon their
judgement as to the likelihood of XYZ earning 11%. This may be much
easier for the user than predicting a precise rate of return on
investments.
[0082] Similarly, there are other subjective inputs such as time
horizon, as previously discussed. It may be difficult for the user
to know how long the investments may be held prior to withdrawal.
For example, there can be a tradeoff in some investments between
paying tax along the way at favorable rates in a taxable account or
letting them grow in a retirement account without tax interference
for many years and then be taxed at unfavorable rates (there are no
capital gains rates available in retirement accounts). Stocks may
be a good example as the bulk of their return is from capital
gains, which are taxed at a preferable rate of 20% when they are
sold. Some investors may sell frequently and may be better off
letting this higher potential earning investment grow in a tax
deferred environment where compounding may be significant. The more
frequent the sale and the further it is until retirement the more
attractive holding the stock in the retirement account may be. In
this case the system will try different holding periods and
different sale frequencies. The output will state "If the holding
period is greater than 7 years move the investment to the
retirement account, 7 years or less leave it in the taxable
account" or "if the stocks are to be sold any more than every 3
years, they should be held in a retirement account".
[0083] There are other subjective inputs that the system can
calculate crossover points for example--"How high could tax rates
go up before taking advantage of low current capital gains rates by
keeping stock investments in taxable accounts would be the better
choice?"
[0084] Crossover points for more than one variable at a time is
possible, but more involved. The system goes through its normal
optimization process with Finite inputs. Then for the non-factual
inputs, the system changes them until the conclusion changed (there
might also be a graphical representation of the crossover points).
This is then reported to the user who might then decide to change
the input on that assumption. The system then goes on to the next
subjective input. This iterative process continues until the user
was satisfied that the optimal solution was achieved. For
example--input 11% (best guess) for stock XYZ, system says leave it
where it is in the taxable account, system then indicates through
its crossover function that if return was greater than 11.8% it
should be sold and repurchased in the retirement account. The user
may be confident that the stock will earn at least 11.8% and will
change the input for this investment accordingly. This moves the
investment into the retirement account. Next the system address
holding period for example, etc.
[0085] Other optimization thresholds and variations are available,
include an age 701/2 (minimum required distributions),
post-retirement investment location optimization. Another
optimization is crossover points for all the variables that trigger
when one account is better than another. Another optimization is
differing time horizons for various accounts. Also, different
beneficiary designations on retirement accounts can be factored in,
i.e., Roth IRAs distributions could be delayed beyond the owner's
death.
[0086] Other features of the present invention include input and
output of information in standardized formats, for example the
Morningstar's or Standard and Poors etc. databases, allowing
tie-ins for fund/individual security data such as past returns,
turnover, dividend yield, etc. Support for databases and/or
spreadsheets of optimized portfolio as well as current portfolio is
helpful. Other support includes cash flow analysis, with
integration of projected cash flow needs to determine time horizons
for various investment accounts, and to integrate with existing
software programs that calculate retirement projections or optimal
investment mixes etc. Other features include a separate application
which integrates into other standard systems, to extract the
necessary information and produce results with minimal data
entry.
[0087] Other features include estate sensitivity, with no taxation
on appreciation if assets passed via an estate; gifting, with
implications within family at different tax brackets, or to charity
to escape taxation on appreciation; tax basis, with current tax
basis and related tax bite to be factored in when determining
optimal account location; and tax-loss deductibility, to be
factored in if securities decline in value; different tax rates for
different time periods; alternative minimum tax if applicable.
Obviously, as tax laws change, new optimization features will
become useful with the present invention. The software could also
accommodate entirely different tax systems from other countries,
along with exchange rates as necessary.
[0088] Other features include a "solve it" function, for example to
determine what minimum rate of return is needed before stock should
be in retirement account or any other variable in the program;
simultaneous optimization of asset allocation with investment
location; factoring in of ongoing cash inflows and outflows, a
rebalancing feature, which ties in anticipated rebalancing needs
with current optimizations; and a tax efficiency calculator, to
determine for example how much greater of an investment return does
Fund A need to offset its tax inefficiency when compared to Fund
B.
[0089] The present invention also solves additional problem areas
as follows:
Optimal Mortgage--Difficult decisions between fixed versus
variable, points versus no points, 15-year versus 30-year, are all
dependent on a number of personalized assumptions--there are cross
over points. Optimal Account to Pay Investment Fees From--Investors
Who pay advisory fees often have many accounts which could be used
to pay them. If paid from taxable accounts the fees may be
deductible or perhaps partially deductible. If paid from retirement
accounts the fees will reduce the eventual taxable distributions
from those accounts at the price of reduced long-term tax-deferred
compounding. There are cross over points. Optimal Beneficiary
Designations--Naming beneficiaries who are younger than your spouse
can significantly increase long-term tax-deferred compounding.
However, your spouse may not have enough to live on should you
predecease them. Annuity Optimizer--Optimization is a function of
higher cost of the annuity and loss of capital gains benefits
versus tax-deferred compounding through later required pay out
dates and the ability to annuitize. Optimal Time to Rebalance a
Portfolio--The trade off between transaction costs and taxation
versus increased volatility/risk and adherence to an investment
policy can be optimized. Estate Planning--This is perhaps the most
complex financial issue facing individuals because there are such a
wide range of possible objectives and a wide range of means to
achieve these objectives. This problem shares the basic
characteristics of the investment location problem: it is bounded
by the tax laws and is therefore optimizable. Optimizing The Use of
Stocks Versus Stockfunds--Factors include relative expenses,
diversification issues, tax planning (i.e., harvesting losses),
step-up in basis issues, charitable gifting, etc. Retirement
Optimizer--Answering the reverse of the investment location
question, this solution will analyze an investor's portfolio and
determine a schedule of optimal distributions from tax-deferred and
taxable investment accounts, factoring in liquidity needs, age
701/2 minimum required distribution rules, tax basis, etc. Roth IRA
Optimizer--Whether or not to convert an existing IRA to a Roth is
subject to a number of factors, some of which are qualitative.
Education Funding Optimizer--Optimizes a parent's funding
alternatives between U-Plans, UTMA accounts, Educational IRAs,
Educational Trusts, etc., factoring many issues including taxation,
investment performance, financial aid, as well as qualitative
factors such as control over investments. Stock Option
Optimizer--Employees often own various types of stock options with
a variety of restrictions impacted by tax laws and often subject to
significant fluctuation in value. The optimizer would present a
schedule of which options to buy/exercise/sell and when. Risk
tolerance and stock volatility would be factored in. Life Insurance
Optimizer--Whether to purchase term or cash value and if cash
value, which type is a complicated issue which is optimizable.
[0090] Although the invention has been shown and described with
respect to illustrative embodiments thereof, various other changes,
omissions and additions in the form and detail thereof may be made
therein without departing from the spirit and scope of the
invention.
TABLE-US-00001 Appendix A: Precalculation data processing: @FOpen
`c:\tanager\multis.txt`.1,FileNum @For i = 1 To ACs @FRead
FileNum,EOF,AssetClass[i, 1].AssetDesc[i, 1].AssetCategory[i,
1].TotalAssetsPct[i, 1],ACAssetsTot[i, 1],Appreciation[i,
1],Dividend[i, 1], CapGainstax[i, 1],Yield[i, 1],CGDist[i,
1],TaxBracket[i, 1],Clt_Id,Turnover[i, 1],CurrTax[i,
1],CurrTaxDef[i, 1] @If Turnover[i, 1] = 0.0 @Assign Turnover[i, 1]
= Horizon @EndIf @Assign YieldPlus1[i, 1] = 1.0 + Yield[i, 1] @rem
debug YieldPlus1[i, 1] + ` = ` + `1.0` + ` + ` + Yield[i, 1]
@Assign YieldPlus1[i, 1] = YieldPlus1[i, 1] {circumflex over (
)}Horizon @rem debug YieldPlus1[i, 1] + ` = ` + YieldPlus1[i, 1] +
` {circumflex over ( )}` + Horizon @Assign HorizonMinus1 = Horizon
- 1 @Assign DividendPlus1[i, 1] = Dividend[i, 1] + 1.0 @Assign
AppreciationPlus1[i, 1] = Appreciation[i, 1] + 1.0 @Assign
ValueAfterTaxMult[i, 1] = (Appreciation[i, 1] + (Dividend[i, 1] -
(Dividend[i, 1]*TaxBracket[i, 1])) + (CGDist[i, 1] - (CGDist[i, 1]
* CapGainstax[i, 1]))) @rem debug ValueAfterTaxMult[i, 1] @Assign
ValueAfterTaxMultPlus1[i, 1] = 1.0 + ValueAfterTaxMult[i, 1]
@Assign ValueAfterTaxMultPlus1[i, 1] = ValueAfterTaxMultPlus1[i, 1]
{circumflex over ( )}Horizon @rem debug ValueAfterTaxMultPlus1[i,
1] @Assign StockRate[i, 1] = Appreciation[i, 1] + Dividend[i, 1] +
CGDist[i, 1] @Assign StockRatePlus1[i, 1] = StockRate[i, 1] + 1.0
@Assign StockRatePlus1[i, 1] = StockRatePlus1[i, 1] {circumflex
over ( )}Horizon @Assign StockApprRateOnGoing[i, 1] =
Appreciation[i, 1] - (Appreciation[i, 1] * CapGainstax[i, 1])
@Assign StockApprRateOnGoingPlus1[i, 1] = StockApprRateOnGoing[i,
1] + 1.0 @Assign StockDivRateOnGoing[i, 1] = Dividend[i, 1] -
(Dividend[i, 1] {circumflex over ( )}TaxBracket[i, 1]) @Assign
StockDivRateOnGoingPlus1[i, 1] = StockDivRateOnGoing[i, 1] + 1.0
@Assign StockGrowthRateOnGoing[i, 1] = Appreciation[i, 1] +
StockDivRateOnGoing[i, 1] @Assign StockGrowthRateOnGoingPlus1[i, 1]
= StockGrowthRateOnGoing[i, 1] + 1.0 @Assign BondRateOnGoing[i, 1]
+ Yield[i, 1] - (Yield[i, 1] * TaxBracket[i, 1]) @debug
BondRateOnGoing[i, 1] + ` = ` + Yield[i, 1] + ` - (` + Yield[i, 1]
+ ` * ` + TaxBracket[i, 1] + `)` @Assign BondRateOnGoingPlus1[i, 1]
= BondRateOnGoing[i, 1] + 1.0 @debug BondRateOnGoingPlus1[i, 1] + `
= ` + BondRateOnGoing[i, 1] + `+` + `1.0` @Assign
BondRateOnGoingPlus1[i, 1] = BondRateOnGoingPlus1[i, 1] {circumflex
over ( )}Horizon @debug BondRateOnGoingPlus1[i, 1] + ` = ` +
BondRateOnGoingPlus1[i, 1] + `{circumflex over ( )}` + Horizon @rem
debug AssetClass[i, 1] + ` ` + AssetDesc[i, 1] + ` ` +
TotalAssetsPol[i, 1] + ` ` + ACAssetsTol[i, 1] + ` ` +
Appreciation[i, 1] + ` ` + Dividend[i, 1] + ` ` + CapGainstax[i, 1]
+ ` ` + Yield[i, 1] + ` ` + AssetCategory[i, 1] + ` ` + CGDist[i,
1] + ` ` + TaxBracket[i, 1] + ` ` + Clt_Id + ` ` + Turnover[i, 1] +
` ` + CurrTax[i, 1] + ` ` + CurrTaxDef[i, 1] @Next | Initialization
@rem debug `Starting Initialisation...` @DelFile
`C:\tanager\results.txt`, 1 @Assign LethalValue = 0.0 @Assign
ACsMinus1 = ACs - 1 @Assign Tmax = TotalAssets - TDmax @Assign
ValueBest = 0.0 @Do AllocateClasses_prc @Do CurrentValue_prc @Do
WriteInitial_prc AllocateClasses_prc @rem {circumflex over (
)}**{circumflex over ( )}PERCENT OF ASSETS IN EACH ASSET CLASS @For
i = 1 To ACs @Assign ACAssets[i, 1] = TotalAssets *
TotalAssetsPct[i, 1] @rem debug ACAssets[i, 1] + ` = ` + Total
Assets + ` * ` + TotalAssetsPct[i, 1] @Next | CurrentValue_prc @rem
debug `**** DETERMINE VALUE OF CLIENT CURRENT ALLOCATION` @For i =
1 to ACs @Assign ACT[i, 1] = CurrTax[i, 1] @Assign ACTD[i, 1] =
CurrTaxDef[i, 1] @rem debug ACT[i, 1] + ` ` + ACTD[i, 1] @Next |
@rem debug `Doing ValueForCurrent_prc` @Do ValueForCurrent_prc @For
i = 1 to ACs @Assign ACTCurrBest[i, 1] = ACTBest[i, 1] @Assign
ACTDCurrBest[i, 1] = ACTDBest[i, 1] @Assign ACValueCurrBest[i, 1] =
ACValueBest[i, 1] @rem debug ACTCurrBest[i, 1] + ` ` +
ACTDCurrBest[i, 1] + ` ` + ACValueCurrBest[i, 1] @Next | @Assign
ValueCurrBest = ValueBest @rem debug ValueCurrBest @rem debug
`{circumflex over ( )}**{circumflex over ( )}REINITIALIZE` @Assign
ValueBest = 0.0 @For i = 1 to ACs @If AssetDesc[i, 1] = `Municipal`
@Assign ACT[i, 1] = ACTD[i, 1] + ACT[i, 1] @Assign ACTD[i, 1] = 0.0
@EndIf @Clear Value @rem InitArray ACT @rem InitArray ACTD
@InitArray ACTBest @InitArray ACTDBest @InitArray ACValueBest
WriteInitial_prc @rem {circumflex over ( )}**{circumflex over (
)}WRITE INITIAL GENERATION FILE @FOpen `c:\tanager\initgen.txt`, 2,
FileNum @rem for k = 1 To 60 @Assign ACinit[1, 1] = CurrTaxDef[i,
1] @Str ACinit[1, 1] , StgNum @Assign initGen = StgNum @For i = 2
To ACs @Assign ACinit[i, 1] = CurrTaxDef[i, 1] @Str ACinit[i, 1] ,
StgNum @Assign InitGen = InitGen + `,` + StgNum @Next | @Fwrite
File Num, InitGen @rem Next k @Fclose FileNum Value Function
@Assign Value = 0.1 @rem **** The GA generates values for ACTD, and
we calculate ACT. @For j = 1 To ACs @Assign ACT[i, 1] = ACAssets[i,
1] - ACTD[i, 1] @rem debug ACT[i, 1] + ` = ` + ACAssets[i, 1] + ` *
` ACTD[i, 1] @Next | @Do Lethal_prc @Assign Terminate = `No` @IF
Value <> LethalValue @rem **** Loop through all Asset Classes
@For i = 1 To ACs @rem **** Check for Stock or Bond @If
AssetCategory[i, 1] = `Stock` @Do ValueStock_prc @Else @Do
ValueBond_prc @EndIf @Assign Value = Value + ACValue[i, 1] @rem
debug `j = ` + | + #10 + `ACTD[i, 1] = ` + ACTD[i, 1] + #10 +
`ACT[i, 1] = ` + ACT[i, 1] + #10 + `Value = ` + Value + ` ValueBest
= ` + ValueBest @Next | @rem debug `i = ` + i + #10 + `ACTD[i, 1] =
` + ACTD[i, 1] + #10 + `ACT[i, 1] = ` + ACT[i, 1] + #10 + `Value =
` + Value + ` ValueBest = ` + ValueBest @IF (Value <>
LethalValue) AND (Value > ValueBest) @Assign ValueBest = Value
@For i = I To ACs @Assign ACTBest[i, 1] = ACT[i, 1] @Assign
ACTDBest[i, 1] = ACTD[i, 1] @Assign ACValueBest[i, 1] = ACValue[i,
1] @Next | @Endif @ENDIF Lethal_prc Procedure @Assign Terminate =
`No` @Assign TDTotal = 0.0 @For i = 1 to ACs @If (ACTD[i, 1] <
0) or (ACTD[i, 1] > ACAssets[i, 1]) @Assign Terminate = `Yes`
@Else @Assign TDTotal = TDTotal + ACTD[i, 1] @EndIf @Next | @rem if
(TaxBracket[i, 1] = 0) and (ACTD[i, 1] <> ACAssets[i, 1])
@rem Assign Value = LethalValue @rem EndIf @If (TDTotal > TDmax)
OR (Terminate = `Yes`) @Assign Value = LethalValue @EndIf
ValueStock_prc Procedure @rem **** COMPUTE SIMPLE FUTURE VALUE
@Assign ACTDBase[i, 1] = ACTD[i, 1] * StockRatePlus1[i, 1] @If
Turnover[i, 1] = Horizon @rem `{circumflex over ( )}**{circumflex
over ( )}TAXABLE STOCKS` @If OptMethod = `Liq` @rem *{circumflex
over ( )}COMPUTE BASE VALUE AT HORIZON @Assign BaseValue[i, 1] =
1+Appreciation[i, 1]+Dividend[i, 1]+CGDist[i, 1] @Assign
BaseValue[i, 1] = ACT[i, 1] * BaseValue[i, 1]{circumflex over (
)}Horizon @rem *{circumflex over ( )}COMPUTE TAXABLE CAPITAL GAIN
@Assign AppreciationValue[i, 1] = (1+Appreciation[i, 1]+CGDist[i,
1]) @Assign AppreciationValue[i, 1] = ACT[i, 1] *
AppreciationValue[i, 1]{circumflex over ( )}Horizon @rem
*{circumflex over ( )}COMPUTE CAP GAINS TAX @Assign
CapGainOnTaxableStocks[i, 1] = AppreciationValue[i, 1] *
CapGainstax[i, 1] @rem {circumflex over ( )}* COMPUTE DIVIDENDS
@Assign DividendVal[i, 1] = Dividend * TaxBracket @Assign
DividendVal[i, 1] = 1 + Dividend - DividendVal[i, 1] @Assign
DividendVal[i, 1] = ACT[i, 1] * DividendVal[i, 1]{circumflex over (
)}Horizon @rem **** COMPUTE ACTUAL VALUE OF TAXABLE STOCKS @Assign
ACTValue[i, 1] = AppreciationValue[i, 1] -
CapGainOnTaxableStocks[i, 1] + DividendVal[i, 1] @rem debug `
ACT[i, 1]: ` + ACT[i, 1] + #10 + ` BaseValue[i, 1]: ` +
BaseValue[i, 1] + #10 + ` AppreciationValue[i, 1]; ` +
AppreciationValue[i, 1] + #10 + ` CapGainstax[i, 1]: ` +
CapGainstax[i, 1] + #10 + ` CapGainOnTaxableStocks[i, 1]]: ` +
CapGainOnTaxableStocks[i, 1] + #10 + ` DividendVal[i, 1]: ` +
DividendVal[i, 1] + #10 ` ACTValue[i, 1]: ` + ACTValue[i, 1] @Else
@Assign ACTValue[i, 1] = ACT[i, 1] * ValueAfterTaxMultPlus1[i, 1]
@EndIf @Else @DO TurnOver_prc @EndIf @rem **** TAX DEFERRED STOCKS
@If OptMethod = `Liq` @Assign TaxOnTaxDefStocks[i, 1] = ACTDBase[i,
1] * TaxBracket[i, 1] @Assign ACTDValue[i, 1] = ACTDBase[i, 1] -
TaxOnTaxDefStocks[i, 1] @Else @Assign ACTDValue[i, 1] = ACTDBase[i,
1] @Endif @rem **** FINAL VALUE @Assign ACValue[i, 1] = ACTValue[i,
1] + ACTDValue[i, 1] ValueBond_prc Procedure @rem COMPUTE SIMPLE
FUTURE VALUE @Assign ACTDBase[i, 1] = ACTD[i, 1] * YieldPlus1[i, 1]
@rem **** TAXABLE BONDS @If OptMethod = `Liq` @Assign ACTValue[i,
1] = ACT[i, 1] {circumflex over ( )}BondRateOnGoingPlus1[i, 1] @rem
debug i + `: ` + ACTValue[i, 1] + ` = ` + ACT[i, 1] + ` * ` +
BondRateOnGoingPlus1[i, 1] @rem Assign ACTTax[i, 1] = (ACTValue[i,
1] - ACT[i, 1]) * TaxBracket[i, 1] @rem Assign ACTValue[i, 1] =
ACTValue[i, 1] - ACTTax[i, 1] @Else @Assign ACTValue[i, 1] = ACT[i,
1] * BondRateOnGoingPlus1[i, 1] @EndIf @rem **** TAX DEFERRED BONDS
@If OptMethod = `Liq` @Assign ACTDTax[i, 1] = ACTDBase[i, 1] *
TaxBracket[i, 1] @Assign ACTDValue[i, 1] = ACTDBase[i, 1] -
ACTDTax[i, 1]
@rem debug ACTDTax[i, 1] + ` = ` + ACTDBase[i, 1] + ` * ` +
TaxBracket[i, 1] @rem debug ACTDValue[i, 1] + ` = ` + ACTDBase[i,
1] + ` - ` + ACTDTax[i, 1] @Else @Assign ACTDValue[i, 1] =
ACTDBase[i, 1] @EndIf @rem **** FINAL VALUE @Assign ACValue[i, 1] =
ACTValue[i, 1] + ACTDValue[i, 1] @rem debug ACValue[i, 1] + ` = ` +
ACTValue[i, 1] + ` + ` + ACTDValue[i, 1]
* * * * *