Custom Scorecard development
Author: mjj3
Creation Date: 3/11/2013 12:39 PM
profile picture

mjj3

#1
Hi and thanks ahead of time for the help.

I was wondering how to do the following:

a) when creating a custom fitness function in a scorecard is it possible to define variables for the fitness function somewhere? For example, I want to screen out any optimization result with less than [5] trades per year. I want the 5 to be a variable input depending on the strategy I am optimizing. My example is in Score code under RinaIndexMod.

b) Alternatively to a) above, is to add an additional context menu item like the "Assign Preferred Values based on the Highest metric value per symbol", where I can incorporate the above logic among other filters when selecting preferred values.

c) I want to resize the width of the columns of the optimization result to -2 (autofit) automatically. I know how to do this (see commented out code below under populatescorecard method) but I don't want to do it in the scorecard after each optimization result is added to the ListView. I only want to run it after all the results have been calculated and added to the listview. Where would I do that?

d) Lastly, I would like to add a ScoreCard column that would allow me add a ranking after evaluating all of the optimization results for a given symbol. For example, I want to rank all the optimization results by NetProfit [1 - 10] for example and do the same for APD, etc and then combine the rankings (possibly weighting certain measures higher) to come to a definite rank of all the optimization scenarios.

ScoreCard
CODE:
Please log in to see this code.



ScoreItem

CODE:
Please log in to see this code.


Score

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

Eugene

#2
a) Just throwing ideas out there...

1. Use an Input dialog box
2. Read from an external config file
3. Store params in the Strategy code (SystemPerformance.Strategy.Code) and parse it
4. Define params as Strategy parameters and just loop through the values in SystemPerformance.Strategy.ParameterValues from your Scorecard

c) Since the Scorecard interface assumes that PopulateScorecard is run every time a new ListViewItem is being added, I doubt that you have the choice here.
profile picture

mjj3

#3
Thanks Eugene. A couple of quick thoughts.

1. An Input dialog would be perfect, I'm just not sure where to call it. I don't think I would want to put it in the scorecard as that gets called for every iteration. Any ideas?

On a separate issue, I love the Analysis Series Visualizer. Great idea. My only suggestion would be to add a combo box that allows you to filter long/short trades. I find that when I use an oscillator for the data series I want to see just either long or short trades.

Best
Mitch
profile picture

Eugene

#4
QUOTE:
1. An Input dialog would be perfect, I'm just not sure where to call it. I don't think I would want to put it in the scorecard as that gets called for every iteration. Any ideas?


What about a counter as a class level variable?

QUOTE:
On a separate issue, I love the Analysis Series Visualizer. Great idea. My only suggestion would be to add a combo box that allows you to filter long/short trades.


Thank you for the suggestion. I'll mark it for later.
profile picture

kbellare

#5
Is such a custom scorecard available to plug into WL6?

Challenge with WFO is it is forced to use "extreme/outlier" performance metrics (i.e. max metric, whether it is NP, PF, Trade efficiency, Max DD or other), which are prone to curve-fitting, and will give a poor out-of-sample results.

Ideally, the metric for WFO (to get robust parameters and out-of-sample results) should either be
- a set of filters and sort (e.g. highest WL-score with efficiency>5%)
- OR, a ranking system of metrics - use the parameters that are in at least 80 percentiles of PF or WL-score

thanks,
Kiran
profile picture

Eugene

#6
QUOTE:
Is such a custom scorecard available to plug into WL6?

It will be available if you compile the code above. It adds a couple of performance metrics like RINA Index to the multitude of metrics already present in the built-in and MS123 scorecards.
profile picture

akuzn

#7
But how this scorecard can be added to WFO?
profile picture

Eugene

#8
Like any other. All scorecards installed in WL6 appear on the WFO's list of Scorecards.
profile picture

akuzn

#9
Sry just found, had to look another side)
Why you dont place them in one place.

Thank you Mitchell and Eugene.
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).