Beispiel #1
0
        public void Judge(IStrategyResults res)
        {
            ICollection <string> allStrategies = res.AllStrategyNames;

            IStockValues    holderValues = res.GetResult("Hold");
            List <DateTime> dates        = holderValues.GetAllDate().ToList <DateTime>();

            dates.Sort();
            DateTime minDate = dates.First <DateTime>();
            DateTime maxDate = dates.Last <DateTime>();

            Debug.Assert(minDate < maxDate);

            DateTime curDate = minDate;

            while (curDate < maxDate)
            {
                foreach (string name in allStrategies)
                {
                    IStockValues values = res.GetResult(name);

                    double holderTotalValue = holderValues.GetTotalValue(curDate);

                    double strategyTotalValue = values.GetTotalValue(curDate);

                    Scores_.AddScore(name, CalcSimpleScore(holderTotalValue, strategyTotalValue));
                }

                curDate = DateFunc.GetNextWorkday(curDate);
            }
        }
Beispiel #2
0
        public void Judge(IStrategyResults res)
        {
            ICollection<string> allStrategies = res.AllStrategyNames;

            IStockValues holderValues = res.GetResult("Hold");
            List<DateTime> dates = holderValues.GetAllDate().ToList<DateTime>();

            dates.Sort();
            DateTime minDate = dates.First<DateTime>();
            DateTime maxDate = dates.Last<DateTime>();
            Debug.Assert(minDate < maxDate);

            DateTime curDate = minDate;
            while (curDate < maxDate)
            {
                foreach (string name in allStrategies)
                {
                    IStockValues values = res.GetResult(name);

                    double holderTotalValue = holderValues.GetTotalValue(curDate);

                    double strategyTotalValue = values.GetTotalValue(curDate);

                    Scores_.AddScore(name, CalcSimpleScore(holderTotalValue, strategyTotalValue));
                }

                curDate = DateFunc.GetNextWorkday(curDate);
            }
        }
        public void Judge(IStrategyResults res)
        {
            _HoldValues = res.GetResult("Hold");

            FindMaxMinDate();

            foreach (string strategyName in res.AllStrategyNames)
            {
                IStockValues values = res.GetResult(strategyName);

                JudgeStrategy(strategyName, values);
            }
        }
 public void SetStrategyResults(IStrategyResults results)
 {
     StrategyResults_ = results;
 }