Variable precision required for Scorecards
Author: Carova
Creation Date: 2/7/2015 3:18 PM

#### Carova

#1
Hi!

I do believe that the current choice for 2 digit precision for all metrics on the Scorecards should be rethought. Some are just not appropriate (see attachment following post).

Vince

#2

#### Eugene

#3
Variable precision will probably not happen for many reasons: first and foremost, it doesn't make practical sense because 2 digits are enough for 99% cases, and second, because Scorecards have no means for interaction.

If you have a list of particular performance metrics (from MS123 Scorecards only) along with reproducible conditions that do not look appropriate, please share it. This can be corrected if necessary.

#### Carova

#4
Understand. Here are some suggestions:

Metric Suggested Decimal Digit Precision
Lake Ratio 5
K-Ratio 4
MAR Ratio 3
Sharpe 3
Sortino 3
Megan Ratio 4
Profit Factor 3
Ulcer Index 3
T-Test 3

Thanks!
Vince

#### Eugene

#5
In my opinion, Sharpe, Sortino, Profit Factor etc. are perfectly clear to comprehend with just ONE decimal digit precision (e.g. numbers 3.148 or 3.151 are less important fluctuations). Probably I didn't make myself clear. I need a solid reason for making the change, and I do not see it.

#### Carova

#6
For final system evaluations, I agree. However, for the evolutionary optimizers the enhanced precision provides valuable information which helps direct the multiplicity of operations required to reach the near-global optimum.

Vince

#### Eugene

#7
Can't see how it would help a system that generated a dozen Lake Ratios in the 0.145 ballpark and another dozen in the 0.195 ballpark.

#### Carova

#8
Unfortunately, using the current system, the optimizer has no information about the differences between a system with a Lake of 0.0155 and one with a Lake of 0.0245, since both are currently coded to deliver a 0.02 to the optimizer (assuming that rounding has been enabled). And those two systems are very different beasts.

Vince

#### LenMoz

#9
As Vince points out, the "2 decimal digit precision" does preclude using some metrics as optimization targets.

I had hoped that perhaps additional precision was delivered to the optimizers and the two digits only occurred at presentation, but not so. The OptimizationResult data structure prepared by WL optimizer host has only two digits to the right of the decimal.

Len

#### Eugene

#10
Yes, Scorecards are programmed to return floating point numbers with 2 decimals. It's a tradeoff between visual perception and precision. From a technical standpoint, it should be possible to make an educated guess (e.g. based on Preferences > Advanced Options > "Pricing Decimal Places") and return a variable digit number. However, that would affect the display and change user experience.

#### LenMoz

#11
QUOTE:
Yes, Scorecards are programmed to return floating point numbers with 2 decimals.

Cleverly worded. They calculate at full precision, but only return 2 decimals.
QUOTE:
However, that would affect the display and change user experience.

That ... is [unproductive characterization redacted by LenMoz], because it renders many metrics useless. It is bad design. Looking at the MS123Scorecard code, the metric is calculated at full precision, then reduced to two decimal digits only to accommodate presentation? The system should carry full precision through the system, and reduce to appropriate decimal digits only at the point of formatting for presentation.

#### Eugene

#12
Cone and I agree that the loss of precision is hardly acceptable.

However, I think the design looked reasonable at that time around 2009. There was no published Scorecard documentation, no community development, no MS123 Scorecard, no Lake Ratio, even no 3rd party optimizers. That dozen performance metrics the Basic/Extended scorecards were comprised of -- like Net Profit, Profit Factor, Max Drawdown % -- were robust, intuitive, and did not require (an absurdly high) precision of 5 digits. (A -15.86123% drawdown feels exactly the same as a -15.85912% one.)

#### LenMoz

#13
QUOTE:
Cone and I agree that the loss of precision is hardly acceptable.
Then at least add it to the backlog.

#### Carova

#14
Hi Len!

Thank you for jumping in and helping clarify my extremely inarticulate description of the problem. Of course the issue is the number of significant digits, not decimal places. There is some (old) literature that I have seen that demonstrates that optimizations require ~4-6 significant digits to operate efficiently and effectively. These were in the days of limited computing capability when such tradeoffs were made routinely. With modern processors this is generally an anachronistic detail since nearly all operate with doubles at blindingly fast speed, but in this particular situation has become an issue. I do hope it is resolved appropriately. Thanks again!

Vince

#### Eugene

#15
Of course the issue is the number of significant digits, not decimal places.

No. Of course the issue is the number of decimal places, not significant digits.

We will resolve the issue for MS123 Scorecards in the following manner. In upcoming release of the library (early March), the artificial 2-digit limitation will be removed. However, Windows is configured to display 2 decimals by default. After upgrading the extension, anybody concerned may open Windows Control Panel > Regional... > Advanced, change decimal points to 4 (default = 2), restart WL and all non-integer performance metrics across MS123 Scorecards will be displayed with chosen precision.

It's up to Fidelity to fix this cosmetic issue for their Scorecards but it will not be a problem anyway since MS123 Scorecards already contain most of the metrics from Basic and Extended Scorecards (if not all).

#### LenMoz

#16
First, regarding computation, provide the full precision.

Second, regarding presentation... No single format will work. The problem I see is the design decision to use the Windows default display format. That's not appropriate because no single format is appropriate for all metrics. For each metric, choose a display format that fits that metric's working range, as Vince suggests in Post #4.

QUOTE:
It's up to Fidelity to fix this cosmetic issue
Do they know about it? Is this loss of precision acceptable to them?

#### Eugene

#17
QUOTE:
First, regarding computation, provide the full precision.

Yes, this is the plan.

QUOTE:
For each metric, choose a display format that fits that metric's working range, as Vince suggests in Post #4.

I disagree. Two digits are perfectly reasonable for all performance metrics as explained in my post #12. However, the great thing about platform's extensibility is that it allows users with different vision to build their own Scorecards. Here's a starting point:

#### LenMoz

#18
QUOTE:
Two digits are perfectly reasonable for all performance metrics as explained in my post #12.
I'll agree to disagree on this one.

#### Carova

#19
QUOTE:
Two digits are perfectly reasonable for all performance metrics as explained in my post #12.

I am not clear on your reasoning behind this statement after this discussion. I thought that it was clear that it wasn't.

Vince

#### Eugene

#20
See #15. After I make the fix, internally the optimizer will pick up the "uncut" double value from the Scorecard. On how to display those 5-digit Lake Ratios (after the fix) - again, see #15.

#### LenMoz

#21
Vince, you have to understand Eugene's passive aggressive behaviors. From #15...
QUOTE:
After upgrading the extension, anybody concerned may open Windows Control Panel > Regional... > Advanced, change decimal points to 4 (default = 2), restart WL and all non-integer performance metrics in Scorecards will be displayed with chosen precision.
Eugene is saying that if you really care about the precision, just change your whole system, all apps not just WealthLab, and you can see any precision.

#### Eugene

#22
QUOTE:
Eugene's passive aggressive behaviors

There are many users of MS123 Scorecards around the world who simply do not want to see Lake Ratio at 5 digit display precision. They are comfortable with 2 digits (which they round off to 1 in their mind anyway). The breaking change proposed by less than 1% users without any argumentation (5 digits for Lake Ratio? why not 6?) is going to affect 99% users i.e. everyone. However, their opinion is not even considered. In my book, making such a breaking change without asking would be "aggressive behavior".

If some users wish to have more display precision, even two alternatives have been proposed: build your own Scorecard right away, or if you don't want to recompile from source code, wait and change the system.

#### Carova

#23
QUOTE:
See #15. After I make the fix, internally the optimizer will pick up the "uncut" double value from the Scorecard. On how to display those 5-digit Lake Ratios (after the fix) - again, see #15.

I am sorry, but I do not need to see Net Profit to 4 decimal places! This does not solve the problem.

Vince

#### Eugene

#24
QUOTE:
I am sorry, but I do not need to see Net Profit to 4 decimal places!

At last we have reached some partial consensus so to say. The remaining option is to rebuild the MS123 Scorecard on your own. It's open source and the modification is very easy: change "N2" to "N5" (N4, whatever) where required:

CODE:

#### Carova

#25
QUOTE:
At last we have reached some partial consensus so to say. The remaining option is to rebuild the MS123 Scorecard on your own.

Unfortunately I have not been actively programming anything in the last 30 years, but when I acquire and learn how to use modern programming tools (such as IDEs) I do plan to do that. In the interim I will muddle through.

Vince

#### Eugene

#26
QUOTE:
I do not need to see Net Profit to 4 decimal places!

Even with 4 decimal places set, Net Profit is still calculated to 2nd digit (i.e. no fractional cents). There will only be trailing zeroes displayed. e.g. 123,456.7800. This is a minor tradeoff.

#### Carova

#27
I thought that I would bring up this Topic since I had an idea for a simple approach to solve the problem. How about multiplying all of the affected metrics by the appropriate power of 10 to make the the number of significant digits visible?

Might that work?

Vince

#### Eugene

#28
Please see my replies #22 (on why no change is considered appropriate) and #24 (on what you could do to make it work for you), thanks.