Specialists in addon products for Metastock® and other Trading Packages.
Advanced portfolio trading simulation and back testing software for Metastock®.
Producers of TradeSim®.
Producers of Vitamin-C for MetaStock ®
  Will the real TradeSim please standup? - You're looking at it!
  NOTE: Compuvision Australia is NOT affiliated in any way with Trade Lab Strategies.

 

Survivorship bias free back testing is as easy as 123 !!

TradeSim now introduces survivorship bias free back testing to further refine back testing results even more. All TradeSim Editions including the trial now comes with the ability to do survivorship bias free backtesting using a Survivorship Bias Filter (SBF) Table that is easy to create, This table is essentially a text file which contains a list of constituent symbols and their corresponding date ranges for when they were included in the index. Multiple date ranges are permitted which allows for the circumstance when a constituent came into and out of the index.

What is survivorship bias ??

When trading a portfolio of stocks most people usually select stocks from a certain Universe of stocks. Typically this Universe would be limited to the constituents from an industry group or Global Industry Classification Standard. The problem with these classifications is that they are not static and change over time. Therefore the stocks you select from the list today may not have been included in the list in the past. If you back test your system over a long period of time where the lists have changed then you may have been using under performing stocks that were not included in the lists in the past but are now included today. At the same time, stocks which have been excluded from the lists, today may have been included in the lists in the past but are not factored into the back tests due to survivorship bias.

Running a survivorship bias free backtest.

The SBF Table File is central in creating a survivorship bias free back test using TradeSim. Typically this file consists of a list of stock symbols and their associated date inclusion ranges, which indicates the period of time where the stock was included in the list. An example is shown below.

Once you have this table you can incorporate it into your trade database exploration code as shown by the following example. The code highlighted in red below is all you need to add in order to filter out any survivorship bias.

EntryTrigger := Ref(Cross(MACD(),Mov(MACD(),9,E)),-1); { Entry Trigger }
EntryPrice := OPEN; { Entry Price }
ExitTrigger := Ref(Cross(Mov(MACD(),9,E),MACD()),-1); { Exit Trigger }
ExitPrice := OPEN; { Exit Price }
InitialStop:=0; { No Initial Stop used }
   
ExtFml( "TradeSim.Initialize");  
ExtFml( "TradeSim.ApplySBFTable","C:\TradeSimData\TableFiles\SBF\ASX20\16-JAN-2009_ASX20.tbl",RemoveUnwantedTrades); { Apply the SBF Table File }
ExtFml( "TradeSim.RecordTrades",  
"Survivorship Bias Free Example", { Trade Data Filename }
LONG, { Trade Position Type }
EntryTrigger, { Entry Trigger }
EntryPrice, { Entry Price }
InitialStop, { Optional Initial Stop }
ExitTrigger, { Exit Trigger }
ExitPrice, { Exit Price }
START); { Start Symbol }

You can find out more about survivorship bias free backtesting by reading the following document

TradeSim® is a registered trademark of Compuvision Australia Pty Ltd. Metastock® is a registered trademark of Equis International. Windows® is a registered trademark of Microsoft Corporation.

Copyright © 2000-2010 by Compuvision Australia P/L

ABN 86 006 574 090

Web http://www.compuvision.com.au

Email enquiries@compuvision.com.au

Last Modified on December 27, 2011