...writing great code so you don't have to


Package:  Diamond Backtesting with Walk-Forward Manager (BTWFMgr)

Diamond Backtesting with Walk-Forward Manager (BTWFMgr) offers the most advanced human interface available anywhere for defining, executing, summarizing, and visualizing complex sets of multiple walk-forward analyses.

The level of organization and insight this program offers into both In-Sample and Out-Of-Sample performance is truly impressive.

And, as icing on the cake, it's all available for your original full-period TradeStation, MultiCharts or AmiBroker raw optimization results as well!

CodeForTraders is pleased to offer Burkhard Eichberger's Diamond Backtesting with Walk Forward Manager as an outstanding WFA solution for all TradeStation, MultiCharts, and AmiBroker users.

What It Does

As a starting point, keep in mind that a single Walk-Forward Analysis (WFA) looks like this:

Got that?   OK, now get ready for warp speed ...

BTWFMgr anticipates the technician's need to define and run large sets of WFA's using differing IS and OOS periods in order to help find a robust re-optimization interval for any given strategy.

Unlike some other products, BTWFMgr doesn't merely take a single IS/OOS period definition and then run a single WFA.

Instead, BTWFMgr flexibly and easily lets the user define many candidate periods (storing the definitions in a period library), and then lets the user build a higher-level library of named multi-WFA sequences.

To run a test, the user chooses a WFA sequence, a Filter and a Sort.   One run of BTWFMgr is a combination of these 3 concepts executed together as a whole.

This is actually only one of quite a few complex testing, analysis and visualization operations that BTWFMgr can do.

What It Looks Like (WFA Setup)

Here's the 3-way combination choice dialog:

Observe  the 3 primary sections:
  1. Filter
  2. Sort
  3. Walkforward Periods

Together with some checkable options, these together create a BTWFMgr WFA setup.

In the case shown, we have 24 Filter variations, 4 Sort variations, and 9 Period variations to create an 864 variation WFO test (24x4x9 = 864) 

Yes, that's 864 separate WFO tests (ala the first picture above) that will be performed when the Start button is clicked.




What are those 9 periods (in this case)?  Let's have a look:

On the right-hand side we see the 9 entries in the 'List of selected Period Setups'.

bullet 4 weeks IS  ->   1 week OOS
bullet 5 weeks IS  ->   1 week OOS
bullet etc.

On the left-hand side we see the library of such definitions.  You can add all the definitions you want to the library, and you can use any/all of the definitions from the library in a particular WFA sequence.

Period definitions are allowable in days, weeks, or Runs/Pct, making them very flexible.

The Runs/Pct form of definition is a way of dividing up all the data-under-test in equal divisions, regardless of the total length.

For example, 10 runs by 20 percent (per run), divides all the data into 10 chunks, and does an 80/20% IS/OOS WFO on each block.

Below is a table in Excel, generated by the 'View actual Periods (for current data)' button, which shows just such a definition for data running form 12/31/2007 to 1/30/2009.


Filters and Sorts also have their own interfaces for creating named definitions and saving them in libraries:

The Filters and Sorts relate to fitness, and choosing the most desirable WFA results for further study and possible final choice to trade.  Filters let you rule out (eliminate) results that don't meet with your desired criteria (e.g. too few trades, PF too low, too many max losers in a row, etc.). 

Sorts perform ranking on the results that are left after the filter.  Another phrase for Sorts is "fitness ranking".  There are many ways to Sort (a virtually infinite set of definitions), and testing different ways to sort is a key advantage in discovering great WF trading setups.  IOW, the ubiquitous NetProfit statistic may not be the best way to rank optimized results for robustness out-of-sample.  BTWFMgr anticipates and meets the need for flexibility in fitness!

What It Looks Like (Results Display)

So far, we've only discussed (some of) the setup side of the program  BTWFMgr also shines on the output side, with extensive graphing, reporting, and Excel integration capabilities.

To begin with, BTWFMgr offers a highly organized, superior graphical interface to normal optimization results as initially generated during optimization in your platform (TradeStation, MultiCharts, or AmiBroker).

Many viewpoints are provided into the platform's "across all data" optimization performance, which is run prior to handing off the walk-forward chores to BTWFMgr itself.  You might be interested in the iterations with the Max Equity (of course!), or the lowest Avg Drawdown, or the highest Probability, etc.  The top-performers in each category are readily accessible (with the lesser performers grouped a level down).  All it takes is a click on an iteration to show its equity curve.  You can click your way thru the categories of interest very quickly.

If you want to really drill-in, you can view the course of every single trade that made up the equity curve:

Trades and their stats are directly exportable to Excel for those who want to do further "number crunching" or spreadsheet archiving on their own.

 Back up at the top level, there is even more.

Graphs are available to show you the effect on performance (across all the iterations) of every separate parameter of your strategy.

This kind of information can be extremely valuable in helping you to save time on future optimizations.  Take the example above.  The graph shows us definitively that there is little point in doing future optimizations on ResetLvlChoice.  It should simply be fixed at 2 (for this market and timeframe).  By doing this, you make all your future optimizations only 25% of the size they would have been, which allows you to process them 4 times faster.

Further, complete seasonality information for your strategy (performance by Day of Week, Time of Day, Month of Year) is automatically generated for each run:

No other package that we know of even comes close to this level of output analysis and presentation.

Then, once you have chosen a Filter/Sort/Period combination and allowed BTWFMgr to run the WFOs, you will have detailed information available for the the stitched-together OOS equity curves which result from the WFA.

At this point, this is not merely the info on runs of your strategy, this is info on walk-forward runs of your strategy.

Here we see walk-forward equity curves chosen from the high-sorting equity and probability iterations.

With the provided graphs, we can see at a glance which walk-forward Filters, Sorts and Periods performed for the market/strategy/timeframe combination:

BTWFMgr doesn't just leave you to find walk-forward setup (Filter/Sort/Period) in a haystack by hunting-and-pecking.  BTWFMgr tests for you all the possible setups you are interested in (per your own definitions/requirements) and gives you brilliantly organized "very best" and "near best" information that you can decide and act upon in short order.

By now you should be starting to get the picture.  BTWFMgr testing is so far beyond simple platform backtesting that traders with this information and traders without it are not even on the same playing field.

Other Elements of Note

BTWFMgr is very fast.  After a single pass of optimizing your strategy inside of your platform, all the necessary raw information is exported and  BTWFMgr's subsequent WFA is done completely externally at compiled language speed.

BTWFMgr has a special "Strategy Potential Analysis" mode which can be used to evaluate your strategy's entries before any exit rules are built in.  Why waste time and energy optimizing exits if your entries are terrible to begin with?!  (Note:  Currently, potential mode is available only in TradeStation and MultiCharts versions.)

Indeed, BTWFMgr introduces an innovative (but completely optional) strategy development lifecycle testing model that is logical, effective, and unlike anything you've seen elsewhere. 

Here's a list of specific features (too many to describe every one in detail here!):

bullet Fully automated advanced Walk Forward Algorithm
providing you with realistic backtesting results, instead of the usual curve fitting unrealistic results
saving you hours and days of hard manual labor, displays results ar 3D View or spreadsheet Matrix.
bullet Advanced visual Strategy Input Parameter Analysis
providing you with a detailed visual analysis of the effect of EACH strategy input parameter variations on the overall result
bullet 3D + 2D visual Strategy Input Parameter Analysis
providing you with a 3D visual analysis of the effect of two strategy input parameters variations on the overall result
bullet Powerful & innovative Trading Strategy Potential Analysis and Optimization
allows you to detect the maximum trading opportunities and parameter optimums - using ONLY ENTRY POINTS before you develop the exit logic in your strategy.  (Note:  Currently, potential mode is available only in TradeStation and MultiCharts versions.)
bullet New Trading Probability Map
allows you to detect the maximum probability areas - using 3 profit levels and ONLY ENTRY POINTS
bullet Identify the best Weekdays and Intraday entry times
allows you detect the best (and worst) intraday entry times and weekdays for long, short and overall performance
bullet Strategy Position Exit Algorithm Optimization (using advanced integrated Position Exit Manager)
providing you with the best Position Exit Definition - an advanced algorithm combining several position exit functions like:
exponential/linear Target, StopOut, Trailing, breakeven etc.
All operating at a lightning speed of around 100,000 tests per second (which would take TradeStation days)
bullet Time and Weekday Analysis
track which weekdays and intraday times are the best for long/short or overall trading
bullet Trading Frequency Analysis
track how many trades occur on a monthly, weekly, daily or based on any of the parameters
bullet Visual Multi Timeframe/Symbol Analysis - Result Overview Module
Detect the best performance from your symbol/timeframes with backtests sorted by Probability%, Yearly, PerTrdAvg or PeakAvg$
bullet Visual Profit/Loss Distribution Analysis
showing average, best and worst positions profit/loss
bullet Visual Permutation Results Distribution Analysis
showing how equity, drawdown, probability etc. is distributed across all trading permutations, detecting outliers easily.
bullet Detect the lowest Volatility
Find least nerve-wracking performance but with similar ending equity runs, using the integrated volatility analysis and smart ranking
bullet Export the results to a Microsoft Access Database (MDB)
allowing you any advanced SQL queries and reports - to detect the best results
bullet Correlate Context Values with best Potential
You can add any variable in Potential Mode to the backtesting, so you can detect any correlation between context variable range(s) and favorable potential results (Note:  Currently, potential mode is available only in TradeStation and MultiCharts versions.)
bullet Instant Position Viewing + Excursions
View the actual charts of each Position Entry, Exit and Risk/Reward excursion instantly
bullet Advanced Strategy Performance Ranking
providing you with the a customizable powerful hybrid of Strategy result elements:
4x Equity AND 2xDownDraw AND 2xProfitFactor etc.
bullet Advanced Strategy Context Variables Analysis
detects potential connections between best results and certain value ranges of any variable
bullet Instant Position Viewing
provides you - with a mouse click - with the actual charts of each Position Entry, Exit and Risk/Reward excursion instantly, so you can evaluate also visually all entries and their performance - instead of using the cumbersome scrolling in the charts
bullet You can merge results from different markets/symbols into one new comprehensive result/graph
bullet Even Optimize the your Walk Forward Filter and Sort Parameter, selecting the best result for the out-of-sample test
bullet Accumulate automatically all the Walk Forward out of sample results into one comprehensive continuous result spreadsheet
bullet Export any result to the valign="baseline"advanced Performance Analyzervalign="baseline" for in depth analysis by TimeOfDay, Weekday etc. 
bullet Automated modification of your EasyLanguage Strategy Codevalign="baseline", so you don't have to be familiar with EasyLanguge
bullet Export permutation statistics to a spreadsheet, for your custom analysis and sorting

What You Get

For each permanent license purchased, a permanent ability to operate BTWFMgr on up to 3 designated computers.

Additional Notes

Currently, potential mode operates correctly only in TradeStation and MultiCharts versions.

When used with AmiBroker, BTWFMgr expects your computer to be set to US or UK time format.  If you do not and cannot set your computer to US or UK time format, please inquire before ordering, as a custom solution may be possible for a small additional fee.

When used with AmiBroker, BTWFMgr expects your Intraday time stamp preference to be set to 'START time of interval'.

BTWFMgr for MC is compatible with the 32-bit version of the MultiCharts program.  It is not compatible with the 64-bit version of the MultiCharts program.

What It Costs

Single user, permanent licenses are now only $599, and allow operation on up to 3 computers permanently.  This is certainly the best, most cost-effective purchase plan ever offered.  Considered over a 6 year period, the monthly cost is only $8.33 per month, for this highly advanced software.  Developed for you over the course of 6+ years (2004 - 2010), BTWFMgr is able to save you many thousands of dollars by helping you to avoid unnecessary trading losses.

So, for a cost that is likely less than your monthly commissions,  you gain access to a tool that provides you serious walk-forward strategy testing which is leaps and bounds beyond your market competition (unless they are using this tool also).

How is that for a lovely Risk/Reward ratio?!  At this offering price, there is simply no rational reason to forego the advantages that WFA provides.    Remember, these are the financial markets we analyzing here - what you don't know will hurt you! 

Why Purchase Through CodeForTraders?

CFT has many trading system products which are perfect candidates for the WFA delivered by BTWFMgr.  We'd like to get you up and running with everything you'll need to do market research that is far more advanced than you've ever done before.

As our "Thank You" for your order of BTWFMgr thru CFT, you may choose any 2 other CFT products and receive 50% off on the second (least expensive) of the two*.  This offer is good for up to 30 days after your BTWFMgr purchase.  When you are ready to choose, email with your intended selections and we'll send you payment instructions.

* offer applies once per  each BTWFMgr license purchased, cannot be combined with any other special offer

How You Get It

CFT continues to endorse BTWFMgr, but we no longer sell it directly.  Please get further information about BTFMgr from    If you have questions, please inquire of the package author, Burkhard Eichberger, at   Thanks!