Reducing overnight risk in dip trading - Active Trader Feb 2011?
Author: DaveAronow
Creation Date: 1/5/2011 3:00 PM
profile picture

DaveAronow

#1
Active Trader finally posted the code for Ted Climo's "Reducing overnight risk in dip trading" system, but it uses a component called EarningsDate. Does anyone know what this component is?
Thanks.
Dave
profile picture

Eugene

#2
The EarningsDate class will be included in Community.Components later this month.
profile picture

Eugene

#3
At that time, I think the system's code should be published on our site (and be available for download in WLP/D 6).
profile picture

DaveAronow

#4
Say it ain't so Eugene! :)
profile picture

tedclimo

#5
My apologies to all for not getting the "Reducing Overnight Risk" script published for download sooner. Article came out in January issue of ActiveTrader(pg 22). Tried to upload it this morning but could not(I/O & HTTP error msgs), so am going to provide it in this thread along with what will be in the strategy summary tab once I get past the upload errors.
I will provide code at end of this post, but need to make you aware of several factors crucial to execution.

I developed this strategy as a "thank you" to the WL community for all you contribute to the success of all in our family. That said .... you would not have an automated verision of this model if it were not for the incredible programming talent of Robert, Eugene & the folks @ Fidelity. The article was actually published a few days before Fidelity had it automated.... OOPs, my bad. I was trading this script manually (as the ATmag article describes), then fine folks at Wealth-Lab/Fidelity saw the potential to provide Value-added to all traders in our community & they automated what I had once done manually.

For Earnings Window Inclusion/Exclusion,... read this
QUOTE:
http://www2.wealth-lab.com/WL5Wiki/EarningsDate.ashx
.

By now,I assume everyone has 6.1 and has seen the Opening "GAP FILTER" Feature in the Quotes Window.
You can get full details here:
QUOTE:
Wealth-Lab User Guide > Quotes > Quotes Pane > Gap Filter Dicussion.


So now comes two very, very important feature(s) of this model.


I'll lead with the most important:
As a dip-trader, we both know that trades pop up throughout the day....
AND that there is limited trading capital each day....
SO we must have an algorithm that gives us a true reflection of what happened....
In Bruce Lee venacular, Enter the Dragon... the Priority code below assures that Simulation is not random, but rather trully reflects what trader would have done..
CODE:
Please log in to see this code.


This code requires that you have TWO IDENTICAL WATCHLISTs (One EOD & One INTRADAY). In the article, I used The NDX 100 components (Daily & 1minute). As a result, the script, is capable of determining which trade came first & thereby reflects what would have happened in real life(live trading).

POTENTIAL PROBLEM:
On a small watchlist like NDX100 components, 32bit PC using 32bit WLP6.1 should have no problem. I however trade The Russell 3000(Optionable only), and have found that a 64bit PC using 64bit 6.1 is way faster & never locks up.
I also use 5min duplicate watchlist. Experience shows that when it comes to Simulations.... 5min is pretty doggone close & runs much faster.



VERY STRANGE PROBLEMS W MY ISP--- ALL THE SUDDEN, WILL RESUME POST TOMMORROW.




CODE:
Please log in to see this code.
profile picture

Eugene

#6
Ted,

Please open a new ticket and attach your strategy's XML file with a description for the rest of us. We'll get it published properly. tia.
profile picture

tedclimo

#7
Eugene,
Bear with me.
If I cannot publish properly by end of the week, then I will use order ticket method.
I have far more scripts to share than just this article.
And need to discover what's amiss on my end.
Has anyone else reported uploading problems recently?
Perhaps, it is simply the Server Maintenance yesterday still taking effect.

Thanks for all you do.


profile picture

DaveAronow

#8
Ted,

I look forward to seeing the updated version of this. While I have quite a few dip buying systems I generally don't trade them -- they are all too prone to event risk and one bad trade can wipe out 10-20 good ones. I am thinking event risk can be lowered with your modifications.

Regards,
Dave
profile picture

tedclimo

#9
Dave,
You should be able to copy code above & get a working version. If I cannot upload by week's end, will use Eugene's kind offer to do so thru Ticket system.

Be sure your Community.Components are up to date & using 6.1.

Thanks to Wealth-Lab & Fidelity, this technique automates the exclusion of most event risk.

Not all event risk, by any means.... but most (for short-term dip trading).

I would like to ask you a question... off the grid.


profile picture

Eugene

#10
Bots never sleep and they're willing to flood your inbox with spam. You guys might like to use a service that hides (proxifies) your email address, providing some web link that displays the email as picture/text when clicked, when posting it on the forums. Google/Bing to find out, there's a number of those services.
profile picture

wl64bit

#11

Dave,

What should Performance Parameters of a Dip Buying System be to be considered safe to trade?
What parameters do your systems have that make you feel not to trust those systems?
(In terms of Average Profit %, Win Rate, Average Profit % of winning trades, Average Loss % of losing trades, Sharp Ratio, Profit Factor, Payoff Ratio).
profile picture

tedclimo

#12
wl64bit,
I realize your question is directed to Dave, but didn't think you would mind if I offered my perspective. Simulation stats like those you described can be very deceiving. For instance, the script in the Jan ATmag article limits # of trades per day to just 4 (@ 25% of capital). If you used RawProfit mode instead, the simulator will give equal weighting to 50+ trades that occurred in a huge panic day(these almost always perform well)to trading days that only had 1-2 trades. So first, use a position-sizer that limits max trades per day to realistic capital available. Then apply the"Time of day" priority code in the article above. This guarantees that Simulation takes the first trades that came along (just like you would do in real-trading).

OK, with that foundation, let's address your question in two ways....
1) Have you seen the article itself??? lotsa stats are shown which address your question(s). If you have not seen the article, let me know in this thread & I'll try to get a copy to you somehow(Fax/email/Snailmail).
2) My general rule of thumb before I will even begin to consider trades (for 1 day bouncers) is this: 70%+Win%, 2%+AveProfit%, 2+ProfitFactor along w next two points(#4 & #5) which help limit Event Risk.
3) I personally don't use Sharpe/Payoff or other stats, just the 3 mentioned in #2 above.
4) Never trade if Official Earnings Release is coming in next 2 days. I did not study Estimated Earnings, but #5 below helps address those too.
5) Never trade if Open (on trade day) is less than 5% above LIMIT entry point. Reason why, severe panic at the open often(not always) results in a poor 1 day bounce. However, mild panic at the open, that later escalates into a parabolic drop pattern mid-day are the best 1 day bouncers. Fidelity's new "Opening Gap" filter in the Quote Mgr does this for you automatically. Whether you set it for 5% or something higher, it assures that you are dodging severe panic at the open.

On a final note, my research suggests that only trading "Optionable" Stocks provides better bounces than stocks that are Non-Optionable. We can only surmise why, but that's what the simulations suggest. As a guideline, nearly all Russell 1000 are Optionable, & about 2000 of the Russell 3000 are Optionable.
All the best to you & yours.
profile picture

wl64bit

#13
Ted,
Thank you for clarifying the topic. I do not have that article. It would be great if you could email it to me. My email is the same as my username at gmail.
profile picture

DaveAronow

#14
Ted -- never heard from you --- did you get my email? Just wanted to make sure you did.

Regarding dip buyers the main problem is that you get an occasional collapse of 20% or more and it wipes out the profits from 5-10 other trades. Often these are earnings related. You'll never be able to avoid these large declines but even if you can avoid half of them you're doing a lot better. The overall profitability is fine, the profit factor is fine too, but I don't like sitting through the large drawdowns. If you can reduce those by even 1/3 I'd feel much more comfortable with them. Hoping this will help.
profile picture

tedclimo

#15
wl64bit,
Check your email. If you do not receive one from me,... let me know on this thread.

Dave, sorry for delay. Sent you email moments ago.
profile picture

tedclimo

#16
wl64bit,
My ISP acting strangely today.
If you get my PDF more than once OR do not get it at all. Please let me know.
If you do not receive, I will send from another ISP.
profile picture

Eugene

#17
Ted, just FYI: strategy uploading troubles that took place shortly after server upgrade have been fixed. Strategy uploads are working as they should.
profile picture

tedclimo

#18
Thanks for update - will redo tomorrow --- hands full at moment
profile picture

tedclimo

#19
Eugene, Cone,
I uploaded the January ATmag article script today(for Public use), but there were no prompts to provide a description.

Did I miss something?
profile picture

Eugene

#20
Description is entered in Wealth-Lab itself. Each Strategy has a "Strategy Description" tab. There is a built-in browser control where you can paste raw HTML code and WL will render the description's HTML page. Descriptions are saved with Strategies if you hit Ctrl-S.

If you're having troubles with HTML formatting, you may skip this step and just provide a description/rules to me in our support discussion. See my comment to your uploaded strategy (private talk). Just paste the text/rules there and we'll take care of everything else.
profile picture

tedclimo

#21
Eugene,
Thanks for wisdom.
As of 11:25am EST, description/rules placed on support discussion thread as you requested.
Let me know if I can assist in any other way.

T!
profile picture

Eugene

#22
All done. Thank you.

To get the strategy, WLP/D users need to click on "Download" in the "Open Strategy" dialog of WL6. That's all it takes. Absolutely no need to copy/paste strategies from our site!

ActiveTrader 2011-01 | Reducing Overnight Risk in Dip Trading
profile picture

tedclimo

#23
Thanks Eugene.
This could not have been done w/o extraordinary support from you & Robert.
Now, Dip traders in our community can supercharge their favorite dip models.
Zig Ziglar said it best, You can have evrything in life you want, if you help enough other people get what they want.
All the best to you & yours,
T!
profile picture

rmandel00

#24
Ted:
Thanks for your contribution to the board. I have downloaded your strategy and am trying to run it but have the following problems.

I want to run it with 5 minute bars. So I made the following changes to the code?
I changed the setting in line 81 to 5:
ph.SetTimeOfDayPriority(5); // 5-minute data referenced to prioritze which trade came first.
I also tried changing line 49 from 1 to 5:
for(int bar = GetTradingLoopStartBar(5); bar < Bars.Count; bar++)
with either a 1 or a 5 between the parentheses to no avail.
The program compiles and runs but each symbol gives an error message like:
Error processing symbol RYAAY Object reference not set to an instance of an object.
There are no trades generated. All the symbols show up on the Symbols Tab and there is a list of data in the Buy and Hold column of Performance Tab. Can you please help me get it running. I would like to use parts of it in combination with Simplicity which I have modified over the last year to try and improve its performance.
Thanks,
Rich
What do I need to do run it. I tried running the NASDAQ
profile picture

Eugene

#25
Check out this KB article: Errors | Strategy > "Object reference not set to an instance of an object" is at the bottom. By chance, does paragraph #2 (i.e. Benchmark B&H symbol) apply?
profile picture

rmandel00

#26
Eugene,

Benchmark B&H symbol is not checked off in my preferences so I don't think it applies.
The first possibility is perhaps more likely:
"Note: this is a pretty multifaceted error message - it can happen outside of a Strategy. But should you experience the run-time error in your Strategy telling you that "Object reference not set to an instance of an object", you need to know that there's a variable that has not been initialized, in other words it's null. Either you haven't assigned a value to some variable, or a method/function that you called has set the variable to null."

I don't know which variable or method is set to null. I am running the program exactly as published on the website here and I tried using one or two symbols with 1 minute and daily bars. Any other suggestions?

Has anyone run this strategy on their on WLP version 6 and found it to work correctly?
Thanks,
Rich

profile picture

Cone

#27
QUOTE:
I want to run it with 5 minute bars.
It's an EOD strategy, not intraday. It's looking for a 10% dip from one bar to the next, which is unlikely to occur intraday. Intraday data is used only to provide the proper priority (sequence) of limit order fills for backtesting.


QUOTE:
Has anyone run this strategy on their on WLP version 6 and found it to work correctly?
Sure it works. Make sure you've installed the Community.Components and run it on a Daily DataSet.
profile picture

rmandel00

#28
Cone,
I have tried to run the strategy using daily bars and got the aforementioned error. It wasn't a matter of running 5 minute bars.
Also, the code has:
using Community.Components;
at the beginning and I have Community Components on my WLP, so it doesn't seem like that's the problem either.

My question about running 5 minute priority instead of 1 minute priority and I wasn't sure how to change the code for that. I did try running the strategy as is and continue to have the same error.

So, do you have any other suggestions?
Thanks,
Rich
profile picture

Cone

#29
Which version of Community.Components do you have?
profile picture

rmandel00

#30
I am runnning: Community Indicators Library 2011.04
Thanks
profile picture

Eugene

#31
That's the most actual version.

Could you please try running on different DataSets e.g. Dow 30, does the error persist?
profile picture

rmandel00

#32
I think I figured it out. I don't normally download the fundamentals.
To check this out, I deleted all the statements that were dependent on
the earnings date and the program ran and there were some trades.
Thanks so much for your help.
Rich