SPECTRUM and SPECTRUM SA Daily
In
this section we will discuss the SPECTRUM Intra-day automated trading system,
the SPECTRUM SA Daily and SPECTRUM Daily automated trading system.
As
the names would imply, the SPECTRUM Intra-day system is for day trading and the
SPECTRUM SA Daily and SPECTRUM Daily is for position trading.
The
SPECTRUM SA Daily and SPECTRUM Daily system are true reversal systems, or one
that is always in the market. A buy signal reverses the position from short to
long; a sell signal reverses the position from long to short.
If
the system is in a short position a buy stop is placed above the daily open,
which will reverse the position from short to long if the
If
the system is in a long position a sell stop is placed below the daily open,
which will reverse the position from long to short if our stop is hit.
We
will discuss at length the use of both of these systems but let us first examine
the input settings.
There
are four inputs provided in the SPECTRUM System, which regulate nearly all of
the trading activity of the program.
Two
additional inputs are provided which can be used to selectively test the system
against specific data ranges. The wide range of values within which these inputs
are operable, provide a nearly infinite universe of system settings.
With
these four inputs the user has the ability to specifically design the
performance of the system to not only the commodity contract or stock issue in
question but also to the individual trading style of the trader.
The SPECTRUM System is quite flexible, as it will give
stable, consistent results over a wide range of system settings. Thus, each
individual user should feel free to experiment with multiple settings of the
system variables. In this manner each trader will be able to create a trading
pattern using the SPECTRUM System which is consistently compatible with his /
her own individual trading style.
As
Demonstrated above, the first two inputs, StartDte
and EndDte regulate the data series
over which the systematic study is to be applied.
Although
the calculations which ultimately generate the buy and sell signals are
performed for all the data included on your price chart, actual trading and system report generation will only occur within the
time frame bracketed by these two input values.
For
example, the image on the prior page shows the setting for StartDte to be
990104. Since the program uses date values in the yy/mm/dd format, this value is
equivalent to 1999, January, 04, or January 4, 1999.
With the input set to this value there will be no
trading on the chart prior to this date, regardless of how many days are
actually loaded into your test chart.
Be aware that
this does not automatically mean that the first trade of the system will occur
on January 4, 1999. The only significance is that the first trade on the chart
may occur any time after this date, but not before. In fact, it could be
several days after January 4 before the system equations actually create a buy
or sell signal, which will be activated by market activity on the next day.
The
second input, EndDte, will be the last day of trading for the system on your
chart. The default setting on the enclosed image is set to 1001231, which will
be the last date on which a trade will be either taken or left open on the
chart.
If
a trade is open when the chart reaches the date specified by the EndDte input,
the trade will be automatically exited on the close of that bar. If the system
is not in a trade when this bar is reached, no further trades will be taken past
this point in time.
In
the convention used by the program, 100 equals the year 2000, 101 will be used
for 2001, 102 represents 2002, etc.
If
you are using this system for your daily trading, you will want to set this end
date input far in advance of the current trading date so that the program will
remain active for the foreseeable future.
These inputs are necessary for traders to have the
ability to test their trading strategy against various portions of the data
selected for the contract or stock issue of interest. Traders will wish to test
various strategies against selected portions of individual charts, such as
trending periods and non trending periods, to observe the behavior of various
system settings as applied to different market conditions.
These starting and ending date inputs make this process
much easier than attempting to accurately load only certain date ranges on a
chart for testing purposes. Also, it is usually quite revealing to apply trading
strategies to only certain portions of charts to observe the actual trading
activity of the system on these chart sections while still being able to observe
the remainder of the chart where no trading is actually occurring.
Later
in this section of the manual we will discuss system testing in detail. Part of
this discussion will concern “out of sample” testing, a routine in which the
trader is encouraged to test their preferred system settings against a selected
data series and then apply this system setting against data other than what was
used to determine the system settings. The inputs will be used to select both
the testing data, and then later, to select the data against which the system
will be applied to observe the performance of the system.
The
next 4 inputs are the ones which actually govern the calculations which are
responsible for issuing the actual buy and sell signals on which the system
places its trades. All four inputs work in combination with each other to
actually generate the trades.
The
first two inputs, B and S, will accept only whole numbers as input values. Using
decimal values here will generate inconsistent, possibly erratic system results.
The
second set of inputs, B1 and S1, can accept any positive numerical value as a
valid input. Decimal values are acceptable for these values. In fact, users are
encouraged to experiment with a wide array of values for these system inputs
when they are designing their own individual trading strategy using this system.
The
Style input tab for the SPECTRUM System should appear as above.
The Costs input tab for the SPECTRUM System is shown on
the following page. You will note that there are input fields, which allow the
entry of user defined amounts for both commission charges and expected slippage.
When these values are entered the appropriate dollar
amount is deducted from the profit / loss of each completed trade to reflect the
actual result of the trade when these amounts are considered. There is also an
input field for margin. This number will directly effect the account size
required and return on account reports in the system reports generated by the
system. Users are encouraged to reference their Omega Research manuals and on
line help screens for additional details concerning the effect on the system
reports of any changes made on this input screen.
Properties
The
Properties screen for the SPECTRUM System is defaulted as shown in the following
image.
The
only changes which users should need to make would be to the “Max number of
bars strategy will reference” setting.
If
you intend to set either Input B or Input S to a value greater than 8 you will
need to increase the value in this box to equal the highest setting which you
intend to use for either of these inputs. We will again refer to this setting
during the discussion of system testing and optimization.
Be
sure that the “Generate orders for next bar” remains checked. This setting
enables the system to both issue relevant orders into the tracking center and
properly keep track of trades on the system report screens as the trades
progress.
System
Theory
The
SPECTRUM portfolio trading method utilizes two basic theories of short term
trend analysis - follow through and range expansion.
Follow
Through
Follow
through can best be described as a tendency of a market, when in a short-term
trend, to stay in the trend into the next day of
For
our purposes, we'll define the strength or weakness of a daily trend by the
relative position of the close with respect to the high and the low of the day.
If
the close is relatively near the high of the day the market is exhibiting a
strong close - one which should follow through to the upside in early trading
for the next day.
If
the close is nearer the lowest price of that market for the day, it is defined
to be a weak close which should lead to lower prices during at least the early
part of the trade tomorrow.
|
In
the image to the left, note examples of market follow through. Bar
#1 shows a weak close with the close of the day much closer to the low
than the high. Observe how the market, in this case, respects the follow
through pressure of the preceding day by trading considerably lower in bar
#2 before rallying to close near the high of the day. Again
the market respects the follow through tendency in bar #3 as the market
continues to trade higher and close again near the high of the day. |
Is
every follow through signal effective? Of course not, but the percentage is
great enough, when combined with range expansion, to give us a definite edge in
the market.
Range
expansion is another rather basic concept, which by itself, has some trading
merit. Its effectiveness is expanded considerably
Think
about the first few minutes of trading posted for the day.
What is the likelihood of this range being the range for the entire day?
I think you would agree that it is reasonably small. Since we are fairly certain
that the range will expand from this point, it would be
The
spectrum approach to trading combines both the follow through and range
expansion tendencies into one trading theory. Although the concept is simple and
straightforward, the calculations are not.
The
SPECTRUM System program calculates the relative strength or weakness of the
market over the past several days using the follow through strategy outlined
above. This calculation gives the system a long or short bias for the next
trading day.
It
then calculates the probability of the market, with respect to expected follow
through, to move higher or lower from the open based on historical behavior of
the market in question.
The SPECTRUM Daily System is a true reversal system, or
one which is always in the market. A buy signal reverses the position from short
to long; a sell signal reverses the position from long to short.
If
the system is in a short position a buy stop is placed above the daily open
which will reverse the position from short to long if the
If
the system is in a long position a sell stop is placed below the daily open
which will reverse the position from long to short if our stop is hit.
No other stops are active in the system as it has been
programmed and tested other than the end of day exit for the intra-day system.
Users should feel free to add additional money management, target, or trailing stops to the system using the format tabs in TradeStationâ version 4.0 or the SystemBuilder routine available in version 2000i. In this fashion this system can more readily be adapted to the individual user's trading style.
Initial
System Testing
Anyone
who has spent a sufficient amount of time in the study of general market
behavior will agree that each stock issue and commodity contract has its own
personality, much the same as multiple characteristics can be ascertained in a
given population of individuals.
The
multiple traits expressed by these varying personalities clearly effect the
manner in which the particular contract or stock issue in question responds to
any mechanical trading system. The SPECTRUM System, even with its self-adaptive
features, is no exception. Each market traded with the system will behave a bit
differently.
This
will require the user to do his / her own research into how the system, stock,
futures contract and the trader's own trading style interact with each other to
produce a reasonable trading strategy.
Although
the optimization feature of your Omega Research product can clearly be used to
over-optimize and over curve fit a system to a given series of market data, it
can also be quite valuable when it comes to researching the response of the
SPECTRUM System to each market onto which it is being applied.
When
testing the systems, I will use the optimization routine on all
You
should also be aware that these systems use the optimization routine a bit
differently than most programmed systems. The testing done by this routine is
used by the system to get a feel of which input values work best for the market
being tested.
After
these initial tests the self-adaptive nature of the system is able to "take
over" and keep the system in sync with the changing market conditions as
time progresses. For this reason, I suggest that the system not be re-optimized at too frequent an
interval. Also, too frequent optimization can result in over curve fitting a
system to past market data, which all too often has led to the demise of the
individual trader.
Generally,
I will test for values between 3 and 8 for all values, using
If
you wish to test in more detail, the last two inputs, specifically B1
If the value of 8
is exceeded for the first two system inputs it will be necessary to enter the
system setup dialog and adjust the “Max number of bars strategy will
reference” setting to the largest value being tested for either of these two
variables. Failure to make this adjustment will result in a run time error and
cause the system status to be toggled to the off position until the proper
changes are made to the max bars back setting. After making these changes it will be necessary to return the
system status to the on position for the program to again be able to operate.
Testing
outside the above suggested ranges is certainly acceptable;
however,
be aware that values lower than these ranges will dramatically increase the
frequency of trading and values above the suggested ranges will likewise
decrease the trading frequency.
At
the time that this manual was being written, we are using the SPECTRUM system to
generate our market signals. The system
had not been re-optimized for over a year.
I
cannot emphasize too greatly the dangers in over optimizing trading systems.
This feature can be used to create a system which looks nearly perfect on an
historical chart. Unfortunately, the scenario which created this superior system
report is done so with perfect hindsight. Such routines, while possibly
effective to some degree, usually will not repeat their performance in the
future to the level which might be expected by the trader considering the system
testing done on historical charts.
When
used properly and with common sense, the optimization routine can be a very
effective tool for the system developer.
Frequently,
it is wise to test your futures contract or stock issue on out of sample data
and then apply the system as tested to current data. This type of walk forward
analysis has a much better chance of remaining active and accurate that simply
testing the system against current data.
To
effectively apply this technique it is necessary to have at your disposal a
considerable amount of historical price data.
Initially,
set up your price chart with the maximum amount of data which you wish to test.
For the purposes of explanation, let’s use a three year time frame to
demonstrate the theory behind walk forward - out of sample testing.
The
theory for this type of system testing is based on the assumption that the
behavior of a certain stock issue / futures contract, with respect to the system
to which it is being applied, will be consistent from one time frame to the next
as time progresses. If the system does not behave in a consistent manner as we
progress through time then we must reconsider our system setup as it was tested
on previous data and make adjustments to these settings until we are satisfied
that our results are indeed repeatable.
Although
this process as described above seems simple enough to understand, the actual
implementation of this routine can be quite demanding and time intensive for the
individual trader. However, the rewards are considerable when one stops to
realize the value of a profitable system which has a reasonable chance of
continuing to be so in the future.
To
begin the walk forward testing process:
1.
Select the first 6
months of the price chart in question using the StartDte and EndDte inputs as
described in the section which covered our system inputs. Then proceed with the
optimization routine as described above. For more detail on the setup and
operation of this feature users are encouraged to study in detail the Omega
Research manual and online help screen sections on this process.
2.
Make note of the
system results obtained by this testing of the first part of your chart.
3.
Next, advance the
start and end dates on the input screen to include the next six months of your
price chart thus excluding the data just previously tested. Do not change the
system inputs other than the dates as discussed above.
Now
compare the results of the system as applied to the first 6 months of trading to
the results of the system applied to the current data using the same system
settings. If these results are acceptable
to you, then proceed forward to the next six months of data in a similar
fashion.
If the results are
not acceptable,
perform the same testing routine on the second set of data as was applied to the
first six months of the chart. Compare the system settings which resulted in
acceptable results on each set of data, noting the variations which have
occurred in the optimal settings for each section of the chart. Frequently one
is able to average the system settings and render a set of input values which
will return acceptable results over the entire 12 month data series.
Using
this same sequential testing routine, progress through the data series, a
section at a time, until you reach the end of your data set and are comfortable
that you now have a system setup in place which will be repeatable as time
passes.
The
obvious logical question at this point is why not just turn the optimization
routine loose on the entire data series and let it come up with the prime
settings for the system?
If
you stop and think about it, you have already answered that question yourself.
Recall the first test that you did on the first section of data and then recall
the system results which were generated when the settings used on the first set
were applied to the second set.
I’d
be quite surprised if the results were consistent enough to depend upon for a
trading strategy. You probably found that it was necessary to make many
adjustments before you were comfortable with the resulting strategy.
Testing
the entire available data series and then applying the resulting system settings
to real time trading will probably produce the same results as you derived from
the system as it was applied to the second set of data using settings from the
first set.
Any
trading system will respond much differently to a particular market when it is
in a trending mode than when it is in a non-trending mode. The SPECTRUM System
is not unique in this aspect.
For
this reason it is often fruitful to test the system, again using the start and
end date inputs, against both trending and non-trending portions of the charts
in question. Doing so gives the user a better understanding of the system
response to these individual conditions and can enable the trader to discover
both system settings and trading routines best suited to these individual
environments.
After
completion of an optimization run the user is faced with an almost overwhelming
series of numbers which represent the results of testing the system over a large
number of combinations of the system variables.
The
initial temptation is obviously to accept the testing run which demonstrates the
highest profitability over the testing period. However, the automatic acceptance
of system variables which produce the most profitable results may not always
result in the system best suited to the trading style of the user.
Your
optimization report can be used to not only asses the net profitability of the
various input combinations available from the system, but also issues
assessments based on:
·
percentage
of winning trades,
·
net
profit per trade,
·
maximum
number of consecutive losing trades,
·
maximum
intra-day drawdown,
·
total
number of trades,
·
and
the total number of winning and losing trades.
Several
other testing fields are available for analysis by this part of the program,
these are the ones which I feel offer the best array of values by which a system
test can effectively be interpreted.
Often
the testing result with the highest profitability may have hidden elsewhere in
the test report a characteristic which may make the system difficult to use from
a trading standpoint.
For
instance, the most profitable settings could have been generated by twice as
many actual trades as a setting with nearly as great a profit potential but
doing so in vastly fewer actual transactions. The system with nearly the same
profit level on half as many trades is clearly preferable from a trading
standpoint than a slightly more profitable setting. Clearly, this selection will
also have a much higher average profit per trade result than the setting which
generates the large number of trades. This is a definite advantage to any
trading program.
Also
of vital interest to the trader is the maximum drawdown which your account has
experienced during the testing period. Clearly, the minimum drawdown is the most
desirable. However, just as in the example above, a program with a slightly
higher drawdown may be the preferable setting. It is often wise to select for
consideration the system setting which displays the best profit to drawdown
ratio. You will have to perform this simple calculation yourself, but the
rewards are worth the effort.
Divide
the profitability of the setting by the max drawdown to obtain this ratio.
Generally, the higher the number the more attractive the system. A high number
generated here is indicative of a system which will generate relatively higher
profits with relatively lower drawdown levels.
Also,
be conscious of the number of consecutive losing trades generated by the system.
Although one can look at this number objectively at this stage of the game where
the trading is all done on paper, it’s a different story when real money is on
the line and you haven’t had a winner for a while.
One
noted trading expert and advisor regularly states that most unsuccessful traders
will abandon a system after just two straight losses. You must closely observe
the number of consecutive losses generated by your proposed system and determine
in your own mind if this is a figure you can live with as you actually trade the
system.
Although
the Spectrum System will rarely generate reports which exceed 55 - 60 percent
winning trades, you will also want to look at this report field when selecting
the settings you wish to use for your system. Again, take into consideration
your own trading style and tolerance for losing trades when assessing this
system variable.
One
characteristic of this system which traders will soon notice is that the trading
routine used to generate buy and sell signals will result in the system getting
on board a trend much sooner that most systems will be able to achieve.
The
downside, or tradeoff, of this feature of the system is that, in order to do so,
the system will make frequent false starts in the wrong direction, resulting in
back and forth trading within a defined trading range until the market breaks
out of this range and enters a trending phase.
The
system will experience several trades in this phase, some being profitable and
some resulting in losses. This is the reason that most system reports generated
by this system will usually show no more than 55 - 60 % winning trades.
The
system gains its profitability by its ability to get on board a trend early in
the game and then sticking with this trend until it is nearly exhausted. You
will no doubt note that, although the system will generate multiple losing
trades as it positions itself for a breakout of the current trading range, these
losses will be small in nature when compared to the average for the winning
trades. This system therefore takes
automatic advantage of the old trading axiom “Let your profits run and cut
your losses short”.
The
behavior of the system if further reflected in the equity curves which can be
generated from the system reports. You will note regular flat spots in these
graphs which reflect the sideways trading which occurs when the market in
question is wandering in a trading range, poised for the next breakout phase.
Note that often, the flat spots on the equity curves are the “launching pad”
for the next move higher on the curve.
Both
the SPECTRUM and SPECTRUM SA systems operate from identical perspectives, those
of course being follow-through and range expansion.
The
only difference is that the "SA" version is somewhat more dependent on
parallel function technology for its signal generation.
Certain
stocks and commodity contracts respond more favorably to the enhanced analytical
capability of the SA version, others do not. I
Both
the Spectrum and Spectrum SA systems are designed to be used on daily data.
Place
the system on the chart of choice using the insert analysis techniques routine.
These
systems differ from many other available automated trading routines in that they
issue the orders with reference to the open of each trading day. Most systems
will issue their new orders after the close of any particular day. These orders
are then placed before the open for possible execution the following day.
Since
the SPECTRUM systems place their orders with respect to the open of the day,
these new system signals are not available until the market actually opens on
the day in question.
The
new orders for the day appear on the tracking center screens immediately after
the market in question opens for the day. Users of these systems are strongly
encouraged to intimately familiarize themselves with the operation of the
tracking centers associated with their particular Omega Research product before
actually trading with them. These features make the system quite effortless as
all that is necessary is recognize the proper orders on the screen and then
relay these orders in the proper fashion for execution.
Since
the SPECTRUM System uses comparative data between the highs, lows and closes for
several days in the immediate past, the massive overnight price change which
occurs when a stock splits will give unusual orders for several days after the
split actually occurs. It is best to exit a position when a stock splits and
then re-enter on the system signals several days later. It is usually best to
stay on the sidelines for 5 - 6 days in most instances after a split occurs.
ADDITIONAL CONSIDERATIONS FOR THE USE OF THE INTRADAY
SYSTEM:
When
applying the intra-day system, it's important to keep in mind how the system
generates and fills its orders for the day on an historical basis.
Since
the system issues its orders referenced on the open of the day, it must first
have the open of the day available. This cannot happen on a historical basis
until the closing of the first bar.
In
other words, the system doesn't know what the open of the day is until the first
bar of the day is closed. The longer the time frame for
For
this reason it is important to use a rather short time frame for intra-day data
when applying the system to volatile issues such as the S&P 500 futures
contract. I prefer to use a
2-minute bar for testing the S&P futures.
Other,
less volatile issues and contracts may be tested with intra-day bars of greater
value.
A
good rule to use when testing intra-day data is to note where the orders are
being filled. If there are orders being filled on the open of the second bar of
the day it will be necessary to use intra-day bars of a lesser value to get
accurate testing results.
Can Overuse
Cause the System to Cease Being Effective?
We
are regularly queried as to the number of traders who are using this system and
what, if any, effect this could have on the system performance into the future.
Although
there are examples of the heavy use of structured trading systems causing
erratic trading behavior in a particular market, most of these instances
occurred in a rather thinly traded market, such as coffee, where large numbers
of orders at a particular point could cause some abnormal market behavior. These
instances have occurred when strictly structured programs are used.
With
the wide range of system settings which are available for the individual
actually testing and using the system, it is highly
unlikely that any two users will be using the same input settings on the
same contract or stock issue. Also, since the system is useful on nearly all
markets, the likelihood of SPECTRUM causing an order buildup at a particular
point becomes even more unlikely.
Most
traders become discouraged with a system after 3 or 4 consecutive losses or a
drawdown of more than10%.
While
you may not think this is the case for your own trading account while viewing
attractive profit levels in a testing report, I'd be willing to bet that your
perception might be altered a bit around 2:30 am on the morning following your
4th or 5th consecutive loss in the last 2 weeks.
Sorting
carefully through the system results may reveal a strategy which is nearly as
profitable as the highest rated test but has far fewer losses and a much lower
drawdown level and most likely a lower trading frequency which lowers commission
costs considerably.
Also,
you must resist the temptation to re-optimize after every trade or after every
losing trade. This will result
You
should also resist the temptation to test the above parameters to tighter
tolerances. This again will fit the system so close to the data that similar
results are unlikely.