Пример #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", $"{FitnessScore}" },
                { "Kelly Criterion Estimate", $"{KellyCriterionEstimate}" },
                { "Kelly Criterion Probability Value", $"{KellyCriterionProbabilityValue}" },
                { "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)}%" },
            });
        }
Пример #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)}%" },
                { "Total Estimated Alpha Value", $"{accountCurrencySymbol}{EstimatedMonthlyAlphaValue.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)}%" },
            });
        }