public NFoldCrossSharpeMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter) { var folds = config.Fitness?.Folds ?? 2; if (folds > 0) { _folds = folds; } }
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; }
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"); } }
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; }
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>(); }
public AdaptiveSharpeRatioFitness(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter) { }
public CompoundingAnnualReturnFitness(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter) { }
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(); }
public NFoldCrossReturnMaximizer(IOptimizerConfiguration config, IFitnessFilter filter) : base(config, filter) { }
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); }