On my last post we discussed the first step necessary to become a successful algorithmic trader: to get a solid formation in statistics and programming. Once you’re done with this step you will then need to confront the problem of building profitable trading strategies to trade the currency markets. Doing this is no easy task since there are a myriad of things you can do to attempt to build a strategy with an edge. On today’s post I am going to talk about some of the things you will want to consider when deciding how to orient your research into algorithmic trading, we will talk about the different possibilities open to you and how to best pick between all these options.
–
–
Any algorithmic trading setup is based to some extent or another on the use of backtesting (simulations using historical data), so the first thing I urge new algorithmic traders to consider is the level of complexity needed for accurate simulations and whether or not the payoff is worth it. There are tons of things you can do to attempt to build a Forex strategy, you can attempt to build trend following systems on the daily time frame, you can build scalping systems using tick data, you can build machine learning strategies that use order book information, you can use machine learning systems that use data from google or twitter, etc. However obtaining the data and performing accurate simulations is different for each one of these different approaches.
You need to consider how difficult it will be to obtain the data that is necessary to perform accurate historical simulations for the strategies you want to develop. For example you can easily obtain daily data for 10+ different Forex pairs for free going back to 1990. Using this data you can perform accurate simulations of daily trend following strategies with wide stop/profit targets. If you wanted to simulate a 5M scalping strategy you would then need to find tick data to accurately simulate your entries/exits, such tick data is only available from a handful of Forex brokers and the results you obtain will depend heavily on which feed provider you choose. Additionally this data is limited to around 2007 and the computational cost of doing these simulations will be much larger than the cost of doing the daily trend following system simulations.
If you can already find something that is good enough for your desired level of risk adjusted returns using a low level of complexity then it does not make sense to go to greater complexities. In my opinion it only makes sense to go to more complex simulations if the lower levels of complexity cannot fulfill the levels of risk adjusted return that you are aiming for. The problem I see is that most traders do not take the time to really see what profitability can be achieved with low complexity and more often than not new algorithmic traders want to jump into things like scalping and twitter data mining without even attempting to find out whether a much simpler approach could yield the same results. If anything, exploring lower complexity first enables you to establish a baseline of what can be done with “little effort” before you dwell into much more complicated domains.
–
–
It is also important to highlight that going to higher complexity does not necessarily guarantee that you will reach better risk adjusted returns. Going into higher complexity only guarantees that you will go to a more complex searching space – you will have more places where to look – but there is no guarantee that something that wasn’t present on a lower level of complexity will be present when you go to higher complexity. Although your simulations will always become more expensive and your data will become harder to get. Problems that can be ignored within lower complexity, such as slippage on daily timeframe strategies, can in fact become incredibly important at higher complexity levels; to the point where a system turns from profitable to unprofitable simply due to this fact.
My advice in this area is therefore to start from what is the easiest to do and then go into higher complexity levels as the less complex spaces are explored. Start with strategies that you can simulate very accurately, with cheap or free data and where problems like variable spreads, swap rates and slippage have little influence. Starting here will also give you the advantage of being able to do things like measuring data-mining bias very cheaply and gathering large amounts of statistics for your strategies with little effort. The daily dataframe is a good place to start, you have access to very long historical periods, you can search for large number of systems with little effort and you can build strategies without significantly worrying about execution related problems.
If you would like to learn more about my journey in algorithmic trading and how I build and evaluate trading strategies please consider joining Asirikuy.com, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading.
[…] Building Algorithmic Trading Systems for the Forex market. Part 2: Where to look [Mechanical Forex] On my last post we discussed the first step necessary to become a successful algorithmic trader: to get a solid formation in statistics and programming. Once youre done with this step you will then need to confront the problem of building profitable trading strategies to trade the currency markets. Doing this is no easy task since there are a myriad of things you can do to […]