/*
* 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";
}
}