Combination Strategies: Visualizer Error(By Strategy)
Author: tedclimo
Creation Date: 7/13/2011 12:40 PM
profile picture

tedclimo

#1
CS(WLP 6.2) has more potential than anything since 5.x/6.x replaced 4.x. WOW!

I could not get CS to produce any results with my favorite private models... So I went to square one & reproduced the exact CS in HELP menu (involving Glitch Index, Neo Master && Bollinger Buyer). I am now getting all Visualizers to work except one that should be.... The error message that results is this:
QUOTE:
Error in Visulaizer:(By Strategy), removing.
Object reference not set to instance of an object.


That said, the "Performance" Visualizer & "Equity + Drawdown%" Visualizers are working fine

Any ideas why the "By Strategy" Visualizer trys to populate, then momentarily later disappears, followed by the error msg I gave above?

I read through the 3 prior posts related to new CS(WLP6.2), but found no answers.

Will deal with my private models problem later once I can get the example in Help menu working.

Thanx in advance.
profile picture

Cone

#2
No ideas here. Please create a ticket, zip and attach your Combo strategy that uses the public child strategies, and hopefully we'll be able to duplicate that.
profile picture

Eugene

#3
Ted,

The reason is an exception that happens during visualizer execution. Sounds like that it isn't handling some error condition gracefully. Failing visualizer is then being unloaded by WLP.

The data and data loading range can have big impact on it. Try it on different data ranges, on DataSets by different data providers... can you still reproduce it or the error goes away?
profile picture

tedclimo

#4
Gentlemen,
1) I sent zipped file to Support ticket a few moments ago.
2) I did indeed try different data ranges, different data sets, but all were using Fidelity Data Sources.

All variables still resulted in the "By strategy" Tab appearingly briefly, then vanishing, followed by the aforementioned error message.

The potential of CS is incredible..... albeit working through the minor bumps along the road.

Eugene, are you aware of any of MS123's Pos-Sizers that may have conflicts using the Combination Strategy feauture??? Especially my "Liquidty Algorithm"?
profile picture

Eugene

#5
Ted,

PosSizers can not "conflict" with a visualizer. They are executed before visualizers come into play. But we'll check every scenario.
profile picture

Eugene

#6
Ted,

I couldn't reproduce any problem with the attached XML file using Y! data (including the PosSizer you're using).

Could you create a Yahoo! DataSet (Dow 30), update it, re-configure the Combo strategy to use the Y! DataSet as the Default?
profile picture

tedclimo

#7
Yes sir.
Glad to!
Will report results momentarily.

BTW. My question was meant to be: Can MS123 Pos-sizers conflict with "Conbination Strategies" execution, not just Visualizer results. But let's wait to deal with that until we resolve the PV error:)
profile picture

tedclimo

#8
Yo Bro,
Using the same XML file I sent in Support Ticket, I get same PV error msg on both Fidelity's Dow30 & Y! Dow30. The "By Strategy" tab still displays momentarily, then vanishes, followed immediately by the aforementioned error msg.

There has to be another variable here that we have not yet considered:
I am using 64bit WLP(6.2) on 64bit PC.
I am using Windows 7.
My Data Range is 3 yrs though 7/12/2011 (Yesterdays close).

Any other variables you want me to provide???

Shall we move this discussion to support ticket?

Thanks in advance
profile picture

Eugene

#9
QUOTE:
Can MS123 Pos-sizers conflict with "Conbination Strategies" execution, not just Visualizer results.

No.
QUOTE:
Any other variables you want me to provide???

What kind of trouble are you running with your private models? It can be related. What does it mean "could not get CS to produce any results", specifically? Thank you.
profile picture

Eugene

#10
Seems like I found the culprit, using Win7 x64...
Will give it a couple more tries and post it here.
profile picture

Eugene

#11
The problem isn't OS-dependent. At first I thought it's the benchmark symbol but having taken a closer look, the culprit appears to be the following setting: "Apply dividends to backtest results when using Portfolio Simulation mode", enabled (Backtest settings > Interest and dividends).

Furthermore, when enabled it can cause the "Equity Curve" tab to unload identically.

Ted,
Please uncheck the option and let us know.
profile picture

tedclimo

#12
Eugene-Wan-Kenobi,
The Force is strong in your family.
You found the culprit. The error msg no longer presents itself & the "By Strategy" tab displays properly.

Can this problem be resolved in a future WLP release? As it so happens, dividend paying stocks play a significant role in my favorite models.

See my next post for the problem I mentioned with private strategies. Has nothing to do with Visualizers, so perhaps you'll prefer I start a new thread.

You da man!
profile picture

Eugene

#13
Ted,
I'm glad it helped!
profile picture

tedclimo

#14
My private model problem will require some background info on the individual strategies.
Each strategy can backtest 20yrs in a matter of minutes(even on watchlist of all 6900 currently Listed stocks).
Each Strategy calls 6 Ychart Fundamental data items for that same 20 yrs.
But when combined in CS mode, Simulator will remain in execute mode for hours before finally "locking up". Thus I never get get results in any PV tab.
Here's the Key info you need:
PC is Windows 7, 64bit w 16 gig of RAM..... so lotsa horsepower. It is most powerful product Dell had available to consumers 18 months ago.

No problem running CS on DOW30 for 20 year backtest.
No problem running CS on NDX100 for 20 years.
But by the time I get to the Russell 1000, PC WLP locks up PC after several hours in execution mode.
It appears as if CS has watchlist size limitations, but allow me to re-iterate a point I made above... I can run these strategies individually on a 6900 symbol watchlist (for 20 yrs) pulling in Ychart Fundamental data AND get results in a matter of minutes. So WLP (& my PC) have the juice for single strategy research.
My best Strategies depend on the ability to scan the entire universe of Listed stocks seeking unique fundamental profiles.

Look forward to your thoughts.... meanwhile I'll keep experimenting with various watchlist sizes. Next I'll try the XML I sent you to see if it can handle the Russell 1000.

All the best to you & yours.




profile picture

Eugene

#15
QUOTE:
But when combined in CS mode, Simulator will remain in execute mode for hours before finally "locking up".

Disable Update data on demand.
profile picture

tedclimo

#16
I always keep it Disabled.
Any other possibilities?
profile picture

Cone

#17
What does memory usage look like when things hang up? It's hard to believe it's a problem with 16G's and using daily data, but who knows what's going on there?
profile picture

Eugene

#18
QUOTE:
But by the time I get to the Russell 1000, PC WLP locks up PC after several hours in execution mode.

How exactly did you determine that? What was the state of the "Backtest Progress" progressbar?

I just ran a test of a Combo on 20 years of data in a 600-item DataSet and it went smoothly and didn't stumble. However, a signficant amount of time was spent during visualizer processing phase. The more visualizers, the slower will it be.

If the progress bar was completely green, then I'd suggest turning off as many visualizers as possible, reopening the Combo and retrying.
profile picture

tedclimo

#19
Am running numerous scenario's currently. Have preliminary results, but need more time to give you a more precise picture. most likely hear from me again tomorrow.
profile picture

tedclimo

#20
Preliminary Results: more testing will follow Friday
Using CS, the XLM file I sent on Support Ticket runs fine for 20 yrs an large watchlist.
Larger WLs take a little longer than smaller WLs (as expected).

Lockup problem seems to appear when I add Ycharts data. Not confirmed yet!
When Ycharts data added, an almost immediate window opens stating:
QUOTE:
Object reference not set to an instance of an object


This window/error message never appears when running the Ycharts script in single script simulator.
But when I insert it into CS simulator, msg appears right away.

Still testing... will give you more facts as I uncover them.
profile picture

Eugene

#21
Combo strategies, by (good) design, are pretty "unforgiving" to errors that you'd otherwise ignore.

Looking forward to your YCharts tests later (please clarify what does "add YCharts data" exactly means (i.e. referred in a Strategy, dropped on a chart).
profile picture

tedclimo

#22
After extensive testing CS using numerous strategies (all 20 yr backtests) on numerous watchlists(up to and including Russell 1000).
All strategies but one, produce CS results without errors.
Even misc strategies that include Ycharts data.
My private strategy(call it PS1) is the exception.
PS1 works great on original Simulator (20 years on 6900 symbol watchlist).
PS1 works great in CS (20 years on Dow30, NDX100, & SP500).
PS1 generates following error msg on Russell 1000 and all watchlists larger than that:
QUOTE:
Runtime Error: The given key was not present in the dictionary

My question to you is , How do I isolate the "Given Key" to determine whether error is generated by a symbol or by some specific Fundamental data problem associated with a specific symbol?
Assume some Debug code will get me there, but do not know how to apply it.
Please help with appropriate debug code/troubleshooting code necessary to resolve this lock-up problem.

On a separate note, I read in one of the threads (sometime ago) that it is possible to add code that will force a memory dump or empty Cache or something like that. Since I typically run 20 year back-tests on large watchlists, perhaps that would be a valuable addition to all my scripts.

Assuming you agree, can you share what code is appropriate to do so?

All the best to you & yours,
T!

profile picture

tedclimo

#23
Yo Bro,
I found the culprit!
I was using GICS descriptions to label the entry names, for purposes of avoiding duplicate sub-sectors in live trading. As it turns out there were 15 symbols in the Russell 1000 that had a problematic GICS code. When I disabled the GICS data string..... CS worked perfect with my private scripts on large watlists && going back 20 yrs.
Below is code I disabled:
CODE:
Please log in to see this code.

CODE:
Please log in to see this code.

In case it matters, below are the 15 symbols that had troubled GICS codes.
QUOTE:
ALR BRKB CLGX CWH FCEA GGP HYG JWA MSCI MSG NEE PDM SCCO UAL WFM

These symbols never created a lockup in Original WLP6.1 single script simulation mode(where debug window opened & identified these 15 buggers as not having a given key in dictionary). Only when in CS mode, did simulator lock up w "Runtime Error - given key not in dictionary". Perhaps something to elevate to Fidelity developers?

So my question to you now becomes: Meanwhile, is there a line of code I can add that would instruct script to return 0 or symbol when GICS code is in error/missing. Or perhaps a way to tell script to go find GICS code when is error/missing.

Your thoughts would be appreciated.
T!
profile picture

Eugene

#24
Since I don't work with WLP specific questions (GICS included), I'm leaving this for Cone.
profile picture

tedclimo

#25
Cone,
FYI, once you see post above(7/16/11),... you'll see that GICS data access has problems with the "Combination Strategies" feature.
While I originally requested a workaround, my main concern is that you see this && elevate this to Fidelity's developers.
T!
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).