Trading System 101 – Part 1
Before you can create a trading system that you can trade in real life, you need to understand a lot of basic things about trading system. If you are willing to spend some time understanding the basics, it will likely save you a lot of time and energy from being wasted on dead end designs and coding.
Trading systems usually compose of the following parts,
1. signal generation
2. signal filters
3. order generation and placement
4. position management
No matter how complex a system is, you will always design your system around these basic concepts. It is good to think of your system in an abstract way, like a road map, so that you will not be lost after working on your design for a long period of time.
Beginner’s Mistake – Wasting Too Much Time on a Single Signal
Lets start by talking about signal generation.
Most beginenrs spend all of their time on signal generation. That makes perfect sense, afterall, you notice this little chart pattern seems very promising. Next thing you know, you are spending hours and hours of coding to fine tune a system that trades this pattern. You started to add more and more parameters to fine tune the pattern or setup, whatever you like to call that, so that your system will give you a 90% winners.
The bottom line is, that 90% winner with all those “fine tuning” parameters is not likely what you originally perceived. In short, you are lost in your code and you are still thinking that you are working on the original idea.
So wasting all the energy in such exercise will probably do you some good, right? Maybe, like your typing skill 🙂
You will learn a thing or two from all the hard work, right? Not necessary.
This type of hardwork used to be a privilege for the research workers. Not everyone can work so hard and then objectively, and unemotionally, reject their own insight based on the cold hard facts they obtained through the process. The facts you will obtain are the system results – the details of the system on how it behave. If your original premises is wrong, it is not likely to get you anywhere.
So the first advise to newcomers in trading system development, keep an open mind when you are just trying out new ideas. Objectively evaluate the performance of the idea to see if it has real potential. If not, then no matter how much time you have invested in that, move on. Your goal is to make money with a good system, not twisting blots and nuts on something that you just cannot get it working.
Just like the old saying in trading – do not marry to your position!
What is a Good Approach to Signal Discovery?
As a principle, do not over design your signal, it should represent a concept that you can understand both logically and for many, visually. Otherwise, you will not be able to tell if the signal is generated correctly. Remember that a clean concept of a signal does not automatically translate to simple coding. Some concept can be easily understood and very clear in terms of concept, but the implementation could be very complicated. As a beginner, it is best to start by building classic systems to gain some hand-on experience first, before getting into the more complicated issues of signal design.
A well known common mistake made by many beginners is attempting to build a system without first clearly identify the correctness of signals generated by their code.
To implement a signal separately is very easy – all you have to do is to write it out as an indicator returning only 0 and 1 values, where 0 means nothing happen, and 1, for a signal being generated. Then you can plug this indicator into one of the built-in highlight indicators to show where on the price series that the signals have happened.
You can then check out each and every one of the signal to confirm the correctness of your signal generation code. Yes, it is a very tedious job. But you have to do it so that you know it is exactly what you think it should be. Without this step, if the signal generated by your code is not really what you want, then it will be many times harder to figure out from the more complicated trading system on where the problem lies.
During this investigative period if you are interested to see how the signal may perform, then plug the signal indicator into Backtest EZ, or, the Distribution Plot indicator. In either case, you will be able to take a glimpse of the possible performance of the signal you’ve created. If the signal has any fundamental bias in its post signal price distribution, you should be able to spot that now. That saves you time and energy from adding all the bells and whistles of a trading system onto the signal code while you are not sure if it really holds any promises.
Don’t just read, practice makes perfect!
If you are interested in learning to write trading system, do not just sit there. Get your hands dirty and start working on simple ideas now. You do not need to be a programming genius to create good trading system. Many great trading systems are very simple and can be expressed easily in NeoTicker’s formula language. Take your time to experiment – try out some example systems already provided with NeoTicker! You will discover a whole new world of trading insights that you will not be able to gain from just reading books or charts.