Пример #1
0
        private void SetPerformanceComparisonChart(MoneyBalanceOverTime cashResults, MoneyBalanceOverTime standardResult, MoneyBalanceOverTime experimentalResult)
        {
            this.PerformanceChart.Series.Clear();
            string title = string.Format("Compare: {0} vs {1} vs {2}",
                                         cashResults.BaseInvestmentStategy.StategyName,
                                         standardResult.BaseInvestmentStategy.StategyName,
                                         experimentalResult.BaseInvestmentStategy.StategyName);

            this.PerformanceChart.Titles.Add(title);

            Series cashSeries = this.PerformanceChart.Series.Add(cashResults.BaseInvestmentStategy.StategyName);

            cashSeries.ChartType = SeriesChartType.FastLine;
            cashSeries.Color     = Color.Green;

            Series standardSeries = this.PerformanceChart.Series.Add(standardResult.BaseInvestmentStategy.StategyName);

            standardSeries.ChartType = SeriesChartType.FastLine;
            standardSeries.Color     = Color.Blue;

            Series experimentalSeries = this.PerformanceChart.Series.Add(experimentalResult.BaseInvestmentStategy.StategyName);

            experimentalSeries.ChartType = SeriesChartType.FastLine;
            experimentalSeries.Color     = Color.Orange;

            for (DateTime currentDate = standardResult.StartDate; currentDate < standardResult.EndDate; currentDate = currentDate.AddDays(1))
            {
                //Closing value chart
                var standardDateValue   = standardResult.DataDictionary[currentDate];
                var experimentDateValue = experimentalResult.DataDictionary[currentDate];
                var saveCashDateValue   = cashResults.DataDictionary[currentDate];

                standardSeries.Points.AddXY(currentDate, standardDateValue.NetWorth);
                experimentalSeries.Points.AddXY(currentDate, experimentDateValue.NetWorth);
                cashSeries.Points.AddXY(currentDate, saveCashDateValue.NetWorth);
            }
        }
Пример #2
0
        public void ChartResults(MoneyBalanceOverTime cashResults, MoneyBalanceOverTime standardResult, MoneyBalanceOverTime experimentalResult)
        {
            amountInvestedValueLabel.Text = "$ " + Math.Round(experimentalResult.AmountInvested, 2).ToString("#,##0.00");
            totalNetWorthLabel.Text       = "$ " + Math.Round(experimentalResult.DataDictionary[experimentalResult.EndDate].NetWorth, 2).ToString("#,##0.00");
            if (experimentalResult.AmountInvested > 0)
            {
                WorthOverInvestRatio.Text = Math.Round(experimentalResult.DataDictionary[experimentalResult.EndDate].NetWorth / experimentalResult.AmountInvested, 2).ToString();
            }

            SetClosingValueChart(standardResult, experimentalResult);
            SetAveragesAndStandardDeviationChart(standardResult, experimentalResult);
            SetPerformanceComparisonChart(cashResults, standardResult, experimentalResult);
            SetDerivativesChart(experimentalResult);
            SetMutedValuesChart(experimentalResult);

            experimentalResult.ToCSVFile();
            experimentalResult.ToMutedCSVFile();
            //SetMutedComparisonResult(experimentalResult);
        }