Beispiel #1
0
        public NFoldCrossSharpeMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
        {
            var folds = config.Fitness?.Folds ?? 2;

            if (folds > 0)
            {
                _folds = folds;
            }
        }
Beispiel #2
0
 public WalkForwardSharpeMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
     if (config.Fitness == null)
     {
         config.Fitness = new FitnessConfiguration {
             OptimizerTypeName = Enums.OptimizerTypeOptions.RandomSearch.ToString()
         };
     }
     config.Fitness.Folds = config.Fitness?.Folds ?? 2;
 }
Beispiel #3
0
        public NFoldCrossSharpeMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
        {
            var folds = config.Fitness?.Folds ?? 2;

            if (folds > 0)
            {
                _folds = folds;
            }
            if (config.EndDate == null || config.StartDate == null)
            {
                throw new ArgumentException("Must supply start and end dates");
            }
        }
Beispiel #4
0
        public void Setup()
        {
            _config = new OptimizerConfiguration {
                Genes = new[] { new GeneConfiguration {
                                    Key = "p1", Min = 1, Max = 2
                                }, new GeneConfiguration {
                                    Key = "p2", Min = 1, Max = 2
                                } }
            };
            _list = new Dictionary <string, object> {
                { "p1", 1.0 }, { "p2", 0.1 }, { "Id", "abc123" }
            };
            IFitnessFilter filter = null;

            _unit = new WalkForwardWeightedMetricSharpeMaximizer(_config, filter);
            _unit.WalkForwardSharpeMaximizerFactory = new Factory();
        }
 public OptimizerFitness(IOptimizerConfiguration config, IFitnessFilter filter)
 {
     Config = config;
     Filter = filter;
 }
Beispiel #6
0
 public SharpeMaximizer Create(IOptimizerConfiguration config, IFitnessFilter filter)
 {
     return(new SharpeMaximizer(config, filter));
 }
        const int days = 250; // trading days for annualization
        #endregion

        public DeflatedSharpeRatioFitness(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
        {
        }
 public SharpeMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
     _resultIndex = new ConditionalWeakTable <OptimizerResult, string>();
 }
Beispiel #9
0
 public AdaptiveSharpeRatioFitness(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
 }
 public CompoundingAnnualReturnFitness(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
 }
Beispiel #11
0
 public NestedCrossSharpeMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
 }
 public Wrapper(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
 }
 public DualPeriodSharpeFitness(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
 }
        public WalkForwardWeightedMetricSharpeMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
        {
            //one thread for parent and max threads for fold optimizer
            _foldMaxThreads   = config.MaxThreads;
            config.MaxThreads = 1;

            WalkForwardSharpeMaximizerFactory = new WalkForwardSharpeMaximizerFactory();
        }
Beispiel #15
0
 public NFoldCrossReturnMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter)
 {
 }
Beispiel #16
0
            public IWalkForwardSharpeMaximizer Create(IOptimizerConfiguration config, IFitnessFilter filter)
            {
                var mock = new Mock <IWalkForwardSharpeMaximizer>();

                mock.Setup(m => m.Evaluate(It.IsAny <IChromosome>())).Returns(2);
                var allBest = new List <Dictionary <string, object> > {
                    new Dictionary <string, object> {
                        { "p1", 0.1 }, { "p2", 10.0 }
                    }, new Dictionary <string, object> {
                        { "p1", 0.2 }, { "p2", 11.0 }
                    }
                };

                mock.Setup(m => m.AllBest).Returns(allBest);
                var allScores = new List <FitnessResult> {
                    new FitnessResult {
                        Fitness = 1, Value = 2
                    }, new FitnessResult {
                        Fitness = 2, Value = 3
                    }
                };

                mock.Setup(m => m.AllScores).Returns(allScores);

                return(mock.Object);
            }