WLP5 Equity Curve tab - Hangs system while viewing
Author: redliontrader
Creation Date: 3/4/2009 11:56 AM
profile picture

redliontrader

#1


While viewing the Equity Curve screen my machine begins to lag and flash and sometime becomes unresponsive. I am avoiding using this features as frequently it requires me to reboot.

OK update, as I was writing this I went back and tested some other code to see if it acted the same, a more simple strategy does not cause such a CPU load.

But there is a scaling problem with the Equity Curve tab that I can not now recreate. I often use the equity curve tab open and slide the parameter sliders to see the effect of the parameters on the equity curve. When I did this with the simple ATR strategy supplied, the profit curve max went from 18K to 36K, but the graph did not scale, it cut off the curve at 18K. When I changed symbols the graph kept the same scale on the Y axis of 18K even though with this symbol the curve when up to 58K.

I will update with more information. Any advise would be appreciated.

RLT
profile picture

Eugene

#2
profile picture

Eugene

#3
Do you have Windows Vista?

On a couple of occasions I've noticed that CPU load builds up when copying charts from the Equity Curve tab on my Vista PC. After some time it calms down.

How many bars are there (reported by the Performance tab)? How many trades do you have (including the ones not taken due to insufficient funds)?
profile picture

redliontrader

#4
I tried to put together a little video to show you what is happening. I couldn't quite reproduce the hang since it is only occasional, but you can see that the Equity Curve tab is a CPU hog and sometimes it runs up to 100% cpu usage and crashes the system.

See if the video helps.

http://www.youtube.com/watch?v=Z5o7oLnI0wc
profile picture

Eugene

#5
Thank you for the presentation. What I saw is not groundbreaking or problematic. There are nearly half a million bars in a typical 1-minute Fidelity data file. There was heavy mousing over the chart, and mousing over any chart like Equity that has hundreds of thousands of data points is a CPU-intensive process.

Behind the scenes, a graphic engine has to do a lot of graphic transformations from a screen coordinate to the associated data point. It's required to display the equity balloon tip. The less data points (e.g. daily equity), the less should be the CPU load in this kind of operations. No wonder it loads up CPU with hundreds of thousands data points displayed.

On a couple of occasions when the mouse cursor was moved off the chart area -- to the Task Manager window or the Trades tab -- the CPU load graph went down to zero, as expected.

(By the way, graphic controls can be additionally programmed to request only a subset of the available data points in a very large dataset to make drawing faster. I'm not sure if this optimization was perfomed to the Equity visualizer.)
profile picture

redliontrader

#6
I understand it is lots and lots of data, but when you loose the "interaction" feel with the data a connection is broken.

You know what else has lots and lots of data? How about 3d rendering, animation, medical imaging (the field that I come from) and video gaming? Imagine if it was ok to drop 2 or 3 seconds of video in the middle of a Pixar movie. I am from the software industry rendering 16/32 megabyte images at 30 frames per second. It was hard, but we always kept the data interactive.

Optimize. Performance is everything. I just finished a review of the next next generation of Worden bros, blocks software now renamed Stockfinder 4. It has the best interactive feel of working with these large data-sets. It is really good, you guys need to look at it. It has plenty of its own issues, but interaction is key. Once the user "feels" the heaviness of the data-set it is game over.

btw- half a million data bars is not really a lot of data.


profile picture

Eugene

#7
Weren't 3D rendering firms using 'rendering farms' a decade before the 'cloud computing' buzzword hit the masses? and professional 3D accelerator cards even before 3dfx was in business?

Although I understand your point, we can literally drop those "2 or 3 seconds of video in the middle" because we're talking about historical performance backtest and charting where there's no strict requirement of real-time interactivity.

Wealth-Lab's equity charting is performed with the help of a 3rd party graphics control, Steema TeeChart. Ultimately the graphic component's performance will have major impact on the chart interactivity.

I'd suggest opening a support ticket and including a link to this discussion, so we can ask Fidelity if some optimization is possible in this field.
profile picture

Cone

#8
Don't open a support ticket. I flagged the sluggishness of this third-party control when more than about 25,000 bars are used, and, there was no interest in pursuing a solution since I was the only one complaining about it. Call Fidelity directly about it.
profile picture

redliontrader

#9
The answer is of course it can be fixed, but Wealth Lab chooses not to because it is not high priority to them or Fidelity. I understand that answer. I will forward the discussion to my contacts in the fidelity development group.

thanks





profile picture

jonludwig

#10
This has been problematic for me as well. My system doesn't crash, but program becomes unresponsive for a VERY long time. I typically look at backtests of 1-minute data going back a year or two on larger datasets. I would say the easy solution would be to eliminate the zoom in/out functionality of the equity curve, or sample the equity curve plot.
profile picture

Cone

#11
QUOTE:
I would say the easy solution would be to eliminate the zoom in/out functionality of the equity curve
That's a solution, but if you know it's going to be a problem for your computer, then don't use it. In my case, zoom works fine, it's just slower in proportion to the number of bars.