Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Hi all. I'm new here and this is my first post. I'm super excited to have found this community!
I've been working on building an automated ES trading strategy for the last several months. I've optimized and backtested and I believe this strategy to be profitable. My goal is to take this strategy live starting in January but I'm getting cold feet. I'd like to gain some confidence from more experienced traders that I'm not fooling myself and I'm making a well informed decision to take this strategy live.
I've optimized my strategy using data from 01/2011 - 12/18. Backtesting using the optimized parameters over the same period I get the results shown in the attached pictures. Even with these results I for some reason have a gut feeling of "this is too good to be true".
With all that in mind here are my two "big picture" questions:
-How do you decide when a strategy is good enough to take live, and what data do you use to determine this?
-Is this simple method of backtesting a reliable qualifier for a strategy? (I'm worried I've simply optimized my strategy for this data set and this won't be representative of how it performs live.)
Thanks for taking the time to read. Any advice is greatly appreciated!
I haven't traded it live/with a sim account yet. I had planned on doing this for a month or so to make sure I don't have any outstanding bugs and to make sure my trading platform and brokerage play nice together.
If I lose power/connection I'd either close all positions or continue to monitor any open trades manually from a separate connection. I haven't looked into how to account for this in backtesting.
It seems silly at times but you need to do things like while you are running it on sim, disconnect the ethernet cable or whatever form of internet you are using. Then watch what the code does. In the early days of automated systems I saw one case where this happened on a live account, the software kept attempting to place an order but it wouldn't get confirmation so it just kept placing orders. As soon as the internet came back, all of those pending orders fired off. Wasn't pretty.
I don't think that would happen now but you should test for it to be sure.
Not the sort of expectancy that i would be satisfied with in anyway . I would barely call that an edge . I wouldnt trade it
, thats a lot of trades for not a lot . I set bench marks for WR and expectancy , you dont even come close to them . I am a firm believer a 65% WR is the bar . Keep at it , lots of incremental improvements can make huge improvements over time .
This is exactly the kind of stuff I'm looking for. I have no frame of reference when trying to decide if a strategy is worth a damn. I see a positive equity line and get excited when I probably shouldn't be.
When backtesting do you put more weight on WR and expectancy than net profit?
WR and expectancy is net profit really , defines your edge . You havent really given enough detail , its fine to have an equity curve starting from zero but what is the initial capital , then Max DD becomes more relevant in a % sense , Your curve seems to have a lot of gaps in it where it doesnt trade and in times where it clearly is a good time to trade , are you curve fitting ? You havent stated the TF you are trading . Your stats are over 8 years total and trading Emini you starting capital need to be decent , you havent allowed for commision , have you allowed for spread ? Its quite possible buy and hold with divs included might be the same or better return as you strategy . Give more detail and better help will be forthcoming im sure . good luck
1. It looks like you have data going from 2011 to 2018. So does this imply that over the life of 8 years the system made roughly $15K after commissions? This would be evenly divided equal to roughly $2k per year. Is this what your results are showing or am I missing something? I think you can imagine the answer if the question, "Should I trade a system live that produces $2k per year in back testing." But maybe I am missing how your results are displayed.
2. It looks like you are almost always only taking long positions. Is this by design or is something in your code misfiring?
3. What exactly was your testing on? Strategy Analyzer, Market Replay, Live SIM, etc.? Each of these have levels of accuracy that can impact your results.
4. What is the latency sensitivity of your alpha signal? Some strategies test well, but in live trading speed crushes them. Some signals you can catch from home on a laptop over the internet (Market Orders with a long term trade), Some you would need a VPN / VPS with: Limit order / speed sensitive strategies. And some signals you can't reach in time with NinjaTrader no matter what you do.
In order to test a realistic live trading scenario with NT you should do the following.
Run your test with Market Replay, and put your code in the level 1 data event handler. (OnMarketData). The OnBarUpdate front runs the Level 1 and Level 2 feed and can give you a glimpse into the future if your alpha signals are derived from the level 1 feed. No that Market Replay assumes 0 latency. If you want to really simulate live trading types of latency, you can build in some latency in your code yourself before you release your order.
If you can get passed market replay, then move onto Live SIM. The simulate around 200 MS of latency and the live feed is the live feed. Here you can use the OnBarUpdate to get back some of the lag from your interenet + broker to exchange latency.
Also put in your commissions.... You might be okay based on what I saw, but once you have realistic latency to measure against, who knows.
If you can pass these benchmarks and have a positive expectancy you should be fine.
Ian
In the analytical world there is no such thing as art, there is only the science you know and the science you don't know. Characterizing the science you don't know as "art" is a fools game.
I always look at the following parameters:
avr trade, avr loosing trade, max cons. loosers, max drawdown and trades per year. ....
and then I calculate the time period in which the system eliminates a drawdown again. For my sense, a drawdown should be earned about 3 times a year. That's not what your system does. Sorry.
If I look at your equity, it looks like the trades will be held for a longer period of time. This requires a VPS. See Speedytradingservers.com in this forum or look at Google.
I wish you success.
The biggest risk you can ever take is not betting on yourself! (Bill Williams +)