/// <summary> /// Creates a dictionary containing the statistics /// </summary> public Dictionary <string, string> ToDictionary() { var accountCurrencySymbol = Currencies.GetCurrencySymbol(_accountCurrencyProvider?.AccountCurrency ?? Currencies.USD); return(new Dictionary <string, string> { { "Fitness Score", $"{Invariant(FitnessScore)}" }, { "Kelly Criterion Estimate", $"{Invariant(KellyCriterionEstimate)}" }, { "Kelly Criterion Probability Value", $"{Invariant(KellyCriterionProbabilityValue)}" }, { "Sortino Ratio", $"{Invariant(SortinoRatio)}" }, { "Return Over Maximum Drawdown", $"{Invariant(ReturnOverMaxDrawdown)}" }, { "Portfolio Turnover", $"{Invariant(PortfolioTurnover)}" }, { "Total Insights Generated", $"{Invariant(TotalInsightsGenerated)}" }, { "Total Insights Closed", $"{Invariant(TotalInsightsClosed)}" }, { "Total Insights Analysis Completed", $"{Invariant(TotalInsightsAnalysisCompleted)}" }, { "Long Insight Count", $"{Invariant(LongCount)}" }, { "Short Insight Count", $"{Invariant(ShortCount)}" }, { "Long/Short Ratio", $"{Invariant(Math.Round(100*LongShortRatio, 2))}%" }, { "Estimated Monthly Alpha Value", $"{accountCurrencySymbol}{Invariant(EstimatedMonthlyAlphaValue.SmartRounding())}" }, { "Total Accumulated Estimated Alpha Value", $"{accountCurrencySymbol}{Invariant(TotalAccumulatedEstimatedAlphaValue.SmartRounding())}" }, { "Mean Population Estimated Insight Value", $"{accountCurrencySymbol}{Invariant(MeanPopulationEstimatedInsightValue.SmartRounding())}" }, { "Mean Population Direction", $"{Invariant(Math.Round(100 * MeanPopulationScore.Direction, 4))}%" }, { "Mean Population Magnitude", $"{Invariant(Math.Round(100 * MeanPopulationScore.Magnitude, 4))}%" }, { "Rolling Averaged Population Direction", $"{Invariant(Math.Round(100 * RollingAveragedPopulationScore.Direction, 4))}%" }, { "Rolling Averaged Population Magnitude", $"{Invariant(Math.Round(100 * RollingAveragedPopulationScore.Magnitude, 4))}%" }, }); }
/// <summary> /// Creates a dictionary containing the statistics /// </summary> public Dictionary <string, string> ToDictionary() { var accountCurrencySymbol = Currencies.GetCurrencySymbol(CashBook.AccountCurrency); return(new Dictionary <string, string> { { "Total Insights Generated", $"{TotalInsightsGenerated}" }, { "Total Insights Closed", $"{TotalInsightsClosed}" }, { "Total Insights Analysis Completed", $"{TotalInsightsAnalysisCompleted}" }, { "Long Insight Count", $"{LongCount}" }, { "Short Insight Count", $"{ShortCount}" }, { "Long/Short Ratio", $"{Math.Round(100*LongShortRatio, 2)}%" }, { "Estimated Monthly Alpha Value", $"{accountCurrencySymbol}{EstimatedMonthlyAlphaValue.SmartRounding()}" }, { "Total Accumulated Estimated Alpha Value", $"{accountCurrencySymbol}{TotalAccumulatedEstimatedAlphaValue.SmartRounding()}" }, { "Mean Population Estimated Insight Value", $"{accountCurrencySymbol}{MeanPopulationEstimatedInsightValue.SmartRounding()}" }, { "Mean Population Direction", $"{Math.Round(100 * MeanPopulationScore.Direction, 4)}%" }, { "Mean Population Magnitude", $"{Math.Round(100 * MeanPopulationScore.Magnitude, 4)}%" }, { "Rolling Averaged Population Direction", $"{Math.Round(100 * RollingAveragedPopulationScore.Direction, 4)}%" }, { "Rolling Averaged Population Magnitude", $"{Math.Round(100 * RollingAveragedPopulationScore.Magnitude, 4)}%" }, }); }
/// <summary> /// Creates a dictionary containing the statistics /// </summary> public Dictionary <string, string> ToDictionary() { var accountCurrencySymbol = Currencies.GetCurrencySymbol(_accountCurrencyProvider?.AccountCurrency ?? Currencies.USD); return(new Dictionary <string, string> { { "Fitness Score", $"{FitnessScore}" }, { "Sortino Ratio", $"{SortinoRatio}" }, { "Return Over Maximum Drawdown", $"{ReturnOverMaxDrawdown}" }, { "Portfolio Turnover", $"{PortfolioTurnover}" }, { "Total Insights Generated", $"{TotalInsightsGenerated}" }, { "Total Insights Closed", $"{TotalInsightsClosed}" }, { "Total Insights Analysis Completed", $"{TotalInsightsAnalysisCompleted}" }, { "Long Insight Count", $"{LongCount}" }, { "Short Insight Count", $"{ShortCount}" }, { "Long/Short Ratio", $"{Math.Round(100*LongShortRatio, 2)}%" }, { "Estimated Monthly Alpha Value", $"{accountCurrencySymbol}{EstimatedMonthlyAlphaValue.SmartRounding()}" }, { "Total Accumulated Estimated Alpha Value", $"{accountCurrencySymbol}{TotalAccumulatedEstimatedAlphaValue.SmartRounding()}" }, { "Mean Population Estimated Insight Value", $"{accountCurrencySymbol}{MeanPopulationEstimatedInsightValue.SmartRounding()}" }, { "Mean Population Direction", $"{Math.Round(100 * MeanPopulationScore.Direction, 4)}%" }, { "Mean Population Magnitude", $"{Math.Round(100 * MeanPopulationScore.Magnitude, 4)}%" }, { "Rolling Averaged Population Direction", $"{Math.Round(100 * RollingAveragedPopulationScore.Direction, 4)}%" }, { "Rolling Averaged Population Magnitude", $"{Math.Round(100 * RollingAveragedPopulationScore.Magnitude, 4)}%" }, }); }