Ejemplo n.º 1
0
        private void getBenchmarkDataForFullMonths(
            int yearMonth, 
            ClientModelBench clientModelBench,
            CalcData pCalcData)
        {
            foreach (var benchAllocation in clientModelBench.m_client_bench)
            {
                if (!pCalcData.m_perf_data.m_bench_data.ContainsKey(benchAllocation.m_bench_id)) continue;
                var benchMark = pCalcData.m_perf_data.m_bench_data[benchAllocation.m_bench_id];

                if (!benchMark.m_bench_monthly_returns.ContainsKey(yearMonth)) continue;
                var benchMonthlyReturns = benchMark.m_bench_monthly_returns[yearMonth];

                clientModelBench.m_totReturn = benchMonthlyReturns.m_total_return;
                clientModelBench.m_totPriceReturn = benchMonthlyReturns.m_price_return;
                clientModelBench.m_totTurnOver = benchMonthlyReturns.m_turnover;
                clientModelBench.m_totDivReturn = benchMonthlyReturns.m_dividend_return;
            }
        }
Ejemplo n.º 2
0
        private bool calculatePerformanceFromBeginning(
            BenchAllocation benchAllocation,
            BenchReturns benchmarkReturns,
            int yearMonth, ClientModelBench clientModelBench,
            int accountId, Client clientData)
        {
            var benchMonthReturns = benchmarkReturns.m_bench_monthly_returns[yearMonth];
            var benchDayReturns = benchmarkReturns.m_bench_daily_returns[benchAllocation.m_date_to];

            var iLoop = 1;

            clientModelBench.m_totReturn = ((1 + clientModelBench.m_totReturn)*(1 + benchMonthReturns.m_total_return)/
                                            (benchDayReturns.m_price_return_to_month_end)) - 1;

            clientModelBench.m_totPriceReturn = ((1 + clientModelBench.m_totPriceReturn) * (1 + benchMonthReturns.m_price_return) /
                                                (benchDayReturns.m_price_return_to_month_end)) - 1;

            clientModelBench.m_totDivReturn += (benchMonthReturns.m_dividend_return);
        }