2010-07-17 159 views
3

我试图计算的Java夏普比率,但我在努力寻找一个“正确”的数据集,结果测试计算夏普比率

指的http://www.hedgeco.net/blogs/2008/07/30/explaining-the-sharpe-ratio-again/

投资证券变动月报表

Jan Feb Mar Apr May June Jul Aug Sep Oct Nov Dec 
1.64 5.85 9.22 3.51 -0.88 1.07 13.03 9.4 10.49 -5.08 n/a n/a 

无风险利率5%

但是,我不能让他得到了什么(2.56,而不是我有2.67舍入误差?)

这是计算夏普比率的正确方法(或普遍接受的方式)吗?

我的代码(使用Apache的公地数学计算统计)

DescriptiveStatistics stats = new DescriptiveStatistics(); 
    for(double item : returns) { 
     stats.addValue(item); 
    } 

    double mean = stats.getMean(); 

    double std = stats.getStandardDeviation(); 

    double sharpeRatio = (mean - (riskFreeReturn/12))/std * Math.sqrt(12); 

    System.out.println("sharpeRatio="+ sharpeRatio); 
+0

首先,夏普比率是“计量经济学”领域的又一个骗局。其次,你确定你正在计算标准偏差吗? – 2010-07-17 03:11:40

+0

我正在使用apache.commons.math库来计算std偏差。所以我认为这是正确的? – portoalet 2010-07-17 03:21:20

+1

@Hamish - Sharpe Ratio是投资术语,而不是计量经济学。 – mob 2010-07-17 03:22:25

回答

3

the calculations文章的链接,你有正确的答案,文章显示错误的结果。

+0

规则DescriptiveStatistics类正在使用无偏估计器(基于commons-math包中的Variance.java上的评论) – portoalet 2010-07-17 07:42:24

+0

@portoalet - 这就是我也发现了,所以我改变了我的答案。 – mob 2010-07-17 21:22:10