<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How can Walk-Forward testing keep your system a step ahead?</title>
	<atom:link href="http://www.automated-trading-system.com/walk-forward-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.automated-trading-system.com/walk-forward-testing/</link>
	<description>Systematic Trading research and development, with a flavour of Trend Following</description>
	<lastBuildDate>Tue, 07 Feb 2012 09:06:21 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Jez Liberty</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-89</link>
		<dc:creator>Jez Liberty</dc:creator>
		<pubDate>Tue, 05 Oct 2010 08:50:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-89</guid>
		<description>Agree with that point Alex, however the ideal Walk-Forward process would only have one start date for indicator calculation (ie start of the data being tested). For each optimisation cycle, you would look at the performance of all the systems (which started from the beginning of the test) but only for that period of optimisation (ie letting all systems/parameter combinations run in parallel from the beginning and looking at them in separate time-windows (corresponding to the optimisations and out-of-sample phases). You would not reactivate each system for each different cycle. Unfortunately this is what TB does and one reason it is not ideal.</description>
		<content:encoded><![CDATA[<p>Agree with that point Alex, however the ideal Walk-Forward process would only have one start date for indicator calculation (ie start of the data being tested). For each optimisation cycle, you would look at the performance of all the systems (which started from the beginning of the test) but only for that period of optimisation (ie letting all systems/parameter combinations run in parallel from the beginning and looking at them in separate time-windows (corresponding to the optimisations and out-of-sample phases). You would not reactivate each system for each different cycle. Unfortunately this is what TB does and one reason it is not ideal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-88</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Fri, 01 Oct 2010 14:57:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-88</guid>
		<description>With start-date dependency I mean the following: consider a double exponential moving average system; if you start to compute the fast and the slow EMA at a certain date you get some entry and exit signals. If you start to compute on a month later for example, with the same parameter, you get different signals and different results as well. In walk forward analysis you have this problem  every cycle.</description>
		<content:encoded><![CDATA[<p>With start-date dependency I mean the following: consider a double exponential moving average system; if you start to compute the fast and the slow EMA at a certain date you get some entry and exit signals. If you start to compute on a month later for example, with the same parameter, you get different signals and different results as well. In walk forward analysis you have this problem  every cycle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jez Liberty</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-87</link>
		<dc:creator>Jez Liberty</dc:creator>
		<pubDate>Thu, 30 Sep 2010 17:35:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-87</guid>
		<description>Hi Alex - thanks for the comment.
Not 100% sure I understand your question but for walk-forward, I would have a collection of paramter combinations I want the system to run with. All these combinations would run from the start of the back-test and at each interval period their performance would be measured and the best performing ones would be chosen for trading...</description>
		<content:encoded><![CDATA[<p>Hi Alex &#8211; thanks for the comment.<br />
Not 100% sure I understand your question but for walk-forward, I would have a collection of paramter combinations I want the system to run with. All these combinations would run from the start of the back-test and at each interval period their performance would be measured and the best performing ones would be chosen for trading&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-86</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Thu, 30 Sep 2010 14:48:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-86</guid>
		<description>Hi Jez, I like your blog.
Walk forward is intresting but how can you deal with start date dependency? I mean, with a simple EMA cross system, when do you start to compute the fast and slow lag for each cycle?</description>
		<content:encoded><![CDATA[<p>Hi Jez, I like your blog.<br />
Walk forward is intresting but how can you deal with start date dependency? I mean, with a simple EMA cross system, when do you start to compute the fast and slow lag for each cycle?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dew</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-85</link>
		<dc:creator>dew</dc:creator>
		<pubDate>Thu, 29 Jul 2010 00:26:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-85</guid>
		<description>This blog entry helped me finally understand Walk Forward Testing.  The picture alone is worth a thousand words.

Much appreciated.

Also, I referenced this blog post on the NinjaTrader forum</description>
		<content:encoded><![CDATA[<p>This blog entry helped me finally understand Walk Forward Testing.  The picture alone is worth a thousand words.</p>
<p>Much appreciated.</p>
<p>Also, I referenced this blog post on the NinjaTrader forum</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jez</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-84</link>
		<dc:creator>Jez</dc:creator>
		<pubDate>Thu, 12 Nov 2009 17:37:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-84</guid>
		<description>That sounds definitely interesting as I&#039;ll probably move into shorter timeframes at some point. And its always good to hear about problems and solutions to learn the platform..</description>
		<content:encoded><![CDATA[<p>That sounds definitely interesting as I&#8217;ll probably move into shorter timeframes at some point. And its always good to hear about problems and solutions to learn the platform..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-83</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Thu, 12 Nov 2009 14:16:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-83</guid>
		<description>Jez, This is a point in Amibroker that may make one work a little harder in CBT. In regular backtester, Tomasz closes all trades at end of OOS period. There is no carryover. For longer EOD runs this may not be critical. But it plays havoc with shorter periods. Bruce Robinson has work around started using &quot;state&quot; function...but it requires some manipulation.  I may be able to dig up Bruces AFL if you&#039;re interested.</description>
		<content:encoded><![CDATA[<p>Jez, This is a point in Amibroker that may make one work a little harder in CBT. In regular backtester, Tomasz closes all trades at end of OOS period. There is no carryover. For longer EOD runs this may not be critical. But it plays havoc with shorter periods. Bruce Robinson has work around started using &#8220;state&#8221; function&#8230;but it requires some manipulation.  I may be able to dig up Bruces AFL if you&#8217;re interested.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jez</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-82</link>
		<dc:creator>Jez</dc:creator>
		<pubDate>Fri, 06 Nov 2009 17:05:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-82</guid>
		<description>Milk,
I think there are an infinite number of bliss functions...
The bliss function serves the purpose of quantify your trading Nirvana (bliss, nirvana: I am staying in the same theme here...).

The bliss function is your OWN way to rank how well or bad the performance of a system has done - based on your own personal parameters. For example, profit might be proportinally more important to you than drawdowns.. Why not use
(net profit)^2 / Max DD (or 2 * ln(CAR) - ln(MaxDD) ) - ie you put more emphasis on profit
but then you could be more fancy adding more parameters in the equation and possibly some logic:
if CAR &gt; 15% then 2 * ln(CAR) - ln(MaxDD) - ln(Pct. time in market) - 3 * ln(average portfolio heat)
if CAR &lt; 15% then 2 * ln(CAR) - 3 * ln(MaxDD) - ln(Pct. time in market) - 5 * ln(average portfolio heat)
etc.

I find Ed Seykota&#039;s website pretty good (I&#039;ll probably add it to my blogroll) and you could check that link:
http://seykota.com/tribe/faq/2004_Oct/Oct_11/index.htm
look for bliss function - it raises other questions too (ie net profit/Max DD can give you a value of 8 with 4% profit and .5% DD. Is that better than 40% profit and 10% DD?)

But in any case, I am not sure how you could add a predictive element to it - that does not seem to fit its purpose (which is to quantify with one single number how good the back-test results are). Now I think it might be possible to define a robust approach which allows to pick the parameter set that might perform best in the future (ie compare all optimisation runs and their bliss functions but do not necessarily pick the highest number - potentially a spike - but rather a local stable maximum).</description>
		<content:encoded><![CDATA[<p>Milk,<br />
I think there are an infinite number of bliss functions&#8230;<br />
The bliss function serves the purpose of quantify your trading Nirvana (bliss, nirvana: I am staying in the same theme here&#8230;).</p>
<p>The bliss function is your OWN way to rank how well or bad the performance of a system has done &#8211; based on your own personal parameters. For example, profit might be proportinally more important to you than drawdowns.. Why not use<br />
(net profit)^2 / Max DD (or 2 * ln(CAR) &#8211; ln(MaxDD) ) &#8211; ie you put more emphasis on profit<br />
but then you could be more fancy adding more parameters in the equation and possibly some logic:<br />
if CAR &gt; 15% then 2 * ln(CAR) &#8211; ln(MaxDD) &#8211; ln(Pct. time in market) &#8211; 3 * ln(average portfolio heat)<br />
if CAR &lt; 15% then 2 * ln(CAR) &#8211; 3 * ln(MaxDD) &#8211; ln(Pct. time in market) &#8211; 5 * ln(average portfolio heat)<br />
etc.</p>
<p>I find Ed Seykota&#039;s website pretty good (I&#039;ll probably add it to my blogroll) and you could check that link:<br />
<a href="http://seykota.com/tribe/faq/2004_Oct/Oct_11/index.htm" rel="nofollow">http://seykota.com/tribe/faq/2004_Oct/Oct_11/index.htm</a><br />
look for bliss function &#8211; it raises other questions too (ie net profit/Max DD can give you a value of 8 with 4% profit and .5% DD. Is that better than 40% profit and 10% DD?)</p>
<p>But in any case, I am not sure how you could add a predictive element to it &#8211; that does not seem to fit its purpose (which is to quantify with one single number how good the back-test results are). Now I think it might be possible to define a robust approach which allows to pick the parameter set that might perform best in the future (ie compare all optimisation runs and their bliss functions but do not necessarily pick the highest number &#8211; potentially a spike &#8211; but rather a local stable maximum).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Milktrader</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-81</link>
		<dc:creator>Milktrader</dc:creator>
		<pubDate>Fri, 06 Nov 2009 16:03:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-81</guid>
		<description>Yes, objective = fitness = bliss function. It is the arbiter of best parameters. And I would suggest they are predictive of the robustness of a system. We probably would doubt the value of Net Profit as a good judge of best parameters. Net Profit/ Max Drawdown is better. What is better than that?


Perhaps, and this is just a thought, there is a way to measure how well a fitness function picks the best parameter set.
Perhaps th</description>
		<content:encoded><![CDATA[<p>Yes, objective = fitness = bliss function. It is the arbiter of best parameters. And I would suggest they are predictive of the robustness of a system. We probably would doubt the value of Net Profit as a good judge of best parameters. Net Profit/ Max Drawdown is better. What is better than that?</p>
<p>Perhaps, and this is just a thought, there is a way to measure how well a fitness function picks the best parameter set.<br />
Perhaps th</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jez</title>
		<link>http://www.automated-trading-system.com/walk-forward-testing/comment-page-1/#comment-80</link>
		<dc:creator>Jez</dc:creator>
		<pubDate>Fri, 06 Nov 2009 09:50:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.automated-trading-system.com/?p=671#comment-80</guid>
		<description>That point about comparing perfect profit with the system performance (equity) would be one interesting way of answering the question &quot;Is the system not performing any more or are the markets not offering any opportunities?&quot; (ie if performance is not good but perfect profit stays good, the system might have an issue)

Regarding the metric for the effectiveness of a fitness function (I take it you mean objective/bliss function) - I am not convinced this is a valid approach as I dont see the objective function&#039;s role to have any &quot;predictive&quot; power (i.e. it should just be a way to express the overall performance of a system under your ideal criteria). Although I see your point that this is the input used to select which parameter set are carried forward (and therefore some sort of predictability value might be useful)...

Or maybe I mis-understood your point: would you have an objective function as the output metric and a fitness function trained (by neural nets) to determine the best predictability between the optimisation and verification test (ie the fitness function would be used to work out the best/most robust parameter set between optimisation and walk-forward back-test, ie where the ratio of objective functions are most constant and ideally fairly high). This sounds a bit complicated.

I am not so keen on neural networks anyway (black-box approach vs KISS, etc.)</description>
		<content:encoded><![CDATA[<p>That point about comparing perfect profit with the system performance (equity) would be one interesting way of answering the question &#8220;Is the system not performing any more or are the markets not offering any opportunities?&#8221; (ie if performance is not good but perfect profit stays good, the system might have an issue)</p>
<p>Regarding the metric for the effectiveness of a fitness function (I take it you mean objective/bliss function) &#8211; I am not convinced this is a valid approach as I dont see the objective function&#8217;s role to have any &#8220;predictive&#8221; power (i.e. it should just be a way to express the overall performance of a system under your ideal criteria). Although I see your point that this is the input used to select which parameter set are carried forward (and therefore some sort of predictability value might be useful)&#8230;</p>
<p>Or maybe I mis-understood your point: would you have an objective function as the output metric and a fitness function trained (by neural nets) to determine the best predictability between the optimisation and verification test (ie the fitness function would be used to work out the best/most robust parameter set between optimisation and walk-forward back-test, ie where the ratio of objective functions are most constant and ideally fairly high). This sounds a bit complicated.</p>
<p>I am not so keen on neural networks anyway (black-box approach vs KISS, etc.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

