This week has been the start of a new journey for me and my financial trading. This week I have began to look deeper into the world of automation.
Up to this point…
For nearly 4 years I have taken the route of a rule based trader. From the time my trading coach first introduced me to the idea of a set of rules for entries, stop losses and exits I have been developing, testing and trading these strategies or systems ever since. Prior to that, I spent a few years as a more discretionary based trader switching from idea to idea and never having much success.
Rule based or system trading really suits me.
The world of back-testing
Something I love about being a system trader is the ability to see “how it would have worked” in the past using historical data and price charts. The methods of correct back-testing are probably enough to fill a book so I won’t go into that in much detail here. But for me and the systems I was testing, a simple back-testing method is what I used.
I tested systems with only a few rules. I generally only used 2 timeframes; Daily and Weekly. Everything was done 100% manually. What this means is I would inspect the price charts day by day looking for the particular entry setup and then note it down. Same for the exits.
I created a ton of custom spreadsheets to record each and every trade. I did this for many different systems across many different markets. To say it was time consuming was an understatement. But, funnily enough I actually enjoyed it!
I think it was the reward I enjoyed much more than the process. I would be fascinated by the outcomes of the back-testing to see how much money “I could have made” (or lost) with each different system.
Years later, hundreds of hours in front of charts and spreadsheets brings me to where I am today.
Still not satisfied
I have managed to build up a collection or database of a number systems that work for me. I have thrown out many, many more.
These systems work across the timeframes and markets that are suitable for me and fit my trading beliefs. I have confidence to trade these systems, largely due to the hours of testing them for myself and getting positive results.
But I want more. Whether it’s a problem or not I’m not sure. But I constantly want to improve my trading results. This means constant development and testing of new systems in search of better performance.
I’ve known it for some time and briefly dabbled with areas of automated back-testing purely to speed things up and explore many more systems.
Rather than search through charts visually looking for trades and entering each price into the spreadsheet, I managed to teach myself enough Excel skills to semi-automate part of the testing. I was able to download a file with historical daily data for individual markets which I would copy and paste into my spreadsheet. The programmed cells took care of the testing and I successfully managed to test a system in a fraction of the time it would’ve taken me to do it manually.
But that was a very simple system and there were many more limitations. By the way, the results from that system weren’t great. Not good enough to want to trade anyway! But it took less time to come to that conclusion than if I had manually tested the system.
Testing software would be the next route to go down. I had been delaying exploring testing software I suppose because it would be completely new to me and I’d need to invest a lot of time to learn to use the software before I could even start some real tests.
The time has come
Armed with a solid understanding of how to properly back-test I have decided I to invest in some testing software.
I am currently right in the middle of researching different software. I have taken a break to write this post. But as of today I will list the advantages and disadvantages of using automated testing software:
- MASSIVE time saver
- Ability to explore many new ideas including intra-day trading
- Ability to automate trade execution using the code created to perform the testing
- Price of software, data etc..
- I have to learn the code, testing language
From this small list it seems quite obvious that I should invest some money and time into the new software. Besides, once I’ve learnt how to code and use the software the time it will save over testing manually will be huge. Not to mention the additional capabilities.
Trade automation is something I had never really considered until quite recently. I have always designed my trading systems so that I was able to trade them with minimal time. All of the systems I currently trade FOREX with are dealt with at the end of the day and take about 15 minutes of my time each evening.
It’s about lifestyle. I have always said (although I realise things could change in the future) that I didn’t want to be a day trader sat at my screen for hours each day. This is the reason for having a rule-based system approach to my trading and being able to place trades at the end of the day.
There are advantages of day trading in terms of profits. Although I believe being able to build new systems based on intra-day timeframes would give me some of those advantages too.
But I don’t want to be at the screen placing the trades. This is where the automation comes into play. Once I have coded the system rules into the software, the software can then place the trades for me automatically. Sounds good right?
From what I gather, there are a couple of choices of testing software. The first is software which just has backtesting capabilities. The second is software which has far better backtesting capabilities and the ability to place trades automatically.
I’m currently only considering the second type. Because the automatic trade execution has become extremely appealing.
However I am now faced with quite a few more decisions to make. I also need to address the following hurdles before I can start testing and trading with automatic execution:
- Which backtesting/automated software to choose? Multicharts is looking like the choice right now
- Once I have the software it needs a Data feed. This is an additional cost and comes from a different source
- I will then need to use a new broker. A broker which accepts orders triggered by the software. My current broker is not compatible
- The software, Multicharts in this case is a Windows only program. I am a Mac user so need to either load Windows on my Mac or purchase a new Windows based computer
- Once I have systems in place on the software, a data feed and a broker to accept the orders I need to have a computer connected to the data feed and broker permanently. Most people use something called a VPS. A type of cloud based server on which you run your software etc.
So I still have a lot to consider and pieces of the puzzle to put together before I can move forward.
This post is the first part of many following my progression towards automated trading. If it’s something that interests you look out for future posts. If you have any questions or just want to chat about the subject then feel free to email me firstname.lastname@example.org