Help With Evaulating Intra-Day Trading Systems

Handle123 makes a great point as usual. To the OP, you MUST factor in if you were filled with a Market Order or a Limit Order in your backtest.

I have had countless systems die and never make it to live trading after I factor in the effects of how I got filled. You can't just take the Close of a Bar and call that your fill. It will absolutely destroy most intraday systems. I am not saying that you cannot be a successful intraday trader but if you want to be an intraday system trader then you must factor this in.

How do you factor it in?:
To assume a Limit Order Fill you must see price exceed where you took profit by the width of the spread. For example for CL it would be price+1 tick (-1 tick for shorts).

If you don't want to do that then subtract the bid/ask spread from each entry and exit price. For example, on you CL backtest you have 974 trades. You will need to subtract (974*10)=-$9740.(Number_Of_Market_Orders*(1 Tick Dollar Value*(Ask-Bid))) If that was 974 round turns then multiply that by 2.

This is still an assumption but it is better than assuming you got a fill at the price of each bar close.

People often wonder what makes intraday trading so hard. The main challenge is the artificial time stop that we place on ourselves. To be a daytrader it means that you will be flat by the end of the day. You can't truly "let winners run" because you will have to close them out by the end of the day. The costs (commissions & bid/ask spread) combined with this time-stop make it a rough game to play.

When I look back at my old trading stats from when I traded Stocks with a prop firm I can see that most of my money came from ECN Rebates (unintentionally). I switched to Futures (rebates not possible, at least for retail) and what I can say without a doubt is that you must factor in the cost of Hitting Bids and Lifting Offers.

If this has already been accounted for then congrats. Also congrats on advancing beyond pen & paper backtesting.

Thanks MoneyMatthew for the advice.

What attracts me to IntraDay trading is the low margins and all trades by end of the day. I would love to trail a winner for as much profit as possible. Once my capital increases, I will move to overnight margin and I can hold winners accordingly.

I use Market Orders to enter trades and Stop Market Orders and Profit Limit order to exit. I use a 2 tick slippage for market orders.

I also like trading with Reward: Risk ratio greater then 2. But I agree with you trailing a winner is a good thing.

Thanks, yes its like I see the light by programming a strategy and clicking back test, I quickly see how well my ideas plays out.
 
OK let's look at this

your largest winner and largest loser are steady
average loser does not fall far from largest loser,but average winner does differ substantially from largest winner
you have 16 consecutive losses if they were same as largest loser would be 16 X 404.28 =$ 6468.5,but your max drawdown is twice that amount plus change
with that your profit chart looks smooth which makes me believe the results were tweaked with imho

and you would run out of margin to trade this system
from your earlier post

"That's a good comment by first comparing strategy to Vanguard S&P 500 Index Fund. I can compare profits of strategy to profits of index fund, beginning each with $10K capital."

OK so you have 16 consecutive days of losses
You state that you trade one contract per session,but you have total number of trades 3767 and with given number of trading days as i looked at 252(2018) that gives me on average 1.5 contracts a trading day,not 1 contract per day

It may not be enough in real market conditions ,bad fills ,slippage etc.in general it looks near random system with some money mgmt keeping it just above loss(that part could be curve fitted here as your earlier posts indicate different results in profit chart)

there are some things that i can not discuss that tell me straight away at first glance that there is no legit edge in this system

Hello Van_der_Voort_4, Thanks for the response.

I am still learning as I go. I am not that good in evaluating systems yet, hopefully I get better soon.

The strategy is only allowed to take 2 trades per day. stop loss is 40 ticks and profit target is 80 ticks. Only 1 contract. I did not tweak anything except the stop loss and profit target. I just tried different numbers. Is this considered curve fitting?

Yes, it does seems a bit odd the /GC looks decent while the strategy performs bad on other instruments. Also, I am using 60 min chart for the strategy. If I go down to 30 min or less, the performance is bad. So, yes maybe is random. I do not know.
 
Thanks MoneyMatthew for the advice.

What attracts me to IntraDay trading is the low margins and all trades by end of the day. I would love to trail a winner for as much profit as possible. Once my capital increases, I will move to overnight margin and I can hold winners accordingly.

I use Market Orders to enter trades and Stop Market Orders and Profit Limit order to exit. I use a 2 tick slippage for market orders.

I also like trading with Reward: Risk ratio greater then 2. But I agree with you trailing a winner is a good thing.

Thanks, yes its like I see the light by programming a strategy and clicking back test, I quickly see how well my ideas plays out.
Don't give up, intraday trading with a system is possible. I started years ago by looking at shorter term time frames because I was restricted with a low-bankroll. I get where you are coming from buddy. It is possible.

It is just important to understand that it is "easier" to build profitable longer term time frame systems. Of course, you will need a bigger bankroll to see it through. Just remember, that with system trading approach that you cannot always pull out profits even with a higher predictive accuracy due to how the futures contracts are constructed.

Take a look at Corn or the 2-Year Treasury Note. The bid/ask and tick value in relation to daily trading range is poor. Any stops based on chart patterns will chew your money up. This is the exact opposite with Crude Oil and the mini-Dow. Don't think of how the exchanges designed these Futures contracts as "one size fits all". They built them for hedgers and spreaders...not day traders.

One last bit of advice, try to build a system that does not take a pre-determined Profit. You can't always super impose your Risk/Reward wishes and overlay them over the realities of volatility. If you have a mean-reversion system then fine, I understand that you will need pre-determined places to take a profit. Try to build one also that can also catch profits unrestricted (does not have to be trend following). Try a wider stop also.

Congrats on the programming advancement as well.
 
He also needs maxdd Peak to Valley otherwise the dd risk is curve fitted by definition. The (consecutive losses*largest loss) could be looked at as a worst case short cut of doing monte carlo analysis. The P2V DrawDown is based on the actual historic data.

MoneyMatthew,

You have far more knowledge then me, i am not sure what monte carlo analysis means yet. Hopefully, my new book will explain to me and give me a more structured and logic approach to proven if a trading strategy is worth trading live. I really just enjoy programming strategies and clicking back test. Also, I am not sure what curve fitting means, but I do know (from what I read somewhere that makes sense to me) is I want to back test on 50% of total available back testing data. Then I use the other 50% as out of sample data for testing. Like I said, still learning. But for this example strategy, I didn't do nothing special.

Everyone here at ET is very help and its much appreciated.
 
Yes, it does seems a bit odd the /GC looks decent while the strategy performs bad on other instruments. Also, I am using 60 min chart for the strategy. If I go down to 30 min or less, the performance is bad.
This is an example of "data mining" or "curve fitting". You adapt your trading strategy to get the best result out of the available historical prices of the instrument which you use for your backtest.
 
This is an example of "data mining" or "curve fitting". You adapt your trading strategy to get the best result out of the available historical prices of the instrument which you use for your backtest.
Thank you HobbyTrading.

I also played with the stop loss and profit target parameters til I found something to get best results so far.

Is this considered curve fitting ? And is this a bad thing?
 
I also played with the stop loss and profit target parameters til I found something to get best results so far.
Is this considered curve fitting ? And is this a bad thing?
Curve fitting is when you adapt a trading performance to available historical price data. For example: your GC strategy works best if it is reviewed every 60 minutes. It could be that for CL (crude oil) the optimum timing would be a review every 45 minutes. So you decide to run your GC strategy every 60 minutes and your CL strategy every 45 minutes.
This is risky because the way how an instrument behaved in the past may change in the future. And your system does not adapt itself to it. Then suddenly your GC (and/or CL) strategy becomes loss-making.
The same applies to other parameters you mentioned, such as stop loss and profit target parameters.
 
Curve fitting is when you adapt a trading performance to available historical price data. For example: your GC strategy works best if it is reviewed every 60 minutes. It could be that for CL (crude oil) the optimum timing would be a review every 45 minutes. So you decide to run your GC strategy every 60 minutes and your CL strategy every 45 minutes.
This is risky because the way how an instrument behaved in the past may change in the future. And your system does not adapt itself to it. Then suddenly your GC (and/or CL) strategy becomes loss-making.
The same applies to other parameters you mentioned, such as stop loss and profit target parameters.
Thank you HobbyTrading for the lesson

I understand what you mean.

I do this changing of parameters (stop loss and profit target and timeframe) for every strategy I build and click back test. So I have been curve fitting alot for optimal performance and not knowing. I do this alot. Very interesting!!

This why I was thinking to only use maybe 3 years of total 10 year historical data for playing with the parameters to find good performance, then use the other 7 years (one year at a time) to see how well the optimized parameters performed year to year. Just my opinion

What do you mean by "system does not adapt itself"?

Thanks
 
I believe this strategy with /GC is ready for real time and make the money now.

Well, it's your money, but I don't think it's ready. Your stats show the Sharpe ratio of 0.22, which is way too low. They also indicate that the average profit per trade is just 2 ticks, as if it's a scalping system, yet you said that you use 60-minute charts. Scalping 2 ticks from the 60-minute chart does not make sense to me. Too many red flags!
 
This why I was thinking to only use maybe 3 years of total 10 year historical data for playing with the parameters to find good performance, then use the other 7 years (one year at a time) to see how well the optimized parameters performed year to year. Just my opinion

What do you mean by "system does not adapt itself"?
Using at first some portion of available historical data (e.g. 3 years) to curve-fit and then check on the remainder of the data (e.g. 7 years) whether the chosen parameter combinations works well is one way to become aware of curve (over)fitting. Another way of checking your fitting is using a set of parameters, determined based on one instrument (e.g. GC), and applying it on another instrument (e.g. CL) and see what happens. That also gives you a warning that the combination of parameters is very specific to the one instrument it was fitted for.

With "system does not adapt itself" I mean: you have selected values for the set of parameters, based on the price history. This set is now fixed, does not change. Now consider the case where not you, but your software determines the optimum set of values. And the software adapts this as new prices become available. So when time passes by and your historical price data gets longer. It is still considered curve-fitting, but it is now based on an ever changing price curve.
 
Back
Top