[ https://issues.apache.org/jira/browse/MATH323?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=12793669#action_12793669
]
Phil Steitz commented on MATH323:

First, thanks for the patch. I am having a hard time validating the computing formula, based
on the description in the references. The formula provided in the Wikipedia reference appears
to be different from what the patch is computing. That is OK if what we want to compute
is something different. We can provide the formula directly in the javadoc. But if there
is a standard formula, we should try to implement something equivalent.
If the intent is to estimate the Sortino ratio, it would seem to me that the values above
the mean should be excluded, rather than collapsed to the mean. If I understand correctly
what the code is trying to compute, these values should be excluded, not recoded. The Sortino
ratio also would seem to require another parameter  the "target" return value. I guess this
is why in your application you shift the mean to zero?
Thanks again for the patch and sorry for the delay reviewing it.
Two comments on the code in the latest patch:
1) the mean() function (actually the Mean statistic) will perform the array bounds check,
so if you move that outside the if statement, you can eliminate the test function.
2) If this is a widely used statistic and/or the computation becomes any more involved than
the patch, we should implement a UnivariateStatisic class to represent it.
> Add Semivariance calculation
> 
>
> Key: MATH323
> URL: https://issues.apache.org/jira/browse/MATH323
> Project: Commons Math
> Issue Type: New Feature
> Affects Versions: 2.1
> Reporter: Larry Diamond
> Assignee: Phil Steitz
> Priority: Minor
> Fix For: 2.1
>
> Attachments: patch.txt, patch2.txt, StatUtils.java, StatUtils.java, StatUtilsTest.java,
StatUtilsTest.java
>
>
> I've added semivariance calculations to my local build of commonsmath and I would like
to contribute them.
> Semivariance is described a little bit on http://en.wikipedia.org/wiki/Semivariance ,
but a real reason you would use them is in finance in order to compute the Sortino ratio rather
than the Sharpe ratio.
> http://en.wikipedia.org/wiki/Sortino_ratio gives an explanation of the Sortino ratio
and why you would choose to use that rather than the Sharpe ratio. (There are other ways
to measure the performance of your portfolio, but I wont bore everybody with that stuff)
> I've already got the coding completed along with the test cases and building using mvn
site.
> The only two files I've modified is src/main/java/org/apache/commons/stat/StatUtils.java
and src/test/java/org/apache/commons/math/stat/StatUtilsTest.java

This message is automatically generated by JIRA.

You can reply to this email to add a comment to the issue online.
