Beispiel #1
0
        /// <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))}%" },
            });
        }
Beispiel #2
0
        /// <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)}%" },
            });
        }
Beispiel #3
0
        /// <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)}%" },
            });
        }