|
Using ARM3 to Improve
NSP-31
Introduction
This
Technical Article illustrates how to we improved the NSP-31
strategy with neural network techniques. First, we discuss
how the strategies were configured and trained, including
the introduction of new features for the NN Score
block in OmniTrader. Then we present equity simulation
results for each strategy.
Configuring the Strategies
Three
strategies were considered.
·
The base
NSP-31 strategy is comprised of an NSP block
for signal generation and an Orders block to generate
exits.

Base
NSP-31 strategy.
·
The
NSP-31 NN v2 strategy includes an NN Score block
for signal scoring and filtering. Note that the NN Score
block can now also be placed at the end of a strategy flow
chart. In this case the block will act as a filter on
entire trades (i.e. signals and their orders).

NSP-31
NN v2
strategy: a neural network scores and filters signals along
with their orders.
·
In the
NSP-31 NN Stops strategy, an additional NN Score
block - separately trained on a bar-by-bar basis – is placed
upstream from the Orders block. Because the purpose
of this second neural network is purely to assign scores to
each bar in the vote line, the internal score cutoff value
is set to zero.

NSP-31 NN Stops
strategy: an additional neural network assigns scores to
every bar. The score is the used to adjust stop levels
by stops in the Orders block.
Within
the Orders block the NN NSP Trailing Profit Stop
is enabled to replace the NSP Trailing Profit Stop
used in the previous strategies.

Orders
block showing the enabled NN NSP Trailing Profit Stop
and its parameters.
This new
stop works in a similar fashion as the NSP Trailing
Profit stop, with the only difference being that the
cushion value is adjusted at each bar, based on its
advisor. In the NSP-31 NN Stops strategy above, the
advisor – or score – is assigned by the NN Score
block that precedes the Orders block. The Mid
Cushion and Max Cushion parameters specify the
trailing profit stop’s cushions at scores of 50 and 100,
respectively. At any bar within a trade the cushion is
recalculated via a linear function within the specified
points. Negative cushion values are not permitted.
Note that
identical exits can be established in Trade Plans.
Performance Summary and Equity Simulation Results
The
following table shows the performance summary for the three
strategies which includes all trades between January 2001
and December 2006. The original NSP-31 test and validation
list was employed (S&P100 as of September 2006).
|
Strategy |
NT |
PT |
HR% |
ANP% |
PPT |
ABT |
EPR% |
|
NSP-31 |
793 |
458 |
57.76 |
6.71 |
0.85 |
7 |
29.25 |
|
NSP-31 NN v2 |
694 |
411 |
59.22 |
6.50 |
0.94 |
7 |
33.51 |
|
NSP-31 NN Stops |
695 |
415 |
59.71 |
6.71 |
0.96 |
7 |
35.70 |
Performance Summary for the three NSP strategies.
Equity simulations were conducted over the same test period
and symbol list with 100% of Equity allocation method.
Screenshots of the resulting equity curves and statistics
are shown below.

Equity
simulation results for NSP-31 strategy (see Summary
#2,
below)

Equity
simulation results for NSP-31 NN v2 strategy (see
Summary #2, below).

Equity
simulation results for NSP-31 NN Stops strategy (see
Summary #2 Below)
Performance Summary #2
The
relevant statistics from the above screenshots are
summarized in the following table.
|
Strategy |
NT |
HR% |
ROI% |
WDD% |
AvgInv% |
|
NSP-31 |
446 |
57.6 |
485 |
38.5 |
124.8 |
|
NSP-31 NN v2 |
400 |
60.0 |
2367 |
35.5 |
118.3 |
|
NSP-31 NN Stops |
400 |
60.0 |
3420 |
36.7 |
117.4 |
Portfolio
simulation statistics summary for the three NSP-31
strategies.
NT = Number
of Trades
HR = Hit Rate (Accuracy)
ROI% = Return on Investment%
WDD% = Worst Drawdown Over Entire Period
AvgInv% = Average % of Equity Invested (200% is the maximum)
Validation of Neural Network Predictions
The
neural networks for the described strategies were both
trained with data from August 2002 to July 2004. Though
some of the improvements were due to the networks’ prior
knowledge of the system’s performance during this time span,
it is evident from the previous screenshots that the
employment of NN Score blocks is beneficial
throughout the test period, resulting in considerably higher
returns as well as lower drawdowns. The following scatter
plot shows the relationship between the neural network’s
predicted score of the NSP-31 NN v2 strategy and the
recorded profit for all out-of-sample trades (i.e. signals
not used for training the NN Score block).

Profit
vs. Score scatter plot for out-of-sample data collected for
the NSP-31 NN v2 strategy.
Fitting a trendline through the data points shows a positive
correlation between the score assigned to out-of-sample
signals and their respective profit.
NN Score Allocation Method
Well-predictive networks can also be used in the design of
the allocation method employed to trade a particular
strategy. As an example, consider a method that allocates a
percentage of available equity to each trade, where the
percentage is chosen based on the signal’s score.
In
the following equity curve screenshot and statistics table,
we compare the results from simulations obtained by trading
the NSP-31 NN v2 strategy with a fixed 50% of equity
and by trading the same strategy with a percentage of equity
that varies linearly between 0% and 100% based on each
signal’s score.

NSP-31
NN v2
equity
simulations for fixed and NN Sore-based % of Equity
allocation methods.
|
Allocation Method |
NT |
HR% |
ROI% |
WDD% |
AvgInv% |
|
% of Equity |
510 |
59.2 |
795.05 |
32.8 |
101.3 |
|
NN % of Equity |
489 |
60.3 |
1847.48 |
30.1 |
101.3 |
Portfolio simulation statistics summary for fixed and
NN Sore-based % of Equity allocation methods
applied to the NSP-31 NN v2 strategy.
The
same method can be applied to the NSP-31 NN Stops
strategy (see table below)

NSP-31
NN Stops
equity
simulations for fixed and NN Sore-based % of Equity
allocation methods.
|
Allocation Method |
NT |
HR% |
ROI% |
WDD% |
AvgInv% |
|
% of Equity |
518 |
60.2 |
965.54 |
28.6 |
100.0 |
|
NN % of Equity |
497 |
60.8 |
2352.71 |
29.9 |
100.1 |
Portfolio simulation statistics summary for fixed and
NN Sore-based % of Equity allocation methods
applied to the NSP-31 NN Stops strategy.
Other uses of NN Score for Exit Management
The
present document has shown a way to improve exit management
through the use of the NN Score block. While the example
and results employed a custom stop coded via the SDK in
VB.NET, the advisor is also available for coding stops in
OmniLanguage. As an example, the following stop fires an
exit signal if the advisor falls below a certain fixed
value.

OmniLanguage sample code of a stop that uses advisor values
to determine exits.
Similarly, calls to
LongAdvisor()
and
ShortAdvisor()
can be used in designing trade plans.

Example
of usage of advisor values in an OmniScript Trade Plan
condition.
Downloads
Available for Members Now.
The
Strategies discussed in this document are now available in
the Downloads section of the Nirvana Club web site and were
presented at
BASH 2007.
|