Table of Contents

Class MonteCarloOptimizer

Namespace
Balsam.Optimization
Assembly
Balsam.Backtester.dll

Optimizes by randomly selecting parameters between OptimizationAttributes start and stop values. Useful for stability testing across parameters.

public class MonteCarloOptimizer : OptimizerBase
Inheritance
MonteCarloOptimizer
Inherited Members
Extension Methods

Properties

Iterations

Gets/sets the number of iterations to run.

public int Iterations { get; set; }

Property Value

int

MaxRuntime

Gets/sets the maximum runtime of the optimization.

public TimeSpan? MaxRuntime { get; set; }

Property Value

TimeSpan?

MinTrades

Gets/sets the minimum number of trades a simulation must have to be included in results.

public int MinTrades { get; set; }

Property Value

int

Methods

GetResults()

Gets the results of the optimization.

public override TradeStatsCollection GetResults()

Returns

TradeStatsCollection

Optimize(Type, VariableDictionary, Type, VariableDictionary, BarSeries, int)

Optimizes using the specified parameters.

public void Optimize(Type strategy, VariableDictionary strategyProperties, Type moneyManager, VariableDictionary moneyManagerProperties, BarSeries data, int maxParallelism = -1)

Parameters

strategy Type
strategyProperties VariableDictionary
moneyManager Type
moneyManagerProperties VariableDictionary
data BarSeries
maxParallelism int

Optimize(Type, VariableDictionary, Type, VariableDictionary, IEnumerable<BarSeries>, IEnumerable<OptimizeAttribute>, IComputePool)

Optimizes using the specified parameters.

public void Optimize(Type strategy, VariableDictionary strategyProperties, Type moneyManager, VariableDictionary moneyManagerProperties, IEnumerable<BarSeries> data, IEnumerable<OptimizeAttribute> optimizationAttributes, IComputePool computePool)

Parameters

strategy Type
strategyProperties VariableDictionary
moneyManager Type
moneyManagerProperties VariableDictionary
data IEnumerable<BarSeries>
optimizationAttributes IEnumerable<OptimizeAttribute>
computePool IComputePool

Exceptions

InvalidOperationException

Optimize(Type, VariableDictionary, Type, VariableDictionary, IEnumerable<BarSeries>, IEnumerable<OptimizeAttribute>, IComputePool, IProgress<double>, CancellationToken)

Optimizes using the specified parameters.

public override void Optimize(Type strategy, VariableDictionary strategyProperties, Type moneyManager, VariableDictionary moneyManagerProperties, IEnumerable<BarSeries> data, IEnumerable<OptimizeAttribute> optimizationAttributes, IComputePool computePool, IProgress<double> progress, CancellationToken token)

Parameters

strategy Type
strategyProperties VariableDictionary
moneyManager Type
moneyManagerProperties VariableDictionary
data IEnumerable<BarSeries>
optimizationAttributes IEnumerable<OptimizeAttribute>
computePool IComputePool
progress IProgress<double>
token CancellationToken

Exceptions

ArgumentNullException
ArgumentException
AggregateException

Optimize(Type, VariableDictionary, Type, VariableDictionary, IEnumerable<BarSeries>, int)

Optimizes using the specified parameters.

public void Optimize(Type strategy, VariableDictionary strategyProperties, Type moneyManager, VariableDictionary moneyManagerProperties, IEnumerable<BarSeries> data, int maxParallelism = -1)

Parameters

strategy Type
strategyProperties VariableDictionary
moneyManager Type
moneyManagerProperties VariableDictionary
data IEnumerable<BarSeries>
maxParallelism int