基金里投资风险指标的计算工具类(夏普比率,波动率,Var值,最大回撤率) 您所在的位置:网站首页 收益风险计算 基金里投资风险指标的计算工具类(夏普比率,波动率,Var值,最大回撤率)

基金里投资风险指标的计算工具类(夏普比率,波动率,Var值,最大回撤率)

2024-05-29 18:52| 来源: 网络整理| 查看: 265

去年在项目里写了一个计算投资风险指标的计算工具类,包含夏普比率,波动率,Var值,最大回撤率四个指标。 计算全部采用BigDecimal类型,开方计算采用牛顿迭代法计算。 其计算公式如下: 在这里插入图片描述 工具类实现:

/** * @describe 投资分析数学计算工具类 */ public class MathUtil { /** * 默认保留小数位数 */ private final static Integer DECIMAL_SCALE = 15; /** * 默认牛顿迭代法计算平方根时迭代次数 */ private final static Integer PRECISION = 20; private final static Integer COUNT = 0; /** * @describe 计算收益率 * @params startNav 期初单位净值 endNav 期末单位净值 */ public static BigDecimal dayYield(BigDecimal startNav, BigDecimal endNav) { return dayYield(startNav, endNav, DECIMAL_SCALE); } public static BigDecimal dayYield(BigDecimal startNav, BigDecimal endNav, int decimalScale) { return dayYield(startNav, endNav, decimalScale, BigDecimal.ROUND_HALF_UP); } public static BigDecimal dayYield(BigDecimal startNav, BigDecimal endNav, int decimalScale, int roundingMode) { BigDecimal dValue = endNav.subtract(startNav); return dValue.divide(startNav, decimalScale, roundingMode); } /** * @describe 计算累计求和 */ public static BigDecimal sum(BigDecimal[] dataArray) { BigDecimal sum = BigDecimal.ZERO; for (BigDecimal data : dataArray) { sum = sum.add(data); } return sum; } /** * @describe 计算算术平均值 */ public static BigDecimal avg(BigDecimal[] dataArray) { return avg(dataArray, DECIMAL_SCALE); } public static BigDecimal avg(BigDecimal[] dataArray, int decimalScale) { return avg(dataArray, decimalScale, BigDecimal.ROUND_HALF_UP); } public static BigDecimal avg(BigDecimal[] dataArray, int decimalScale, int roundingMode) { BigDecimal sum = sum(dataArray); BigDecimal count = new BigDecimal(dataArray.len


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有