/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ namespace QuantConnect.Statistics { /// /// PerformanceMetrics contains the names of the various performance metrics used for evaluation purposes. /// public static class PerformanceMetrics { /// /// Algorithm "Alpha" statistic - abnormal returns over the risk free rate and the relationshio (beta) with the benchmark returns. /// public const string Alpha = "Alpha"; /// /// Annualized standard deviation /// public const string AnnualStandardDeviation = "Annual Standard Deviation"; /// /// Annualized variance statistic calculation using the daily performance variance and trading days per year. /// public const string AnnualVariance = "Annual Variance"; /// /// The average rate of return for losing trades /// public const string AverageLoss = "Average Loss"; /// /// The average rate of return for winning trades /// public const string AverageWin = "Average Win"; /// /// Algorithm "beta" statistic - the covariance between the algorithm and benchmark performance, divided by benchmark's variance /// public const string Beta = "Beta"; /// /// Annual compounded returns statistic based on the final-starting capital and years. /// public const string CompoundingAnnualReturn = "Compounding Annual Return"; /// /// Drawdown maximum percentage. /// public const string Drawdown = "Drawdown"; /// /// Total capacity of the algorithm /// public const string EstimatedStrategyCapacity = "Estimated Strategy Capacity"; /// /// The expected value of the rate of return /// public const string Expectancy = "Expectancy"; /// /// Initial Equity Total Value /// public const string StartEquity = "Start Equity"; /// /// Final Equity Total Value /// public const string EndEquity = "End Equity"; /// /// Information ratio - risk adjusted return /// public const string InformationRatio = "Information Ratio"; /// /// The ratio of the number of losing trades to the total number of trades /// public const string LossRate = "Loss Rate"; /// /// Total net profit percentage /// public const string NetProfit = "Net Profit"; /// /// Probabilistic Sharpe Ratio is a probability measure associated with the Sharpe ratio. /// It informs us of the probability that the estimated Sharpe ratio is greater than a chosen benchmark /// /// See https://www.quantconnect.com/forum/discussion/6483/probabilistic-sharpe-ratio/p1 public const string ProbabilisticSharpeRatio = "Probabilistic Sharpe Ratio"; /// /// The ratio of the average win rate to the average loss rate /// /// If the average loss rate is zero, ProfitLossRatio is set to 0 public const string ProfitLossRatio = "Profit-Loss Ratio"; /// /// Sharpe ratio with respect to risk free rate: measures excess of return per unit of risk. /// /// With risk defined as the algorithm's volatility public const string SharpeRatio = "Sharpe Ratio"; /// /// Sortino ratio with respect to risk free rate: measures excess of return per unit of downside risk. /// /// With risk defined as the algorithm's volatility public const string SortinoRatio = "Sortino Ratio"; /// /// Total amount of fees in the account currency /// public const string TotalFees = "Total Fees"; /// /// Total amount of orders in the algorithm /// public const string TotalOrders = "Total Orders"; /// /// Tracking error volatility (TEV) statistic - a measure of how closely a portfolio follows the index to which it is benchmarked /// /// If algo = benchmark, TEV = 0 public const string TrackingError = "Tracking Error"; /// /// Treynor ratio statistic is a measurement of the returns earned in excess of that which could have been earned on an investment that has no diversifiable risk /// public const string TreynorRatio = "Treynor Ratio"; /// /// The ratio of the number of winning trades to the total number of trades /// /// If the total number of trades is zero, WinRate is set to zero public const string WinRate = "Win Rate"; /// /// Provide a reference to the lowest capacity symbol used in scaling down the capacity for debugging. /// public const string LowestCapacityAsset = "Lowest Capacity Asset"; /// /// The average Portfolio Turnover /// public const string PortfolioTurnover = "Portfolio Turnover"; /// /// The recovery time of the maximum drawdown. /// public const string DrawdownRecovery = "Drawdown Recovery"; } }