No bs. Just my honest opinion on how to develop profitable trading strategies..
- First, decide and collect the data you think necessary to find a trading signal(s), statistical edge or mispricing of whatever your desired trading vehicle may be. Then you must cleanse the data and make sure there are no errors and it is consistent from the first tick collected to the last. This is arguably the most crucial stage and most overlooked. A misstep here can cause you to find an edge that may not exist and will cause many Type 1 errors (false rejection of null hypothesis). That is, you’ll take a signal/trade thinking you have an edge when you actually do not! This results in costly mistakes, losing trades and essentially trading at random, depleting your account.
Transforms and Auxiliary Data
- Second, using only OHLC price data or raw volume data is extremely difficult. The market is extremely “efficient” with so much computing power hunting for the same edge. It is trivial in a sense because so many traders look at it and most of the edges are nonexistent and/or quickly fleeting. Furthermore, any beginner trader or quant can tell you how price data is not normally distributed or stationary. Applying transforms to the data, specifically a nonlinear transform, can help aid in your search for a tradable signal or edge. A simple example is analyzing first differences or taking the log of OHLC data. Furthermore, adding auxiliary data or relational data can greatly assist in filtering out inopportune trading times as well as finding optimal entries and exits.
Test and Monitor Performance Results
- Numerous books have been written on this section. I will not attempt to explain back testing pitfalls, best practices, etc. However, after finding a signal, this step is critical. If the signal performs well, i.e. good risk reward, profits, drawdown characteristics, Sharpe ratio, etc. then it passes the initial “test”. The back test results must be kept for future reference as these results will provide direction once live trading begins (explained later). Further and forward testing such as, Monte Carlo simulations, walk-forward analysis, cross-validation, etc. are more advanced, but can be critical to system failure. I cannot begin to explain them all in one blog post, but I may do individual blog posts on each if time permitted.
Filtering (Needs A Better Name, I know)
- This post-testing analysis can greatly increase your system’s efficiency. However, if done too much, one flirts with the thin line that is overfitting. For example, if you test your basic signal, called X for now, and notice that all the trades taken with a special technical indicator below a certain threshold amount lose then it may be wise to remove those trades. Refine your signal to X, except when indicator is < k. Repeat step 3 and retest. Careful here as repeating steps 3 and 4 ad infinitum will surely cause overfitting and future (live) performance failure.
Monitor Real Trading
- Once you’ve found a system/signal you’re comfortable with and begin live trading it, how do you know if it is still a valid signal? When it experiences its first INEVITABLE drawdown when do you pull the plug? One must track the live performance and compare to the back test results from step 3. For example, many traders use some rule of thumb that would turn off live trading if live trading’s drawdown is x% of the back test’s Monte Carlo drawdown. Other reasons to turn off live trading could be a market regime change or fundamental shift. For example, if you built a trend following model, but the market has become mean reverting due to geo-political instability (ala US equities in 2015) then a pause in live trading may be best advised; or better yet, change to a mean reverting system or allocate more capital to the already existing mean reverting strategy in your portfolio of systems. However, it is best to make these decisions with numbers and quantify the decision PRIOR to going live with any model. This way you can avoid personal input and emotions when under fire.
PS.. if trading a portfolio of strategies there would need to be an additional step before live trading checking for covariance, correlation, VaR, etc. for how the system interacts with your current portfolio of strategies. Which strategy does it replace, does it replace any, what is too correlated, does it reduce risk or add to it could all be questions discussed in a future blog post or two.
Thanks for reading this long post – hope it was worth it.