Parameter Stepping

Contents

Altering the input value of even a single rule or test condition will often cause changes that ripple throughout the system, directly affecting its performance characteristics, often in dramatic and unforeseen ways. To assist users in gaining a clearer understanding of this important concept, Trading Blox incorporates an extremely powerful feature called Parameter Stepping. For any parameter, Parameter Stepping allows a range of values to be stepped through and tested one increment at a time - all within the course of a single test.

This document and the Trading Blox interface refers to the simulation of a unique combination of parameter input values as a Test. Thus, every simulation session (activated by depressing the Run Simulation button), will contain at least one Test, or in the case of Parameter Stepping, many Tests.

For example, if you want to see how changing the value of the Risk per Trade parameter affects overall profitability, you could conduct a number of separate (single-run) test sessions, changing the value of the Risk per Trade each time. Using Parameter Stepping, you could execute multiple parameter runs within a single test session, as follows:

First check the parameter stepping check box:

When the checkbox is clicked, it will add two more edit fields. The field to left side of the image is the place where the starting value is entered. The center field is the place to enter the maximum stepped value. The field on the right side of the image is field that determines the amount each step of the test will increment the parameter's test value:

You can change the values in the edit boxes to control the stepping range and increment. The following shows the values that will result in six separate stepped parameter runs ranging from 2% to 3% in step increments of 0.2%, with values of 2%, 2.2%, 2.4%, 2.6%, 2.8% and 3%:

After running the test, the Summary Results for this test will contain a Run Summary List which shows the major performance measures for each of the values of the parameter. This list can be sorted by clicking any of the column headings with the mouse:

Stepped Test Performance Summary Table

Non-numeric parameters that use pop-up menus for True and False, or other values, can also be stepped by selecting the "Step True to False" or other stepping item:

This will result in two tests, one with the value set to True and one with it set to False.

For Integer type parameters only, there is an option to step by percent or fixed value. So in the following example, you could step from 50 to 70 by 5% or by 5. Use the percent sign in this case to indicate a percent step. Note that this is different than the above example which is stepping by a fixed value but the value happens to be a percent.

It is also possible to step through a range of values for multiple parameters, all within a single simulation. Keep in mind, though, that the total number of unique Tests within a Parameter Stepping simulation is equal to the number of steps in each range of values, multiplied together. Because of this multiplicative effect, automated Parameter Stepping simulations can grow quite large.

Consider the following combination:

Simulataneous Two Parameters Stepping Example.

The Long Moving Average has five steps (50, 55, 60, 65 and 70), and the Short Moving Average has six (15, 16, 17, 18, 19, and 20). Based on these instructions, the total number of runs that Trading Blox will automatically execute is 5 x 6, or 30. If a third condition with only five (3) steps is added, then the number of runs will equal 5 x 6 x 5, or 150.

Once a simulation has begun, Trading Blox shows a progress dialog. This dialog has two progress bars which indicate how much of the simulation has completed:

Progress of Stepped Test Processing.

Stepped test dialog also shows the percentage of the simulation and elapsed time, the time remaining until the simulation is complete and the time when the simulation is estimated to be done.

Trading Blox first loads the price data into memory before applying the trading rules. Price data is loaded only once at the beginning of the simulation, even when the simulation will test hundreds of parameter combinations. The symbols for each of the futures, stock or forex market data which are loaded are shown above the top progress bar as the price data is read.

After the data is read, the top progress bar shows the month being tested as Trading Blox applies the trading rules to month after month of historical data for each unique combination of parameter values. The bottom progress bar displays which test (out of the total number of tests), is currently being tested. In the above example, the progress bar shows that the simulation is currently processing test number 3 out of the 101 that will be tested as part of the simulation.

For simulations where there is no stepping and only a single test,the bottom progress bar will move only twice - once when the data has been read and once after the test is complete.