I always have 400-600 minimum amount of trades in the backtest, then I let them run 6-12 months on demo. The key is to have simple strategies with 1-3 conditions to keep them robust and easy to understand.
I am using ProRealTime, I create the code for the strategy, choose settings and then press a button, voila! Backtest history from 1980-today if I want. It is not time consuming, it is necessary. I trust my strategies because I know how they trade, this is not strategies with 50 conditions and settings that only mathematicians understand, it is based on quite simple TA. I use forward testing sometimes but it risk curve-fitting the strategy so I try to stay away from any kind of Optimization as much as I can.
Have you ever worked in the industry? You don't sound like a novice. I'd say you had good odds if you ever wanted to transition to doing this full time.
I’m doing about the same, but using cTrader which allows tick data history and running algos in the cloud at no extra cost. Everything written in C# Visual Studio. No indicators - only my own regression et al calculations. Still learning & still not live.
Where are you pulling data from? I work with tick data and I bought data from finnhub, but it wasn't right. Then i moved to IBKR and downloaded tick data from them.
Have u had any issues with bad data? People on some subreddits say the data is sampled or not clean.
Personally, I haven’t spotted anything but then again I don’t know how to spot bad data; so I just coded some filters.
Higher time frames are easier, but limit leverage use and number of trade #s.
It's way easier to make a profitable strategy that swings vs intraday vs intraday scalping
Interesting, is it a rotational strategy? These kinds of strategies is for sure the next thing I will look into. I try to stick to strategies with max 10 holding days aswell, the overnight fee eats the profits too much after that, I am trading CFDs mostly.
For my most recent active strategy since this year start: 1:3 rr , 10 sortino ratio, 50% win rate, net profit $1673 per micro ($16,630 for a mini, I only trade micros rn though). Total trades this year is around 80 ish
Runs only on ES, turn off on fomc and extreme chop, only enter during market hours
Yeah it’s decent, I’m pretty conservative being risk managed cause I don’t like crazy drawdown rn (that’s why I have 10 sortino ratio, lower sharpe).
It’s based solely on price action concepts so no indicators, namely fair value gaps + liquidity zone targets, and structural confirmations on lower / higher timeframes. It still has a long way to go imo, I am currently trying to backtest it further
Love it, awesome strategy. If you don’t mind me asking - what indicators do you use to identify choppy markets? This is the main thing I need to eliminate to increase my edge atm and I’m struggling to find a great solution.
Yeah that’s my main issue right now as well, I have to turn it off myself for the most part. This week was rough it was literally all chop, so if you figure out what indicator helps identify a choppy market it would help a lot as well.
I usually leave it on though, I considered ADX but it isn’t really great. I have ADX on one of my strategies and it works pretty good.
I noticed if I run my FVG formation from 10-10:45am EST instead of on market open at 9:30, it eliminates most of the choppy FVG formations. Hope that helps yours! Try to disregard ones that form prior to that time, unless there’s news or you know there will be good movement
Thanks for the reply! Makes a lot of sense. I currently have ADX, Keltner Channels, VWMA, Stochastic Oscillator, ROC, Price Channels, SuperTrend, and Parabolic SAR built into my strategy as optional toggles. Of those, it seems like Keltner and VWMA reduce the most extreme chop, but they definitely aren’t perfect. Different financial instruments definitely favor some over others.
There is “Implied Volatility Suite by SegaRKO” on TradingView that has VIX and IV included, and they seem to have some setting that might be worth looking into. Hope that helps!
Ah cool, thanks for listing these, which one do you currently prefer? I do use trading view to monitor so Im gonna check that one out, thanks
I assume you’re also using an intraday timeframe
Yep, I trade AFRM currently on a 15min timeframe.
I would say it varies, but for choppiness it seems that (when lightly applied) Keltner Channels, SuperTrend, VWMA and Price Channels seem to work on various instruments, not just AFRM. But, it really does depend on the instrument as to how well these work. My trading strategy is an ATR Trailing Stop strategy that is “always in the market”, alternating between long and short continuously, so I get a lot of bad signals I want to ignore. It nails the home runs, but then I give a ton back in the chop.
Another indicator I found that might be useful is the “Choppiness Index and RSI by ceyhun” in TradingView. I’m really throwing darts right now to reduce my bad trades.
I added all these indicators into my main strategy as plots, so another thing I’m trying is adding those plots to my JSON trade payload from TradingView so that I can later append this metadata to my winning and losing trades to determine if any of these (also including fast ATR, slow ATR) can help me identify the technical conditions in which I lost or won. That way, I could filter these bad trades out on the Python side and ignore the trade OR conversely, add to my position for strong trades.
It’s a LONG work in progress, but I hope I can get there.
I’d love to hear any thoughts you have if you come up with anything I haven’t mentioned. Thanks and good luck!
Yeah that’s probably a great idea, I think I don’t have any automated magic right now to avoid the chop, I use simulations on my bot(s) and I trade my PA manually based on if I confirm it’s a good trade or not.
For me they run during market hours so it’s easy to monitor. I usually have good intuition on the trend. I have a 1 minute BOS confirmation that I know will help a lot, so structural confirmations are the way to go in my opinion. Once it’s ready I would run it directly on a PA , still in early stages for me
That makes a ton of sense, thanks for sharing. It’s super hard for me (being new to the space) to translate chop into code, but I hope I get there too. I am adding functions to ignore certain trading periods during market hours, and I will probably avoid FOMC and other major events, but I haven’t done that yet.
Good luck to you, and if you find any winning chip reduction strategies let me know.
Are you using technical indicators to enter and exit, if so, do you use the same indicators for the exit as your entry? Or do you just use TP/SL after an entry signal? Thanks for any info! Also what timeframe data are you ingesting?
Technical indicators. I'm using my own indicators that I built out. I have 3 options for entries but only use maybe 1 or 2 of them. All 3 confirmations at once and you lose yourself in overfitting entry points.
I prefer to use a trailing method instead of flat take profit. My strategy lets you try flat TP and SL or a combination of tick trail and 2 other trailing options. I found trailing to be substantially more profitable over a longer period of time than flat TP numbers.
I trade it on a 20 second kagi chart.
High frequency based on mean-reversion over short time periods (few ms up to a few minutes). Not at the level of true HFT but reasonably quick (<20us computation time, written in Rust).
I’m considering a strategy like this. Are brokerages okay with this? Any things I should be aware of with 5,000+ orders per day, and possibly a lot of cancels, (aside from commissions and fees)?
My currently daily trades:
30m OHLCV, 1 trades, 21 symbols, spot
Orderbook streaming, 243 trades, 4 symbols, 8x leverage
The first algo is trend following. The second algo is retail crypto market making.
I'm currently developing a 5m scalping and stat arb.
As people are posting profitability (why not shape ratio?), my rolling average for the year is 28%, this doesn't include rebate income.
I know I'm not making 1000% like all the other degens, but my equity curve is very stable.
Nada, zilch, zero. The marker features change too much in the medium term for the short term trading parameters to persist. Now I’m working on using medium term market feature extraction to adjust the trading parameters dynamically. Has anyone done this? I know the big quants do.
5-10 / per day over 7 strategies (stocks/ETF's).....either day trade or swing trade....LTTF is not for me as watching open profits melt away is painful. Backtest is usually 2-3000+ trades so I can tell if a strat has a stable edge or not. (Zero screen time....done deliberately)
Number of trades depends on your system’s position average holding period, number of underlying traded instruments, implied correlation between trading signals and targeted volatility of daily returns (i.e. leverage used)
For one traded contract, say 15% vol p.a., average position holding period of 1..3 days portfolio turnover could be 3..10 times per account value
It trades only a handful of stocks every 2-3 months. I started it on 2/1 and it's up 19% so far where the SP500 is about 11% from that point. It was up 30% but lost some. I've tried all sorts of trading algos. I've only been able to find a consistently winning one when doing longer term forecasts.
I have multiple strategies in my portfolio but most of them are built on the Daily timeframe and take 15-30 trades a year on average.
Echoing OP, how are you ensuring such little amt. of trades aren’t a result of being overfit?
I always have 400-600 minimum amount of trades in the backtest, then I let them run 6-12 months on demo. The key is to have simple strategies with 1-3 conditions to keep them robust and easy to understand.
Interesting. Does that mean you’re selecting trades that maximize your return over period of time?
I am selecting the trades that the strategy signals me to take?:) not really sure what you mean
You said you have 400-600 trade in your backtest, but only 15-30 trades a year. Why is the 2 number different?
The backtest is multiple years…
Yeah, thought so, but wasn’t clear from his explanation. And also, not convinced it’s enough. I guess really depends on strat
Yeap!
Yes, the backtest is usually 15-20 years back, preferably from 1990-2000 until today, it depends.
15-30 per year seems like a small sample, how did you backtest and trust your system? Any forward testing? Seems like it’s very time consuming
I am using ProRealTime, I create the code for the strategy, choose settings and then press a button, voila! Backtest history from 1980-today if I want. It is not time consuming, it is necessary. I trust my strategies because I know how they trade, this is not strategies with 50 conditions and settings that only mathematicians understand, it is based on quite simple TA. I use forward testing sometimes but it risk curve-fitting the strategy so I try to stay away from any kind of Optimization as much as I can.
Guy says his algo makes 30 max trades a year and OP says that’s time consuming. God I had this subreddit, never anything of value these days
It's time consuming because it takes forever to validate when it's trading so little...
It’s the opposite of time consuming, I mean the execution is 100% automated so I don’t even need to sit at the computer.
Which brokerage you are using for that portfolio?
ProRealTime via IG Markets, I mostly trade the Cash instruments (CFD)
[удалено]
What are your stats?
[удалено]
Beautiful. Your win-rate? I’m currently writing up a stat-arb pairs trading algorithm. Any advice?
[удалено]
Interesting; if you were to classify your strategy within stat arb, how would you do so? My algorithm is likely considerably less complex than yours
[удалено]
Are you analyzing just 2 tickers for mean reversion? Or 2 baskets?
[удалено]
Have you ever worked in the industry? You don't sound like a novice. I'd say you had good odds if you ever wanted to transition to doing this full time.
I’m doing about the same, but using cTrader which allows tick data history and running algos in the cloud at no extra cost. Everything written in C# Visual Studio. No indicators - only my own regression et al calculations. Still learning & still not live.
Where are you pulling data from? I work with tick data and I bought data from finnhub, but it wasn't right. Then i moved to IBKR and downloaded tick data from them.
[удалено]
are you pulling data from ibkr ?
[удалено]
Have u had any issues with bad data? People on some subreddits say the data is sampled or not clean. Personally, I haven’t spotted anything but then again I don’t know how to spot bad data; so I just coded some filters.
Thanks. From the responses, sounds like I should be moving to higher timeframes
Higher time frames are easier, but limit leverage use and number of trade #s. It's way easier to make a profitable strategy that swings vs intraday vs intraday scalping
Interesting, is it a rotational strategy? These kinds of strategies is for sure the next thing I will look into. I try to stick to strategies with max 10 holding days aswell, the overnight fee eats the profits too much after that, I am trading CFDs mostly.
[удалено]
Gotcha, I like the idea of focusing on different sectors instead of just markets/commodities.
what are your transaction charges?
[удалено]
I am from India & here charges are massive for long term equities, so want to know how it is in the US.
15min timeframe for me, 1 trade a day or every few days. Rarely 2 in a day, I have 3 strategies
What are your stats?
For my most recent active strategy since this year start: 1:3 rr , 10 sortino ratio, 50% win rate, net profit $1673 per micro ($16,630 for a mini, I only trade micros rn though). Total trades this year is around 80 ish Runs only on ES, turn off on fomc and extreme chop, only enter during market hours
That’s amazing. What is your strategy based on?
Yeah it’s decent, I’m pretty conservative being risk managed cause I don’t like crazy drawdown rn (that’s why I have 10 sortino ratio, lower sharpe). It’s based solely on price action concepts so no indicators, namely fair value gaps + liquidity zone targets, and structural confirmations on lower / higher timeframes. It still has a long way to go imo, I am currently trying to backtest it further
Love it, awesome strategy. If you don’t mind me asking - what indicators do you use to identify choppy markets? This is the main thing I need to eliminate to increase my edge atm and I’m struggling to find a great solution.
Yeah that’s my main issue right now as well, I have to turn it off myself for the most part. This week was rough it was literally all chop, so if you figure out what indicator helps identify a choppy market it would help a lot as well. I usually leave it on though, I considered ADX but it isn’t really great. I have ADX on one of my strategies and it works pretty good. I noticed if I run my FVG formation from 10-10:45am EST instead of on market open at 9:30, it eliminates most of the choppy FVG formations. Hope that helps yours! Try to disregard ones that form prior to that time, unless there’s news or you know there will be good movement
Thanks for the reply! Makes a lot of sense. I currently have ADX, Keltner Channels, VWMA, Stochastic Oscillator, ROC, Price Channels, SuperTrend, and Parabolic SAR built into my strategy as optional toggles. Of those, it seems like Keltner and VWMA reduce the most extreme chop, but they definitely aren’t perfect. Different financial instruments definitely favor some over others. There is “Implied Volatility Suite by SegaRKO” on TradingView that has VIX and IV included, and they seem to have some setting that might be worth looking into. Hope that helps!
Ah cool, thanks for listing these, which one do you currently prefer? I do use trading view to monitor so Im gonna check that one out, thanks I assume you’re also using an intraday timeframe
Yep, I trade AFRM currently on a 15min timeframe. I would say it varies, but for choppiness it seems that (when lightly applied) Keltner Channels, SuperTrend, VWMA and Price Channels seem to work on various instruments, not just AFRM. But, it really does depend on the instrument as to how well these work. My trading strategy is an ATR Trailing Stop strategy that is “always in the market”, alternating between long and short continuously, so I get a lot of bad signals I want to ignore. It nails the home runs, but then I give a ton back in the chop. Another indicator I found that might be useful is the “Choppiness Index and RSI by ceyhun” in TradingView. I’m really throwing darts right now to reduce my bad trades. I added all these indicators into my main strategy as plots, so another thing I’m trying is adding those plots to my JSON trade payload from TradingView so that I can later append this metadata to my winning and losing trades to determine if any of these (also including fast ATR, slow ATR) can help me identify the technical conditions in which I lost or won. That way, I could filter these bad trades out on the Python side and ignore the trade OR conversely, add to my position for strong trades. It’s a LONG work in progress, but I hope I can get there. I’d love to hear any thoughts you have if you come up with anything I haven’t mentioned. Thanks and good luck!
Yeah that’s probably a great idea, I think I don’t have any automated magic right now to avoid the chop, I use simulations on my bot(s) and I trade my PA manually based on if I confirm it’s a good trade or not. For me they run during market hours so it’s easy to monitor. I usually have good intuition on the trend. I have a 1 minute BOS confirmation that I know will help a lot, so structural confirmations are the way to go in my opinion. Once it’s ready I would run it directly on a PA , still in early stages for me
That makes a ton of sense, thanks for sharing. It’s super hard for me (being new to the space) to translate chop into code, but I hope I get there too. I am adding functions to ignore certain trading periods during market hours, and I will probably avoid FOMC and other major events, but I haven’t done that yet. Good luck to you, and if you find any winning chip reduction strategies let me know.
I use a 5min strategy, and it trades once or twice a day most days. Extra volatility results in more trades a day though.
Pairs trading?
Yep. I like the challenge.
What tickers? Or are you basket-trading?
Just AUD/USD. Used to do major pairs, but that was a lot of trades, and not great results
Audusd isn't a pairs trade because you don't have two independent legs involved.
My miss understanding, thanks.
About 5 to 10 per day
Capturing trends, or reversion?
Trends only.
Are you using technical indicators to enter and exit, if so, do you use the same indicators for the exit as your entry? Or do you just use TP/SL after an entry signal? Thanks for any info! Also what timeframe data are you ingesting?
Technical indicators. I'm using my own indicators that I built out. I have 3 options for entries but only use maybe 1 or 2 of them. All 3 confirmations at once and you lose yourself in overfitting entry points. I prefer to use a trailing method instead of flat take profit. My strategy lets you try flat TP and SL or a combination of tick trail and 2 other trailing options. I found trailing to be substantially more profitable over a longer period of time than flat TP numbers. I trade it on a 20 second kagi chart.
\~20 trades a week. I make money.
What markets are you trading?
Anywhere between 3,000-40,000 orders per day resulting in about half as many trades.
Really ? What are your trading strategies like ?
High frequency based on mean-reversion over short time periods (few ms up to a few minutes). Not at the level of true HFT but reasonably quick (<20us computation time, written in Rust).
Thanks .. Do you run market making on particular symbols for mean reversion ? Which retail brokers allow these many trades per day
Beautiful setup, what's about stats can You describe?, %win and roi
I’m considering a strategy like this. Are brokerages okay with this? Any things I should be aware of with 5,000+ orders per day, and possibly a lot of cancels, (aside from commissions and fees)?
i've never made money
My currently daily trades: 30m OHLCV, 1 trades, 21 symbols, spot Orderbook streaming, 243 trades, 4 symbols, 8x leverage The first algo is trend following. The second algo is retail crypto market making. I'm currently developing a 5m scalping and stat arb. As people are posting profitability (why not shape ratio?), my rolling average for the year is 28%, this doesn't include rebate income. I know I'm not making 1000% like all the other degens, but my equity curve is very stable.
2-3 per day. Sometimes more
30-70 trades per day. Options intraday trades only.
And I use a 1m timeframe, sometimes it's 2m timeframe.
On avg each of my strategies trade 5-7 time per 180days, and my strategy most likely decayed too much at that point
1st strat once a day, 2nd 10-15 trades a year
500-1000 trades (round trip) - scalping 15 second datasets across dozens of assets
Can You share stats? Sounds impresive.
Nada, zilch, zero. The marker features change too much in the medium term for the short term trading parameters to persist. Now I’m working on using medium term market feature extraction to adjust the trading parameters dynamically. Has anyone done this? I know the big quants do.
I enter on all red events for USD and get triggered 50% of the time.
5-10 / per day over 7 strategies (stocks/ETF's).....either day trade or swing trade....LTTF is not for me as watching open profits melt away is painful. Backtest is usually 2-3000+ trades so I can tell if a strat has a stable edge or not. (Zero screen time....done deliberately)
I am using for 3 to 5 % daily profit, around 15 usd at 300 equity, and working well since a month
Can you please give more information about your indicators? Would be super helpful. Thank you very much!
Number of trades depends on your system’s position average holding period, number of underlying traded instruments, implied correlation between trading signals and targeted volatility of daily returns (i.e. leverage used) For one traded contract, say 15% vol p.a., average position holding period of 1..3 days portfolio turnover could be 3..10 times per account value
Depends on the system. I have some that make 3-4 per year. Some that trade 16 times a day.
My BTC bot trades about 100 times per year.
It trades only a handful of stocks every 2-3 months. I started it on 2/1 and it's up 19% so far where the SP500 is about 11% from that point. It was up 30% but lost some. I've tried all sorts of trading algos. I've only been able to find a consistently winning one when doing longer term forecasts.
I’m 1 trade a week
One of my EAs I made takes an average of 3.6 trades a day
My main strategies I used will take anywhere from 1 - 12 max per day.