/// <summary> /// Initializes a new instance of the <see cref="AlgorithmPerformance"/> class /// </summary> /// <param name="trades">The list of closed trades</param> /// <param name="profitLoss">Trade record of profits and losses</param> /// <param name="equity">The list of daily equity values</param> /// <param name="listPerformance">The list of algorithm performance values</param> /// <param name="listBenchmark">The list of benchmark values</param> /// <param name="startingCapital">The algorithm starting capital</param> public AlgorithmPerformance( List<Trade> trades, SortedDictionary<DateTime, decimal> profitLoss, SortedDictionary<DateTime, decimal> equity, List<double> listPerformance, List<double> listBenchmark, decimal startingCapital) { TradeStatistics = new TradeStatistics(trades); PortfolioStatistics = new PortfolioStatistics(profitLoss, equity, listPerformance, listBenchmark, startingCapital); ClosedTrades = trades; }
/// <summary> /// Initializes a new instance of the <see cref="AlgorithmPerformance"/> class /// </summary> /// <param name="trades">The list of closed trades</param> /// <param name="profitLoss">Trade record of profits and losses</param> /// <param name="equity">The list of daily equity values</param> /// <param name="listPerformance">The list of algorithm performance values</param> /// <param name="listBenchmark">The list of benchmark values</param> /// <param name="startingCapital">The algorithm starting capital</param> public AlgorithmPerformance( List <Trade> trades, SortedDictionary <DateTime, decimal> profitLoss, SortedDictionary <DateTime, decimal> equity, List <double> listPerformance, List <double> listBenchmark, decimal startingCapital) { TradeStatistics = new TradeStatistics(trades); PortfolioStatistics = new PortfolioStatistics(profitLoss, equity, listPerformance, listBenchmark, startingCapital); ClosedTrades = trades; }
/// <summary> /// Initializes the fitness score instance and sets the initial portfolio value /// </summary> public void Initialize(IAlgorithm algorithm) { _algorithm = algorithm; _maxPortfolioValue = _previousPortfolioValue = _startingPortfolioValue = algorithm.Portfolio.TotalPortfolioValue; _startUtcTime = _algorithm.UtcTime; // just in case... if (_startingPortfolioValue == 0) { _disabled = true; Log.Error("FitnessScore.Initialize(): fitness score will not be calculated because the" + " algorithms starting portfolio value is 0."); } _negativeDailyDeltaPortfolioValue = new List <double>(); _dailyPortfolioTurnovers = new List <decimal>(); _riskFreeRate = PortfolioStatistics.GetRiskFreeRate(); }
/// <summary> /// Initializes a new instance of the <see cref="AlgorithmPerformance"/> class /// </summary> public AlgorithmPerformance() { TradeStatistics = new TradeStatistics(); PortfolioStatistics = new PortfolioStatistics(); ClosedTrades = new List<Trade>(); }
/// <summary> /// Initializes a new instance of the <see cref="AlgorithmPerformance"/> class /// </summary> public AlgorithmPerformance() { TradeStatistics = new TradeStatistics(); PortfolioStatistics = new PortfolioStatistics(); ClosedTrades = new List <Trade>(); }