Building an algorithmic trading plan: Answer these questions

One of the most difficult things to do in algorithmic trading is to come up with a trading methodology that constitutes a real trading plan. In the beginning I made the mistake of under-estimating the complexity and number of questions that have to be answered in order to consider a methodology useful and this triggered several problems that had to be fixed. On today’s post I want to share my experience with you – especially those of you who are new to algorithmic trading – so that you can know if you have a real trading plan or what you need to do if your plan needs to be upgraded in order to be useful. I will talk about the questions that your plan needs to answer as well as provide some insights into what will happen – which I can talk about from experience – if you fail to have clear and concise answers.


A trading plan is basically a methodology that defines a set of rules that will encompass your trading business. Contrary to what many people think a trading plan is not simply knowing when to take positions and how much to risk per position but it should cover all relevant aspects of your trading business. The best way in which you can know if this is the case is to detect whether or not you have answers to any of the questions I will be talking about. If you can answer all of these questions – which by the way are only the most basic questions you can ask – you have something that is solid enough to be considered a trading plan. If you fail to have a good answer to any of them then go back to the drawing board and have a clear answer before you even start putting money on the table — you will thank me later! Let’s start with the questions now.

Do you have a trading strategy with a historically relevant edge? If you want to trade the first thing you must have is a system that has at least a historically proven edge. This means that you have a system that has given historically profitable results above both what is expected from random chance trading and what is expected from the intensiveness of your system searching process. This means that you must have a system that you can say comes from real historical inefficiencies and that has a large enough statistical edge that you consider it worth trading. If you don’t have a historically tested edge which you haven’t evaluated to be relevant outside of statistical bias sources then you should go back to the drawing board. Trading without the expectation of a statistical edge is equal to trading randomly.

Do you have a capped market exposure? All trading plans that hope to survive in the long term must have a capped market exposure. Trading strategies where failure encompasses the entire loss of trading capital is no way to do business and all traders and companies that attempt to operate in this manner all eventually failed. Strategies that attempt to limit badly designed systems to only sections of capital – the typical, trade the martingale on x% of funds then withdraw profits, rinse and repeat – have no sound statistical bias and eventually lead to total losses. Having systems were losses are always limited via sound mechanisms – like stop-loss orders – is a great way in which you can cap your market exposure.


Do you have a statistically based plan to detect when your strategy fails? All strategies are doomed to fail. This is a consequence of the fact that historically plausible scenarios are for all practical purposes infinite while your strategy is based on a fixed amount of empirical observations. Your system will eventually fail – no matter how complex you make it or how much historical data you use – and being able to detect when your system fails and stop trading it is absolutely fundamental to the survival of an algorithmic trading business. Failure detection also needs to be based on solid mathematical principles because otherwise you are bound to declare failure simply based on emotion. There are many ways to detect failure most of them derived from the null hypothesis : my system behaves in real trading as it behaves in back-testing. If you can come up with a statistical hypothesis test that can negate that null hypothesis then you can come up with a plan to detect system failure.

What happens after a system fails? Most traders fail to consider this within their trading plan and this is in fact the main source of failure for most algorithmic trading firms and businesses. You have a trading strategy or set of trading strategies that are working and you have a plan to remove them from trading when they fail but what happens to your trading firm after that? Do you have a way to constantly generate new systems? Can you output systems faster than they are expected to fail? Coming up with new trading systems that have valid historical edges is extremely important for the survival of an algorithmic trading business. If there are no systems beyond your current set of strategies then you lack a real trading plan.

Do you know your potential performance statistics at different time horizons and their probability? A great thing to do when you’re developing a trading methodology is to be able to draw distributions of statistics that are expected for different time horizons. It is very useful to come up with things like expected distributions of Sharpe values and drawdown lengths for different time horizons that you can use to evaluate whether things are working as expected or not. It is often very easy to see a 10 year backtest that’s profitable and declare that things are not looking good because you’re losing after 3 months but closer analysis of statistics – through things like Monte Carlo simulation – can reveal that you’re looking at a rather usual scenario for a 3 months period. It is extremely important for you to know things as how long you need to wait for your long term Sharpe to show within your live trading results (by the way establishing statistics for time horizons will help you to draw statistically defined system failure criteria).


As you can see having a plan is much more complex than simply having a system that you think will yield profitable results in the market. A trading plan requires you to know how to detect when that system fails, how to replace that strategy and how to monitor that strategy through time. An adequate trading plan also requires your strategies to have results that have a very low probability to come from random chance and adequate risk controls. The above is probably the reason why most people who go into automated trading fail, they may lack proper knowledge to adequately assess whether they have a relevant historical edge, lack of knowledge to know when to stop and how to monitor strategy results or – sadly more often than not – inadequate notions of risk control and the use of systems with uncapped market exposures.

If you would like to learn more about how to build a trading methodology and how you too can start trading in a way that covers all the above questions please consider joining, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading in general.



Print Friendly, PDF & Email
You can leave a response, or trackback from your own site.

2 Responses to “Building an algorithmic trading plan: Answer these questions”

  1. JojoW says:

    Hi Daniel,

    Could you please elaborate how do you handle drastic spread increase during swap time (22.00 GMT) or just before market close on Friday?

    Best regards,

    • admin says:

      Hi JojoW,

      Thanks for writing. The best thing you can do to avoid this being a problem is to avoid systems that trade frequently at these times. I prefer to avoid systems that trade at market open/close and systems that trade at 22.00 GMT on symbols that have historically high swap charges. The problem is even worse for systems that have small average profits in pip terms so if you are going to go after systems that trade at these times ensure that your average profit is indeed greater than 5-10x the spread so that even if you’re sometimes underestimating spread charges it’s not going to completely kill performance. If anything you can also simulate at a larger constant spread value if you know that your entries always happen under times of spread widening. Let me know if you have other questions,

      Best regards,


Leave a Reply

internal_server_error <![CDATA[WordPress &rsaquo; Error]]> 500