So why do you test systems and models? What are you trying to achieve from doing so? The answer to it, is another benefit of automated trading. Another one would be... Let's say you start losing money trading. How would you get back on track to making money again? How would you find/isolate/and correct the cause of the sudden downfall? Objective of the answer is another benefit... There plenty more... but I asked the question first...
Oh yeah, all the benefit of system trading are also benefits of automated trading. I forgot to mention them because I was thinking of the specific benefits of automated trading rather than system trading. Then I would add that by testing your systems, you have these three important advantages: 1) you find out what works, with a set of univocal rules 2) gain the confidence to apply those rules 3) gain the ability to apply those rules since they are clear and univocal But then, in order to avoid problems such as second-guessing those rules (psychological problems) and all the other things we mentioned (ability to physically execute all the trades, monitor all markets, etc.), you also need automated systems.
1. How do you define what works? How do you decide on what works or not? 2. Gain confidence? Please quantify confidence. 3. OK... so you're talking about programming. Hopefully, you're starting to see where I'm trying to lead this discussion...
I trade both auto and manual and doubt I will one day be fully automated. Even If 90 % of my trading was automated, I would place a few manual discretionary trades just to spend time...
I'll try to work in your direction. I hope other more knowledgeable people will help. 1. I decide what works based on the back-testing. The simpler the better. The fewer parameters the better. Then also I want a small drawdown. Overall, I look at Return On Account (I use tradestation). 2. "Quantify confidence"? A lot of confidence. I mean, since it's a psychological factor it is hard to "quantify". But I meant - you go from second-guessing the rules you created, to automation, so that means total confidence. So, if I had to quantify it, I would say 100% confidence. (But I could have replied: define "quantify"). 3. Not only programming but automating which is the next natural step. Your strategy works? Then let it run by itself.
That's what was I was doing in this past year. Then a couple of times a trade went wrong, I didn't close the position, the loss grew larger, I could close it even less (for fear of feeling dumb), and I wiped out my account. It happened twice.
risk distribution/control, scalability, frequency, time criticality, objectivity, workload offloading... to name a few.
- I've never understood the "simple" vs. "complicated" comparison about systems. If it makes money, it's a good system. I tend to see that when people mention "simple" systems, they are usually compromising their lack of knowledge. "Learning a new skill is hard work. I don't want to learn it because I believe in 'simple' systems". - So in another words, you are looking for a system that generates an equity curve that looks good. Obviously, you've done some discretionary trading and "what looks good" is usually not "what is good". In another words, you lack objective measures of what a good system is. There's a few. Examples: - Confidence towards the expected vs. live. This is for both the execution and the system performance. I compare tested result and live result, and calculate the "margin of error". Lower it is, more "confidence" it is. - After a bunch of tests, you develop a model. You then run it through another series of heat tests. A typical and ET notable one would be Monte Carlo... there's a few more I do. Sticking to the MC, if the results are within a higher range of the percentile, I'm more "confident". - All the confidence I gain towards a system is quantified and tested. There's little space for "discretionary" confidence like "looks good". - You keep on mentioning "what works" like how a newbie trader would say, "This trade will work". After reading a series of your posts, I tend see that you are a discretionary trader who compromised to systematic trading, for the sake of compromising. You lack objectivity and rationality. One advice I can give you is to start thinking of the little steps a person takes to make a trade like: Start abstract like: 1. Pick a market. 2. Analyze the market. 3. Decide on direction 4. Decide on size. 5. Send order. Then start going into the details like... 1. Pick a Market. (How do you pick a market?) A. Trading account. Access to which markets. B. Margin requirement. C. Timezone. D. Volatility. E. Correlation. F. Liquidity. etc. etc. Then "try" to think of ways to automates those components of the little steps. And... dig deeper towards making it more detailed. This becomes very important with developing an execution platform. Initially, all the problems you may experience are from the lack of clarity towards the process in which you are trying to execute. Of course, you're also doing all this to isolate your train of thought towards isolating potential problems for exceptions. This is step 1. You need to clarify and dig very deep towards how you trade and even more, think about how you should be trading ideally. You need to think and challenge every little detail of the choices and decisions you make towards trading. Hard work is ahead of you and most of us has gone through it. Good luck.
It applies to me. But you can't do everything (not necessarily because one is "lazy"). So I'd rather do few things well, than a lot of things badly. That is correct. At first it sounded like you were being harsh on me, but it is correct. But maybe it is a little harsh, because I do have Return On Account, and other ratios (from the tradestation report) so I do have some "objective measures of what a good system is". Then I also have a whole year of live trading/testing of the systems. Yes, as I mentioned earlier, I have this data, but I don't keep a record of it (of live trading). Thanks for the info. It seems like a lot of work, but it also seems right, and reasonable. I can't do it right now - not enough time to do it right. I had and still have to discard some things, or else I wouldn't be here right now, because of getting lost in all these details. In Italy we say "doing things better is the enemy of doing things well". If you expect me to do everything perfectly from the start, I won't even get started - I have a father like that (pushing you all the time, until he kills all your efforts). But I can see that what you say is totally right and reasonable. You're being too harsh again (but it could be a proper scolding for others reading). Just because I'm being modest, it doesn't mean that everything I do is wrong. But there is some truth to it - "discretionary trader who compromised to systematic trading". I was forced to give up my discretionary, because emotionally I am not fit to do it. So what's wrong with that - I am an even more motivated systematic trader because I see how advantageous it is. Thanks for the advice, but this part I already knew. But it will be useful for others reading. Done already. Reasonable. Thank you, even though I have already done some of the things you mention. I mean, no matter how bad I may be at programming (by "bad" I mean "basic", not that I do anything in a sloppy way), I've already spent 4 years working on these systems of mine, about 5 hours a day on average, and all these efforts I put into it entitle me to some credit. But I wish we could both find a real "newbie" that we could both reprimand about things we learned, because explaining things also helps us remember them and understand them better. Until then let's keep on lecturing one another.