示例#1
0
        public void ArrayToVerticalMatrixTest()
        {
            double[] array = new double[] { 1, 2, 3 };

            double[,] matrix = ArrayHelper.ArrayToVerticalMatrix(array);
            Assert.AreEqual(array[1], matrix[1, 0]);
            Assert.AreEqual(matrix.GetUpperBound(0), 2);
            Assert.AreEqual(matrix.GetUpperBound(1), 0);
        }
        /// <summary>
        /// Calculates the ROE from given inputs.
        /// </summary>
        /// <param name="revenue"></param>
        /// <param name="sp"></param>
        /// <param name="cost"></param>
        /// <param name="rore"></param>
        /// <param name="dfCapital"></param>
        /// <param name="dfMarket"></param>
        /// <param name="taxRate"></param>
        /// <param name="frankingRate"></param>
        /// <param name="regCap"></param>
        /// <param name="ffp"></param>
        /// <param name="fxRate"></param>
        /// <returns></returns>
        public Decimal[,] CalculateROE(Decimal[,] revenue, decimal[] sp, decimal[] cost, decimal[] rore,
                                       decimal[] dfCapital, decimal[] dfMarket, decimal taxRate, decimal frankingRate,
                                       decimal[] regCap, decimal ffp, decimal fxRate)
        {
            var result = ROEAnalytics.CalculateROE(ArrayHelper.MatrixToArray(revenue), sp, cost, rore, dfCapital,
                                                   dfMarket, taxRate, frankingRate, regCap, ffp, fxRate);

            return(ArrayHelper.ArrayToVerticalMatrix(result));
        }
        /// <summary>
        /// Calculates the ROE from given inputs.
        /// </summary>
        /// <param name="revenue"></param>
        /// <param name="sp"></param>
        /// <param name="cost"></param>
        /// <param name="rorc"></param>
        /// <param name="dfCapital"></param>
        /// <param name="taxRate"></param>
        /// <param name="frankingRate"></param>
        /// <param name="riskCap"></param>
        /// <param name="ffp"></param>
        /// <param name="fxRate"></param>
        /// <returns></returns>
        public Decimal[,] CalculateRAROC(Decimal[,] revenue, Decimal[,] sp, Decimal[,] cost, Decimal[,] rorc, Decimal[,] dfCapital,
                                         Decimal taxRate, Decimal frankingRate, Decimal[,] riskCap, Decimal ffp, Decimal fxRate)
        {
            var result = RAROCAnalytics.CalculateRAROC(ArrayHelper.MatrixToArray(revenue), ArrayHelper.MatrixToArray(sp), ArrayHelper.MatrixToArray(cost),
                                                       ArrayHelper.MatrixToArray(rorc), ArrayHelper.MatrixToArray(dfCapital),
                                                       taxRate, frankingRate, ArrayHelper.MatrixToArray(riskCap), ffp, fxRate);

            return(ArrayHelper.ArrayToVerticalMatrix(result));
        }
        /// <summary>
        /// Calculates the cost of capital.
        /// </summary>
        /// <param name="revenueBuckets"></param>
        /// <param name="costCapital"></param>
        /// <returns></returns>
        public Decimal[,] GetCostOfCapitalDFs(int[,] revenueBuckets, Decimal costCapital)
        {
            var result = ROEAnalytics.GetCostOfCapitalDFs(ArrayHelper.MatrixToArray(revenueBuckets), costCapital);

            return(ArrayHelper.ArrayToVerticalMatrix(result));
        }