Hope everyone is having a great 2022 so far. I've typically traded over longer timeframe (swing trading to investing timeframes) but have recently caught the algorithmic trading bug (again). It has always been a side goal of being able to develop something more automated - on shorter timeframes. In the past, I've had a hard time developing a tradable system. Common issues include: (a) They don't have positive expectancy (b) Even when they have positive expectancy they don't have a tradable equity curve, e.g., i - Deep drawdowns or long multi-year valleys ii - too few trades to be statistically significant iii - Miniscule avg trades And so on. About a year back, I had an hypothesis/idea that I thought was worth exploring. After some time evaluating the idea - exploring stats of underlying price movement - I developed a system and have been back-testing. Here are results from an out of sample backtest of about a year across basket of stocks: Out of Sample Results (~12 month window) Annualized return: 41% Winning Trades:846 (69.63%), Losing Trades:369, 30.37% Avg($)*:43.492, AvgWin($):75.470, AvgLoss($):-29.825 Avg(R)**:1.083, AvgWin(R):1.881, AvgLoss(R):-0.747 * Assumes $2.5 of friction (including costs and slippage) per trade ** Measured in terms of unit of risk taken on each trade. Some more context: > Intraday - can be ~10min to all day > Not about chart patterns, i.e., doesn't look at 1/5/10 min bars etc. It looks for price movement characteristics in the context of recent price, broad market regime, etc. > Trades stocks that have 1M+ avg daily volume > Average ~200 shares per trade; obviously backtesting results scale w/ number of shares with I've kept trade size low. > Long and short > Avoids first 20-30 min to avoid high spreads/slippage. Avoids last 30 min. > There are probably ~2 direct input parameters but likely 5-7 parameters if I include stock selection, position sizing, etc. (cause for concern re: over-fitting) > ~1-2% account risk per position. Stop losses always in place. Conservative position sizing. > No margin (except for shorts obviously) I've tried several out of sample periods (including 2020 COVID correction/rally) and results are fairly consistent. Next I'm going to trade paper real-time through API . Obviously nothing beats putting this live in the market (especially since there are enough trades, i would know relatively soon before losing too much capital if this works)...BUT.... best to learn from others' experience. So... would appreciate any help/guidance on: a. Is the ~$43 avg trade too low for what costs + slippage might actually be? Recall, avoids first 20-30 min, vol >1M, 200 shares trade. b. Especially on shorts, is this likely? c. What else am I missing? This will not scale infinitely but I'm just looking to deploy some capital if it is robust. I am quite risk averse and skeptical so I am quite sure this will deteriorate significantly in real performance. Given the results, I'm worry about over-fitting a fair bit. I haven't traded intraday so new territory for me. Thoughts and guidance welcome. Thanks all.
Interactive Brokers' paper-trading is quite realistic. I have run both paper and real, through the API, at the same time (stocks, intra-day, > 750K avg. vol.). Averages out to no significant difference. If it works, it works.
Thanks. Agree. F vs. AMZN is a big difference. Just so I understand your push...here is more context: The system doesn't look to buy 200 shares outright but rather it looks to buy equal risk units (solving for no more than 1-2% of account equity). Over thousands of trades during backtest periods the average was actually closer to ~100 / share. But I recently increased the exposure/risk factors so now it would average closer to 200/share. Sometimes more. Let me know if that is aligned with what you were saying or if I should think about it differently.
You can, of course, test this for yourself. They are not identical but they do average out. It's pretty clear that they put your paper-trade on the queue (or a parallel queue) and you get the price that comes up at your place in the queue. If I have to wait five minutes for a fill, it's five minutes on both accounts. As a side note; In the middle of a slow volume day, I have had to wait up to one-half hour to get a short filled. I've done this quite a bit over the years when a system first goes live or I make changes. I can't imagine trading a system that I don't first run on IBs paper-trading account. Never had a problem. If you can't make money on the paper-trading account, don't trade for real. Keep in mind that the demo account is not the same as the paper-trading account. I only trade stocks, intra-day, avg vol > 750K. All just my opinion. Wish all the best.
I don't know the nature of your method but it is wise to also test a more gradually bearmarket (opposed to the 2020 correction). Especially if you use options volatility can have a far more different impact. And offcourse realistic spread-costs, if not mentioned already.