383 lines
22 KiB
Prolog
383 lines
22 KiB
Prolog
|
|
12-20-89
|
|
|
|
Financial Predictions with Neural Networks
|
|
|
|
by Jeannette Lawrence
|
|
|
|
Experts use charts, their pet indicators, and even intuition to navigate
|
|
through the massive amounts of financial information available. Some
|
|
study a few companies that appear to be good long-term investments.
|
|
Some try to predict the future economy or stock market in general, but
|
|
with the great number of influences involved, this seems at best an
|
|
Olympian task. Who can absorb years of data for 30 indicators, 500
|
|
stocks, the political climate, and other influences, as well as keep
|
|
track of current values? There is even new scientific evidence that
|
|
massive systems such as the U.S. economy or the weather are not
|
|
predictable very far into the future (due to the effects of chaos).
|
|
|
|
To assist people in making forecasts for particular markets, there are
|
|
more than 250 computer programs available. Traditionally, these
|
|
programs have used mathematical methods to make predictions. While
|
|
useful, they are limited by the predefined variables and equations and
|
|
they cannot take subjective information into consideration (such as the
|
|
quality of foreign relations). Unfortunately, financial trends are
|
|
often affected by situations that are not easily reduced to equations.
|
|
|
|
One way to circumvent the limits of mathematical methods is to use
|
|
rule-based expert systems. These artificial intelligence systems are
|
|
expensive, require complex programming, use surveys of financial experts
|
|
to define the "game rules", and are still limited in their ability to
|
|
think like people. Even when a problem is solved, engineering a design
|
|
change can be a monumental task.
|
|
|
|
Let Your Neural Network Do the Thinking
|
|
|
|
Now neural networks are being used on personal computers to make
|
|
financial predictions. You can purchase a neural network program that
|
|
is easy to use and runs on a PC for less than $200.
|
|
|
|
They can be given subjective information as well as statistics and are
|
|
not limited to any particular financial theory. They learn from
|
|
experience instead of following equations or rules. They can be asked
|
|
to consider hundreds of different influences, more than most people can
|
|
digest. They won't be overwhelmed by decades of statistics. You can
|
|
use a neural network in place of, or in addition to, traditional
|
|
methods.
|
|
|
|
Using a neural network for advice means you don't have to decipher
|
|
complex waveforms to find a trend. The network will determine which
|
|
influences correlate to each other, if there are patterns, filtering out
|
|
the noise, and picking up overall trends. You can ask the network what
|
|
the price of a certain mutual fund is likely to be in the near future,
|
|
if a certain stock is currently a "good buy", or a number of other
|
|
things. It's up to you. You decide what you want the network to learn
|
|
and what kind of information it needs to be given in order to arrive at
|
|
a conclusion.
|
|
|
|
Neural network programs are a new kind of computing tool which simulate
|
|
the structure and operation of the human brain. They mimic many of the
|
|
brain's most powerful abilities, including pattern recognition,
|
|
association, and the ability to generalize by observing examples.
|
|
Neural networks create their own model of the problem through a training
|
|
process, so no programming is required. A trained network provides
|
|
answers with lightning speed, in less than a second. You can retrain a
|
|
network to use new, updated information in minutes.
|
|
|
|
In this article you'll get a glimpse of how neural networks work and a
|
|
look at some sample neural networks which predict the future corporate
|
|
bond ratings of companies and which predict the future price of selected
|
|
mutual funds. Other common uses for neural networks include medical
|
|
diagnostic systems, insurance claim evaluations, sports event
|
|
predictions, loan risk evaluations, pattern recognition, and business
|
|
analysis and decision making.
|
|
|
|
How Neural Networks Learn to Think
|
|
|
|
One of the most puzzling things about people is how they use their
|
|
brains to think. The brain is composed of hundreds of billions of nerve
|
|
cells (neurons) which are massively connected to each other. Recently
|
|
biologists have learned that it is the way the cells are connected which
|
|
provides us with intelligence, rather than what is in the cells. Neural
|
|
networks simulate the structure and operation of the brain's neurons and
|
|
connections.
|
|
|
|
A new neural network starts out with a "blank mind". The network is
|
|
taught about a specific problem, such as predicting a stock's price,
|
|
using a technique called training. Training a neural network is like
|
|
teaching a small child to recognize the letters of the alphabet. You
|
|
show him a picture of the letter "A" and ask him what letter he's
|
|
looking at. If he guesses right, you say so and go on to the next
|
|
letter. If he doesn't guess right, you tell him that he is looking at
|
|
an "A". Next, you show him a "B" and repeat the process. You would do
|
|
this for all the letters of the alphabet, then start over. Eventually
|
|
he will learn to recognize all of the letters correctly.
|
|
|
|
A new neural network is shown some data and it guesses what the result
|
|
should be. At first the guesses are gibberish. When the network is
|
|
wrong, it is corrected. The next time it sees that data, it will guess
|
|
more accurately. The network is shown lots of data, over and over until
|
|
is learns all the data and results. Like a person, a trained neural
|
|
network can generalize, making a reasonable guess when given data which
|
|
is different than any it has seen before. You decide what information
|
|
to provide and the network finds the patterns, trends, and hidden
|
|
relationships.
|
|
|
|
Just how does correcting the network cause it to learn? It's all in the
|
|
connections between the neurons. The connections allow the neurons to
|
|
communicate with each other and form answers. When the network makes a
|
|
wrong guess, an adjustment is made to the way neurons are connected,
|
|
thus it is able to learn. With most commercially available neural
|
|
network programs (such as BrainMaker, used in the examples below) the
|
|
network is created and trained by the program itself; all you have to
|
|
do is provide the data and the expected results for training.
|
|
|
|
Designing a Financial Neural Network
|
|
|
|
Using a very simple example, here are the steps involved in designing a
|
|
neural network. The first thing you do is decide what result you want
|
|
the network to provide for you and what information it will use to
|
|
arrive at the result. For example, suppose you want to make a network
|
|
which will predict the price of the Dow Jones Industrial Average (DOW)
|
|
on a month to month average basis, one month in advance. The
|
|
information to provide the network might include the Consumer Price
|
|
Index (CPI), the price of crude oil, the inflation rate, the prime
|
|
interest rate, the Gross National Product (GNP), and other indicators.
|
|
|
|
It's best to give the network lots of information. If you are unsure if
|
|
there is a relationship, provide the data (for example between how the
|
|
good the weather is over the U.S. and the DOW). The neural network
|
|
will figure out if the information is important and will learn to ignore
|
|
anything irrelevant. Sometimes a possibly irrelevant piece of
|
|
information can allow the network to make distinctions which we are not
|
|
aware of. If there's no correlation, the network will just ignore the
|
|
information. Mathematical models aren't this flexible.
|
|
|
|
If you're unsure about which economic theory to follow, don't worry.
|
|
Some people are technical analysts (they believe the future is
|
|
predictable based on history and current trends), some people are
|
|
fundamentalists (the future is predictable based on principles of the
|
|
system), and some people are monetarists (stability and growth are
|
|
determined by supply of money controlled by the FED). There is no
|
|
reason to limit a neural network to any one of these theories. You can
|
|
have your inputs include the price of supplies this month, the price
|
|
last month, and 3 months ago, the consumer price index this month, the
|
|
price last month, and 3 months ago, the inflation rate this month, the
|
|
rate last month, and 3 months ago, the DOW this month, the DOW last
|
|
month, and 3 months ago, the unemployment rate, the political climate,
|
|
and more. People rarely learn all these things, because it's just too
|
|
much to keep track of, but neural networks do not get overwhelmed by
|
|
detail.
|
|
|
|
A simple DOW predictor network might look like this:
|
|
|
|
Inputs: Output:
|
|
|
|
ÚÄÄÄÄÄÄÄÄÄÄÄ¿
|
|
Which month it is ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
³ ³
|
|
Consumer Price Index ÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
for this month ³ The ³
|
|
Price of crude oil ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ Neural ÃÄÄÄÄÄÄ Dow Jones average
|
|
the this month ³ Network ³ next month
|
|
Inflation rate ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
the this month ³ ³
|
|
DOW ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
the this month ³ ³
|
|
Consumer Price Index ÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
last month ³ ³
|
|
Price of crude oil ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
last month ³ ³
|
|
Inflation rate ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
last month ³ ³
|
|
DOW ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
last month ³ ³
|
|
Consumer Price Index ÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
3 months ago ³ ³
|
|
Price of crude oil ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
3 months ago ³ ³
|
|
Inflation rate ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
3 months ago ³ ³
|
|
DOW ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
3 months ago ³ ³
|
|
Overall U.S. weather ÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
|
for this month ³ ³
|
|
ÀÄÄÄÄÄÄÄÄÄÄÄÙ
|
|
|
|
This is a simple example. A better design would have information from
|
|
more periods in the past (last year, e.g.) and a greater variety of
|
|
data. The data is collected for a substantial period of time, say the
|
|
last 15 years. For the network to learn properly, you need historical
|
|
data for each month for each kind of data for the last 15 years. Part
|
|
of you data collection could look like this:
|
|
|
|
Mo CPI CPI-1 CPI-3 Oil Oil-1 Oil-3 Dow Dow-1 Dow-3 etc. Dow Ave (output)
|
|
|
|
Jan 229 220 146 20.0 21.9 19.5 2645 2652 2597 2647
|
|
Feb 235 226 155 19.8 20.0 18.3 2633 2645 2585 2637
|
|
Mar 244 235 164 19.6 19.8 18.1 2627 2633 2579 2630
|
|
Apr 261 244 181 19.6 19.6 18.1 2611 2627 2563 2620
|
|
May 276 261 196 19.5 19.6 18.0 2630 2611 2582 2638
|
|
Jun 287 276 207 19.5 19.5 18.0 2637 2630 2589 2635
|
|
Jul 296 287 212 19.3 19.5 17.8 2640 2637 2592 2641
|
|
|
|
Note that these are ficticious values shown for illustration purposes
|
|
only. In the example above, CPI is a certain month's consumer price
|
|
index, CPI-1 is the index one month before, CPI-3 is the the index 3
|
|
months before, etc.
|
|
|
|
You can add traditional mathematical methods to neural networks. For
|
|
example, to a trend-analyzing network you can add information based upon
|
|
moving averages. Creating moving averages helps build networks that
|
|
depend on current numbers and past numbers, but ignore extremely short
|
|
small changes. Assume you want to predict how the price of a stock will
|
|
move, but in a general sort of way in a bigger time frame. Based on
|
|
what the average stock price has been from week to week during this
|
|
month and last, the network can predict what the average stock price is
|
|
going to be each week for the next month. Some programs automate this
|
|
task for you.
|
|
|
|
After you have your data ready (including the output: DOW average for
|
|
the next month), the program will create and train the new network for
|
|
you. With some programs, you can watch the training on the display,
|
|
edit and test the network using pop-up menus, print out the results,
|
|
graph trends, etc. You can set the level of accuracy that you need from
|
|
the network. After the network is trained, you can give the network
|
|
current information and get a prediction of next month's Dow Jones
|
|
average.
|
|
|
|
Two Proficient Predictors
|
|
|
|
Nicholas Murray Butler (an American educator and author) said, "An
|
|
expert is one who knows more and more about less and less." A neural
|
|
network is most expert when it is trained for a particular task, such as
|
|
the future price of a certain stock or a group of related stocks (such
|
|
as all U.S. automobile manufacturers). It is very difficult to train a
|
|
network to predict for many diverse kinds of stocks, since the stocks
|
|
will react differently to various influences. It would be a massive
|
|
network that may have trouble learning so many different relationships.
|
|
|
|
Creating a neural network financial expert can be quite helpful, even
|
|
for experts. In this section, two working financial applications are
|
|
described.
|
|
|
|
|
|
Bond Rating Prediction
|
|
|
|
G. R. Pugh & Co. of Cranford, New Jersey, does consulting to the
|
|
Public Utility industry. He maintains databases with financial and
|
|
business information on the companies, advises with business forecasts
|
|
and credit risk assessments and predicts the financial and operating
|
|
health of these companies. Some projections have been as far as 10
|
|
years into the future.
|
|
|
|
His expertise is also used by the brokerage industry. He advises
|
|
clients on the selection of good corporate bonds. His clients need to
|
|
know more accurately which bonds represent good investments for their
|
|
customers. Both increases and decreases provide the potential for
|
|
profitable investment. G. R. Pugh and Company has been using a
|
|
BrainMaker neural network trained on three to four years of historical
|
|
data with an XT-compatible PC to help predict the next year's corporate
|
|
bond ratings of 115 public utilities companies. "An XT is more than
|
|
sufficient; it's a FAST program," company president George Pugh notes.
|
|
Learning to use the program and create a neural network from scratch
|
|
took only 2 days. The network trained itself in about four hours.
|
|
|
|
Mr. Pugh announced that his network has been more successful than
|
|
discriminant analysis methods he has used, and even a little better than
|
|
a person could do. "Discriminant analysis methods are good for getting
|
|
the direction of lively issues, but neural networks pick up the subtle
|
|
interactions much better," he explains. The network categorizes the
|
|
ratings with 100% accuracy within a broad category and 95% accuracy
|
|
within a subcategory. The mathematical method of discriminant analysis
|
|
was only 85% accurate within a broad category. (Bonds are rated much
|
|
like report cards, with broad category ratings such as A, B, C, etc. A
|
|
subcateogry could be A+, for example.)
|
|
|
|
According to Mr. Pugh, "BrainMaker was able to pick up some of the
|
|
interplays in the inputs that statistical analysis couldn't get." The
|
|
network makes a significant contribution to his analysis. "The network
|
|
allows me to pick up things that are not obvious with typical analysis."
|
|
|
|
Moreover, nearly all of the network's difficulties were found to be
|
|
associated with companies that were experiencing a particularly unusual
|
|
problem (such as regulatory risk) or had an atypical business
|
|
relationship (such as being involved in a large sale and lease-back
|
|
transaction). Ratings also tend to be subjective; financial items are
|
|
not the only things considered by the rating companies. These
|
|
influences were not represented in the training facts and makes
|
|
predictions difficult.
|
|
|
|
The trained network forecasts next year's Standard & Poor's and Moody's
|
|
corporate bond ratings (both are industry standards) from the previous
|
|
year's S & P and Moody's ratings and 23 other measures of each company's
|
|
financial strength, such as income, sales, returns on equity, 5-year
|
|
growth in sales, and measures of investment, construction, and debt
|
|
load. Each of these factors is assigned to its own input neuron, and
|
|
each company's ratings for next year are the outputs of the network.
|
|
|
|
Mr. Pugh advocates using a neural network as a tool that allows you to
|
|
go beyond discriminant analysis. He believes neural networks are
|
|
particularly useful when there is a high correlation between data, but
|
|
the network does not lose accuracy when there is "fuzziness" in the
|
|
data. "It is also able to pick out the trends, and seems to compute a
|
|
decision more the way people do." He has plans for several other
|
|
financial applications in the wings.
|
|
|
|
|
|
Mutual Fund Prediction
|
|
|
|
Dr. Judith Lipmanson of CHI Associates in Bethesda, Maryland, publishes
|
|
technical business documents and newsletters for in-house use at
|
|
technical and advisory firms. She also is a technical analyst who uses
|
|
a neural network to predict next week's price of 10 selected mutual
|
|
funds for personal use.
|
|
|
|
For the past several months, she has been using a BrainMaker neural
|
|
network on a 386-based IBM-compatible AT. The network gets updated with
|
|
new data every week, and takes only minutes to retrain from scratch on a
|
|
386-based IBM-compatible AT.
|
|
|
|
Results have been good. Currently, the network is producing outputs
|
|
which are about 70% accurate. Although the network is not perfectly
|
|
accurate in its predictions, she has found that the neural network makes
|
|
predictions which are useful.
|
|
|
|
Dr. Lipmanson's network relies on historically-available numerical data
|
|
of the kind typically found in back-issues of the Wall Street Journal.
|
|
These indicators include such factors as the DOW Industrial, DOW
|
|
Utilities, DOW Transportation and Standard & Poor's 500 weekly averages.
|
|
Several years worth of data was gathered for the four initial conditions
|
|
(the inputs) and the ten results (the outputs). The results were
|
|
shifted by a period of one week and the information was used to train
|
|
the network.
|
|
|
|
The network looks something like this:
|
|
|
|
Inputs: Outputs:
|
|
|
|
ÚÄÄÄÄÄÄÄÄÄÄÄ¿
|
|
DOW Industrial ÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄÄÄÄ Fund # 1 next week
|
|
³ The ÃÄÄÄÄ Fund # 2 next week
|
|
Dow Utility ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄÄÄÄ Fund # 3 next week
|
|
³ Neural ÃÄÄÄÄ Fund # 4 next week
|
|
Dow Transportation ÄÄÄÄÄÄÄ´ ÃÄÄÄÄ Fund # 5 next week
|
|
³ Network ÃÄÄÄÄ Fund # 6 next week
|
|
S & P 500 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄÄÄÄ Fund # 7 next week
|
|
³ ÃÄÄÄÄ Fund # 8 next week
|
|
³ ÃÄÄÄÄ Fund # 9 next week
|
|
³ ÃÄÄÄÄ Fund # 10 next week
|
|
ÀÄÄÄÄÄÄÄÄÄÄÄÙ
|
|
|
|
She collects the closing weekly averages on Friday and uses the new data
|
|
to predict prices of the 10 mutual funds for the next week. Making
|
|
forecasts with a trained network requires only a few seconds, and the
|
|
network can be readily updated with new information as it arises.
|
|
|
|
A similar network could be trained to predict prices a day or a month in
|
|
advance (or, in fact, all of these) simply by giving the network new
|
|
output neurons and revised training data which reflects the new time
|
|
periods to be predicted.
|
|
|
|
The majority of financial applications are simply variations on this
|
|
basic style. Often additional inputs are used which give the network
|
|
historical information, such as what the DOW was last week. The design
|
|
of this network, although simple, is effective.
|
|
|
|
|
|
Summary
|
|
|
|
A neural network is a new kind of computing tool that is not limited by
|
|
equations or rules. Neural networks function by finding correlations
|
|
and patterns in the data which you provide. These patterns become a
|
|
part of the network during training. A separate network is needed for
|
|
each problem you want to solve, but many networks follow the same basic
|
|
format.
|
|
|
|
The networks described above were created with the BrainMaker Neural
|
|
Network System. BrainMaker is available from California Scientific
|
|
Software, 10141 Evening Star Dr. #6, Grass Valley, CA 95945-9051, and
|
|
includes the data manipulation program NetMaker, a 255-page
|
|
"Introduction to Neural Networks" and a 422-page User's Guide. The
|
|
price is $195.00.
|
|
|