Skip Navigation Links
Search
 
Simulation / Backtesting Frequently Asked Questions

Running a Simulation / Backtesting

To start a simulation, you must first have data to run the simulation against.  If you have not yet configured historical data, please see the Data Provider FAQ and Watchlist FAQ for configuring a data provider and assigned it to symbols in the Watchlist.

Once historical data is retrieved, you must open or create a trading system.  If you have not yet obtained the trading to run the simulation against, please read the Trading System FAQ.

Now that the data is collected and the trading system is loaded, a system can be executed.  To execute a trading system, select the symbols that are to be a part of the simulation.  Do this be placing a check next to each individual symbol item in the Watchlist or by checking a folder to select all symbols within the folder.  Now click the Run Simulation () item to begin the simulation.

Once the simulation is completed, the simulation results are displayed.  For detailed text on this topic, please read the Analyzing simulation results topic.

Back to the top
Back to the Main FAQ  

Running the simulation through optimization

Optimization is used to test a system with certain variables changed across simulation runs. Running the system with variable parameters or optimization parameters allows the system developer to determine which values result in the most favorable system performance.

Any value in the system can be used as an optimization value.  Technical indicators are usually the first candidates since many accept a number of numeric inputs. Other items such as profit targets and stop loss values are also viable candidates.

To begin using optimizing your trading system in RightEdge, first, a trading system must be loaded.  Once a system is loaded, look at the the Project Properties and locate the System Parameters property as shown below.

 

RightEdge supports any number of parameters in this list.  Each value is treated as a type of double.  Click the Add button to add a new empty parameter.  Use the property grid on the right to name this parameter and assign a default value.

Referencing Parameters

Once optimization parameters have been added to the project, they may be referenced in code.  Using the above parameter, stochBuyValue, we will only perform a buy if the StochK indicator is below our optimization parameter.

 

C# 
if (stochKValue < SystemParameters["stochBuyValue"])
{
    // Perform buy here.
}
 
Visual Basic 
If (stochKValue < SystemParameters.Item("stochBuyValue")) Then
    ' Perform buy here.
End If

Running an Optimization

Once the optimization parameters are set, select Optimize System from the System menu.

 

Optimization Parameters

This is a list of the parameters set for this system.  The values can be set by double clicking the value.  Set the value by clicking anywhere outside of that value's space.

Low Value

Each system is run starting from the lowest value.  Specify this value for each parameter.

High Value

Optimization stops once the highest value is reached.  Specify this value for each parameter.

Step Size

This is the increment size for each optimization value.  For example, if the low value is 1 and the high value is 11 with a step size of 2, the system will be run a total of six times.

Number of Steps

This is a calculated value based on all previous entries.  This is the number of times the system will be run for this optimization run.

When the optimization run is complete, the optimization results screen is displayed.

 

Run #

Each run is sequentially numbered.  That number is displayed here.

Parameter Value

In the sample above, there is a parameter named "adxThreshold".  The parameter name is shown in the column and the value of that parameter for each run is displayed in the cell beneath.

Summary Items

The remaining items in the list are totals pulled from the system run.  These are the values for both long and short trades.

Double click any run shown to display the full System Results for the run.

Analyzing simulation results

The simulation results screens contain a great deal of information and also a great deal of flexibility when deciding how to utilize the information.  This topic will deal with interpreting the information as well as managing it for your needs with features such as exporting and printing.  This section is broken up into two main areas.  The first area describes the functionality presented within the system results and the second area goes into detail about the information that is presented.

  1. Manipulating System Results
  2. Interpreting System Results
    a. Summary
    b. System Parameters
    c. Position List
    d. Trade List
    e. Symbol Results
    f. Scan
    g. Charts

Manipulating System Results

When a simulation has completed, the system results are displayed in the document area of RightEdge.  The System Results document contains multiple tabs each assessing different aspects of the simulation.

Each tab contains features that are common.  These features can be accessed using a combination of items on the context menus and items in the main menu.  The statistics windows, which are those windows that contain textual information as opposed to graphical information, have ability to export to common formats as well as print.

When a grid is displayed, right click on the grid area.

 

This context menu will allow for exporting.  Supported formats are tab delimited, CSV (common separated) and HTML.  This menu also facilitates displaying system results charts that are not displayed by default.

Each of the grids can also be printed.  Select the desired tab and select Print... from the File menu.

The grids columns for the Trade List, Symbols Results and Scan tabs can also be manipulated and sorted.  To sort, click any of the column headings.  Click once to sort ascending and click the same column again to sort descending.  To move a grid column into another position, click the column heading and hold the left mouse button down.  Drag the column to the desired location and release the mouse button.

Interpreting System Results

Each tab represents the results of the simulation.  The textual versions of the result breakdowns are in the first four tabs titled Summary, Trade List, Symbol Results and Scan.  Click any of the areas to retrieve more information.

Summary

The summary tab contains a list of totals broken down horizontally into all trades (long & short combined), long only trades, short only trades and buy and hold.  The vertical breakdown groups information about this simulation into manageable categories.

Capital Summary

Starting Capital The amount of capital set in the simulation to begin with.
Ending Capital The total amount of capital that is in the account after all trades are placed.  This will include the starting capital.
Net Profit ($) The total amount of profit or loss represented as currency.
Net Profit (%) The total amount of profit or less represented as a percentage against the starting capital.
APR The calculated annual percentage return of the profit or loss.
Exposure The average exposure of capital to the market.

System Totals

Number of Trades The total number of trades the simulation opened.
Maximum Profit The highest profit achieved for all trades in the group.
Maximum Loss The largest loss encountered over all trades in the group.
Average Profit ($) The average profit from a currency standpoint over all trades in the group.
Average Profit (%) The average profit from a percentage standpoint over all trades in the group.
Average Bars Held The average number of periods that a position was held over all trades in the group.
Maximum Exposure The maximum value exposed to the market represented as currency.
Max Exposure (%) The maximum value exposed to the market represented as a percentage.
Max Exposure Date The date when the maximum currency exposure occurred.
Max Exposure (%) Date The date when the maximum percentage exposure occurred.
Max Drawdown ($) The maximum drawdown encountered during this simulation represented as currency.
Max Drawdown (%) The maximum drawdown encountered during this simulation represented as a percentage.
Max Drawdown Date The date when the maximum currency drawdown occurred.
Max Drawdown (%) Date The date when the maximum percentage drawdown occurred.

Winning Totals

Winning Trades The number of trades where the profit is greater than 0.  Trades that break even are considered losing trades.
Winning % The percentage of trades where the profit is greater than 0.
Gross Profit The total amount of profit represented as currency.
Average Profit ($) The average amount of profit represented as currency.
Average Profit (%) The average amount of profit represented as a percentage.
Average Bars Held The average number of periods each winning position was open.
Consecutive Winners The number of winning trades in a row.

Losing Totals

Losing Trades The number of trades where the profit was less than or equal to 0.  Trades that break even are considered losing trades.
Losing % The percentage of trades where the profit is than or equal to 0.
Gross Loss The total value lost represented as currency.
Average Loss ($) The average amount lost represented as currency.
Average Loss (%) The average amount lost represented as a percentage.
Average Bars Held The average number of periods each losing position was open.
Consecutive Losers The number of losing trades in a row.

System Parameters

This tab contains information about this particular system run.

Run Date The date and time the system was run.
Run Length The amount of time taken to complete the system execution.
System Parameters This contains a list of all optimization parameters contained within the system and the value of those parameters for this run.

Position List

The position list contains each trade aggregated into its respective position.  Positions are nothing more than a grouping of trades.  This screen shows the trades grouped by position.

This position list is split into two pieces.  The top portion of the screen contains the list of positions established throughout the system.  When a position is clicked or selected, the trades that are associated with this position are shown in the trade list below.

Position List Columns

Symbol The tradable symbol name.
Type The position type taken, long or short.
Shares The maximum number of shares or contracts held throughout the lifetime of this position.
Open Date The date the first trade was made for this position.
Close Date The date the position was completely liquidated.
Avg Buy The weighted average of opening trades in this position
Avg Sell The weighted average price that the shares or contracts were closed/covered at.
Bars Held The number of periods the position was open.
P/L Bar The average amount gained or lost on a per bar basis.
P/L The total amount gained or lost throughout the life of the position.
Description The user assigned name of this position.

 

Trade List

The trade list contains the complete list of every trade generated by the simulation.

Trade List Columns

Symbol The tradable symbol name.
Type The type of transaction, either buy, short, sell or cover.
Transaction Date The date the trade was placed.
Shares Number of shares or contracts that were filled in this transaction.
Price The fill price of the trade.
Commission The cost of commissions for this trade.
Amount The amount of capital added or deducted from the account for this trade.
Description The user assigned name given to this trade.
Cash The amount of cash available in the account after this transaction was completed.

Symbol Results

The symbol results tab contains an aggregated list of the trades.  The trades are aggregated by symbol.  This provides a way to quickly determine which symbols are performing and which are not.

Symbol Results Columns

Symbol The tradable symbol name.
Profit The amount gained or lost for this symbol.
Profit per Bar The amount gained or lost averaged over the number of bars held.
Trades Total number of trades entered with this symbol.
Winners The number of trades with a profit greater than 0.
Losers The number of trades with a profit less than or equal to 0.
Winning % The number of winning trades divided by the number of losing trades.
Avg Bars Held The average number of periods each position was open.

Scan

The scan tab is useful for determining the next action that the simulation would take.  For example, if the system trades daily bars, the scan would show the next day's actions to be taken such as opening a new position or closing an existing position.  Theoretically, a daily, weekly or monthly time frame trader can use the results from the scan and generate orders manually.

Scan Columns

Date The date that the action should occur.
Order Type The type of order to be submitted to the broker.  This could be any number of the order types supported by RightEdge.
Symbol The tradable symbol name.
Order Price If this is a limit order, the price of the limit order will be specified here.
Winners The number of trades with a profit greater than 0.
Losers The number of trades with a profit less than or equal to 0.
Winning % The number of winning trades divided by the number of losing trades.

Charts

While the grid based system results are opened after every simulation, the chart tabs can have any number of charts pull up.  There are a number of potential chart tabs and the default chart tabs are configurable under the Options dialog.

RightEdge ships with five charts.
 

  • Profit Distribution
    The Profit Distribution chart breaks down the profit and loss values into scaled values.  A sample profit distribution chart is shown below.

 

Use the Display dropdown to toggle between representing the chart in profit and loss percentages and currency.
 

  • System Breakdown
    The system breakdown chart is a bit unique in that it is a hybrid of text and graphics.  It also has some interactivity features where you can select the aggregation level of weekly, monthly or yearly.  The results are calculated in real time and the chart and results areas are updated.  An example of the system breakdown chart is below.

 

  • Equity Curve
    The equity curve chart represents the cash and asset value at each point during simulation.  This is a visual way of assessing drawdown and exposure.  The Buy and Hold account value is represent as a line displayed over the cash and asset value stacked series.
     
  • MAE / MFE
    This chart is similar in look and feel to the profit distribution chart, however, this chart breaks out the MAE and MFE calculations on a percentage or currency basis.  The chart is broken into two pieces.  The MAE is displayed on the top half of the chart and the MFE is displayed on the bottom half.
     
  • Symbol Breakdown
    The symbol breakdown chart is a simple pie chart that displays all symbols that took trades during the simulation period.  This is chart allows a quick and easy way to visualize which symbols are taking trades and which symbols are not.  This can help identify and prune "dead" symbols.

Back to the top
Back to the Main FAQ  

Privacy Policy 2005 - 2008 © RightEdge Systems, LLC