From 15d3f913bdf25e1b7bad6581bbc27b05d72d15d6 Mon Sep 17 00:00:00 2001 From: Supper Jal Date: Sat, 25 Jan 2025 19:44:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=A4=A7=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Alpha/Alpha.csproj | 1 + Alpha/App.xaml | 1 + Alpha/Converters/ExpiryToDateTimeConverter.cs | 4 +- Alpha/Converters/LevelColorConverter.cs | 60 +- Alpha/Helpers/DirectiveReplacerExtension.cs | 12 +- Alpha/Helpers/ExpressionGenerator.cs | 2544 ++++++++++++++++ Alpha/Helpers/HighlightingDefinition.cs | 174 ++ Alpha/Helpers/StringHelper.cs | 21 + Alpha/Helpers/TextEditorHelper.cs | 70 + Alpha/Models/AlphaSummaryStatus.cs | 19 + Alpha/Models/CompletionData.cs | 71 + Alpha/Models/DatasetIdResponse.cs | 60 + Alpha/Models/{Knowledge.cs => FieldData.cs} | 4 +- Alpha/Models/FieldResponse.cs | 6 +- Alpha/Models/OperatorItemResponse.cs | 37 + Alpha/Models/SubmitResult.cs | 8 + Alpha/Properties/UserSettings.cs | 2 + Alpha/Resources/IconDictionary.xaml | 34 + Alpha/ViewModels/AlphaInfoViewModel.cs | 46 +- Alpha/ViewModels/MainViewModel.cs | 398 ++- Alpha/Views/AlphaInfoWindow.xaml | 2 +- Alpha/Views/AlphaInfoWindow.xaml.cs | 4 +- Alpha/Views/MainWindow.xaml | 448 ++- Alpha/Views/MainWindow.xaml.cs | 2568 ++++++++++++++++- UIShell/Styles/Base/ExpanderBase.xaml | 5 +- UIShell/Styles/Base/ScrollViewerBase.xaml | 10 +- settings.json | 2 +- 27 files changed, 6288 insertions(+), 323 deletions(-) create mode 100644 Alpha/Helpers/ExpressionGenerator.cs create mode 100644 Alpha/Helpers/HighlightingDefinition.cs create mode 100644 Alpha/Helpers/StringHelper.cs create mode 100644 Alpha/Helpers/TextEditorHelper.cs create mode 100644 Alpha/Models/AlphaSummaryStatus.cs create mode 100644 Alpha/Models/CompletionData.cs create mode 100644 Alpha/Models/DatasetIdResponse.cs rename Alpha/Models/{Knowledge.cs => FieldData.cs} (68%) create mode 100644 Alpha/Models/OperatorItemResponse.cs create mode 100644 Alpha/Models/SubmitResult.cs create mode 100644 Alpha/Resources/IconDictionary.xaml diff --git a/Alpha/Alpha.csproj b/Alpha/Alpha.csproj index 6fd6f2f..17fedd0 100644 --- a/Alpha/Alpha.csproj +++ b/Alpha/Alpha.csproj @@ -10,6 +10,7 @@ + diff --git a/Alpha/App.xaml b/Alpha/App.xaml index 6e2385c..8b2a1ca 100644 --- a/Alpha/App.xaml +++ b/Alpha/App.xaml @@ -14,6 +14,7 @@ + diff --git a/Alpha/Converters/ExpiryToDateTimeConverter.cs b/Alpha/Converters/ExpiryToDateTimeConverter.cs index 00959ed..b935453 100644 --- a/Alpha/Converters/ExpiryToDateTimeConverter.cs +++ b/Alpha/Converters/ExpiryToDateTimeConverter.cs @@ -6,9 +6,9 @@ public class ExpiryToDateTimeConverter : JsonConverter { public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) { - if (value is DateTime) + if (value is DateTime time) { - writer.WriteValue(((DateTime)value - new DateTime(1970, 1, 1)).TotalSeconds); + writer.WriteValue((time - new DateTime(1970, 1, 1)).TotalSeconds); } else { diff --git a/Alpha/Converters/LevelColorConverter.cs b/Alpha/Converters/LevelColorConverter.cs index 2a5f141..951f442 100644 --- a/Alpha/Converters/LevelColorConverter.cs +++ b/Alpha/Converters/LevelColorConverter.cs @@ -1,4 +1,5 @@ using System.Globalization; +using System.Windows; using System.Windows.Data; using System.Windows.Media; @@ -9,14 +10,57 @@ public class LevelColorConverter : IValueConverter public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return value is string level - ? level.ToUpper() switch - { - "GOLD" => new SolidColorBrush(Color.FromRgb(212, 175, 55)), // 金色 #FFD4AF37 - "SILVER" => new SolidColorBrush(Color.FromRgb(192, 192, 192)), // 银色 #FFC0C0C0 - "BRONZE" => new SolidColorBrush(Color.FromRgb(205, 127, 50)), // 铜色 #FFCD7F32 - _ => new SolidColorBrush(Color.FromRgb(192, 192, 192)) // 默认银色 - } - : (object)new SolidColorBrush(Color.FromRgb(192, 192, 192)); + ? level.ToUpper() switch + { + "GRANDMASTER" => new LinearGradientBrush + { + StartPoint = new Point(0, 0), + EndPoint = new Point(1, 1), + GradientStops = new GradientStopCollection + { + new GradientStop(Color.FromRgb(255, 192, 203), 0.0), // 粉红 + new GradientStop(Color.FromRgb(255, 182, 193), 0.5), // 浅粉红 + new GradientStop(Color.FromRgb(255, 160, 200), 1.0) // 中粉红 + } + }, + "MASTER" => new LinearGradientBrush + { + StartPoint = new Point(0, 0), + EndPoint = new Point(1, 1), + GradientStops = new GradientStopCollection + { + new GradientStop(Color.FromRgb(230, 190, 255), 0.0), // 浅紫 + new GradientStop(Color.FromRgb(221, 160, 255), 0.5), // 淡紫 + new GradientStop(Color.FromRgb(200, 150, 255), 1.0) // 中紫 + } + }, + "EXPERT" => new LinearGradientBrush + { + StartPoint = new Point(0, 0), + EndPoint = new Point(1, 1), + GradientStops = new GradientStopCollection + { + new GradientStop(Color.FromRgb(135, 206, 250), 0.0), // 浅天蓝 + new GradientStop(Color.FromRgb(176, 224, 230), 0.5), // 粉蓝 + new GradientStop(Color.FromRgb(173, 216, 230), 1.0) // 淡蓝 + } + }, + "GOLD" => new LinearGradientBrush + { + StartPoint = new Point(0, 0), + EndPoint = new Point(1, 1), + GradientStops = new GradientStopCollection + { + new GradientStop(Color.FromRgb(255, 223, 0), 0.0), // 明亮金 + new GradientStop(Color.FromRgb(255, 215, 0), 0.5), // 金色 + new GradientStop(Color.FromRgb(255, 200, 0), 1.0) // 浅金 + } + }, + "SILVER" => new SolidColorBrush(Color.FromRgb(192, 192, 192)), // 银色 + "BRONZE" => new SolidColorBrush(Color.FromRgb(205, 127, 50)), // 铜色 + _ => new SolidColorBrush(Color.FromRgb(192, 192, 192)) // 默认银色 + } + : new SolidColorBrush(Color.FromRgb(192, 192, 192)); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) diff --git a/Alpha/Helpers/DirectiveReplacerExtension.cs b/Alpha/Helpers/DirectiveReplacerExtension.cs index bb99c91..1d754f2 100644 --- a/Alpha/Helpers/DirectiveReplacerExtension.cs +++ b/Alpha/Helpers/DirectiveReplacerExtension.cs @@ -4,7 +4,7 @@ namespace Alpha.Helpers { public static class DirectiveReplacerExtension { - public static IEnumerable ExpandPlaceholders(string input, Dictionary> replacements) + public static IEnumerable ExpandPlaceholders(string input, Dictionary> replacements) { MatchCollection matches = Regex.Matches(input, @"\$(\d+)"); List placeholderKeys = []; @@ -18,8 +18,8 @@ public static IEnumerable ExpandPlaceholders(string input, Dictionary> combos = - new List> { Enumerable.Empty<(int, string)>() }; + IEnumerable> combos = + new List> { Enumerable.Empty<(int, string?)>() }; // Build combinations foreach (int key in placeholderKeys) @@ -29,12 +29,12 @@ public static IEnumerable ExpandPlaceholders(string input, Dictionary combo in combos) + foreach (IEnumerable<(int Key, string? Value)> combo in combos) { string result = input; - foreach ((int k, string v) in combo) + foreach ((int k, string? v) in combo) { - result = Regex.Replace(result, @"\$" + k + @"\b", v); + result = Regex.Replace(result, @"\$" + k + @"\b", v ?? "", RegexOptions.IgnoreCase); } yield return result; } diff --git a/Alpha/Helpers/ExpressionGenerator.cs b/Alpha/Helpers/ExpressionGenerator.cs new file mode 100644 index 0000000..c74b2f4 --- /dev/null +++ b/Alpha/Helpers/ExpressionGenerator.cs @@ -0,0 +1,2544 @@ +namespace Alpha.Helpers +{ + public class ExpressionGenerator + { + [Flags] + public enum FieldType + { + Matrix = 0, + Vector = 1, + Universe = 2, + Group = 4, + Boolean = 8, + } + + [Flags] + public enum FunctionType + { + Arithmetic = 0, + Matrix = 1, + Vector = 2, + TimeSeries = 4, + CrossSectional = 8, + Transformational = 16, + Group = 32, + Logical = 64 + } + + [Flags] + public enum UserDefinedType + { + User = 0, + Consultant = 1 + } + + // 字段类,用于手动指定字段名和类型 + public class Field + { + public string Name { get; set; } + public FieldType Type { get; set; } + public UserDefinedType UserType { get; set; } + + public Field(string name, FieldType type, UserDefinedType userType) + { + Name = name; + Type = type; + UserType = userType; + } + } + + // 定义运算符 + public class Operator + { + public string Symbol { get; } + public Func Operation { get; } + public FieldType ResultType { get; } + public List OperandTypes { get; } + + public Operator(string symbol, Func operation, FieldType resultType, List operandTypes) + { + Symbol = symbol; + Operation = operation; + ResultType = resultType; + OperandTypes = operandTypes; + } + + public bool CanApply(FieldType type1, FieldType type2) + { + return OperandTypes.Contains(type1) && OperandTypes.Contains(type2); + } + } + public class FunctionParameter + { + public string Name { get; } + public FieldType Type { get; } + public object? DefaultValue { get; } + + public FunctionParameter(string name, FieldType type, object? defaultValue = null) + { + Name = name; + Type = type; + DefaultValue = defaultValue; + } + } + + public class Function + { + public string Name { get; } + public FunctionType Type { get; } + public UserDefinedType UserType { get; } + public List Parameters { get; } + + public Function(string name, FunctionType type, UserDefinedType userType, List parameterTypes) + { + Name = name; + Type = type; + UserType = userType; + Parameters = parameterTypes; + } + } + + // 函数和字段集合 + private static readonly List _functions = []; + + private static readonly List _fields = []; + + private static readonly List _operators = []; + + private readonly Random random = new(); + + static ExpressionGenerator() + { + InitializeOperators(); + InitializeFields(); + InitializeFunctions(); + } + + private static void InitializeOperators() + { + _operators.Add(new Operator("+", (x, y) => (float)x + (float)y, FieldType.Matrix, [FieldType.Matrix, FieldType.Matrix])); + _operators.Add(new Operator("-", (x, y) => (float)x - (float)y, FieldType.Matrix, [FieldType.Matrix, FieldType.Matrix])); + _operators.Add(new Operator("*", (x, y) => (float)x * (float)y, FieldType.Matrix, [FieldType.Matrix, FieldType.Matrix])); + _operators.Add(new Operator("/", (x, y) => (float)x / (float)y, FieldType.Matrix, [FieldType.Matrix, FieldType.Matrix])); + } + + private static void InitializeFields() + { + // analyst4 + _fields.Add(new Field("anl4_adjusted_netincome_ft", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailafv110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailafv110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailafv110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailafv110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailqfv110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailqfv110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailqfv110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ads1detailqfv110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_adxqfv110_down", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_adxqfv110_high", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_adxqfv110_low", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_adxqfv110_mean", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_adxqfv110_median", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_adxqfv110_numest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_adxqfv110_pu", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ady_down", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ady_high", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ady_low", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ady_mean", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ady_median", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ady_numest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ady_pu", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1actualqfv110_actual", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1actualqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1conafv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1conltv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1conqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1conrecv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1detailafv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1detaillt_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1detailqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bac1detailrec_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconafv110_down", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconafv110_high", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconafv110_low", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconafv110_mean", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconafv110_median", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconafv110_numest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconafv110_pu", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconltv110_down", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconltv110_high", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconltv110_low", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconltv110_mean", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconltv110_median", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconltv110_numest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconltv110_pu", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconqfv110_down", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconqfv110_high", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconqfv110_low", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconqfv110_mean", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconqfv110_median", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconqfv110_numest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicconqfv110_pu", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetaillt_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetaillt_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetaillt_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetaillt_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetailqfv110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetailqfv110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetailqfv110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetailqfv110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetailrec_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetailrec_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_basicdetailrec_ratingvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_baz1v110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_baz1v110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_baz1v110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_baz1v110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_buy", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_bvps_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_bvps_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_bvps_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_bvps_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_bvps_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_bvps_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_bvps_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_capex_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_capex_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_capex_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_capex_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_capex_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_capex_std", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_capex_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cff_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cff_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cff_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cff_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cff_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cff_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cff_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfi_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfi_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfi_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfi_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfi_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfi_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfi_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfo_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfo_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfo_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfo_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfo_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfo_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cfo_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1actualqfv110_actual", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1actualqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1conafv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1conqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1detailafv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1detailqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1guidaf_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1guidaf_maxguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_cuo1guidaf_minguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dei2laf_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dei2lqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dei3lafv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dei3lltv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dei3lqfv110_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dei3lrec_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_detailltv4v104_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_detailltv4v104_preest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_detailrecv4v104_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1afv4_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1afv4_preest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1basicafv4v104_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1basicafv4v104_preest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1basicqfv4v104_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1basicqfv4v104_preest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1qfv4_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1qfv4_preest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1safv4_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dez1safv4_preest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_dts_ptp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_dts_rspe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1laf_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1laf_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1laf_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1laf_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1lqfv110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1lqfv110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1lqfv110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz1lqfv110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lafv110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lafv110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lafv110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lafv110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lltv110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lltv110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lltv110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lltv110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lqfv110_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lqfv110_estvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lqfv110_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lqfv110_prevval", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lrec_bk", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lrec_person", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_eaz2lrec_ratingvalue", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebit_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebit_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebit_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebit_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebit_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebit_std", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebit_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebitda_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebitda_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebitda_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebitda_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebitda_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebitda_std", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ebitda_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_epsa_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_epsr_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_epsr_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_epsr_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_epsr_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_epsr_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_epsr_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcf_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcf_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcf_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcf_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcf_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcf_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcf_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcfps_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcfps_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcfps_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcfps_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcfps_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fcfps_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ffo_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_flag_erbfintax", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsactualafv4_actual", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsactualafv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsactualqfv4_actual", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsactualqfv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsdetailltv4v104_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsdetailrecv4v104_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsdtlestmtafv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsdtlestmtbscqv104_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsdtlestmtbscv104_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsdtlestmtqfv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsdtlestmtsafv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsgdncbscv4_maxguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsgdncbscv4_minguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsguidanceafv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsguidanceafv4_maxguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsguidanceafv4_minguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsguidancebasicqfv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsguidanceqfv4_item", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsguidanceqfv4_maxguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_fsguidanceqfv4_minguidance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_std", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_gric_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_guiafv4_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_guibasicqfv4_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_guiqfv4_est", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_hold", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_mark", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_median_capexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_median_epsreported", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_medianepsbfam", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netdebt_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netdebt_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netdebt_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netdebt_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netdebt_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netdebt_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_std", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofit_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofita_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofita_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofita_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofita_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofita_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofita_std", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_netprofita_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_norec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptp_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptp_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptp_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptp_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptp_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptp_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptp_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptpr_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptpr_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptpr_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptpr_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptpr_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_ptpr_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_cfps_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_cfps_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_cfps_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_div_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_div_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_div_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_dts_spe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_eps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_eps_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_eps_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_hgih_spe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_hgih_spfc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_hgih_vid", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_wol_spe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_wol_spfc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qf_az_wol_vid", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_cfps_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_cfps_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_div_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_div_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_dts_spe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_eps_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_hgih_spe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_hgih_spfc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_hgih_vid", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_wol_spe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_wol_spfc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_az_wol_vid", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_qfd1_azeps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_rd_exp_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_rd_exp_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_rd_exp_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_rd_exp_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_rd_exp_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_rd_exp_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_tbve_ft", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_tbvps_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_tbvps_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_tbvps_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_tbvps_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_tbvps_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_tot_gw_ft", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_total_rec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_flag", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_std", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totassets_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totgw_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totgw_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totgw_mean", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totgw_median", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_totgw_number", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("anl4_under", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("est_bookvalue_ps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_capex", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_cashflow_fin", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_cashflow_invst", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_cashflow_op", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_cashflow_ps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_dividend_ps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_ebit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_ebitda", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_eps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_epsa", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_epsr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_fcf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_fcf_ps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_ffo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_grossincome", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_netdebt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_netprofit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_netprofit_adj", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_ptp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_ptpr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_rd_expense", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_sales", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_sga", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_shequity", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_tbv_ps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_tot_assets", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("est_tot_goodwill", FieldType.Matrix, UserDefinedType.User)); + + // fundamental2 + _fields.Add(new Field("fn_accrued_liab_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accrued_liab_curr_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accrued_liab_curr_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accrued_liab_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accum_depr_depletion_and_amortization_ppne_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accum_depr_depletion_and_amortization_ppne_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accum_oth_income_loss_fx_adj_net_of_tax_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accum_oth_income_loss_fx_adj_net_of_tax_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accum_oth_income_loss_net_of_tax_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_accum_oth_income_loss_net_of_tax_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_allocated_share_based_compensation_expense_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_allocated_share_based_compensation_expense_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_allowance_for_doubtful_accounts_receivable_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_allowance_for_doubtful_accounts_receivable_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_amortization_of_intangible_assets_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_amortization_of_intangible_assets_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_antidilutive_securities_excl_from_eps_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_antidilutive_securities_excl_from_eps_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_l1_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_l1_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_l2_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_l2_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_l3_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_l3_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_assets_fair_val_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_avg_diluted_sharesout_adj_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_avg_diluted_sharesout_adj_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_business_acq_ppne_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_business_acq_ppne_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_business_combination_assets_aquired_goodwill_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_business_combination_assets_aquired_goodwill_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_business_combination_purchase_price_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_business_combination_purchase_price_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_fair_value_assumptions_weighted_avg_vol_rate_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_fair_value_assumptions_weighted_avg_vol_rate_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_forfeited_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_forfeited_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_grants_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_grants_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_nonvested_number_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_nonvested_number_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_vested_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_non_opt_vested_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_not_rec_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_not_rec_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_not_rec_stock_options_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_not_rec_stock_options_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_number_of_shares_authorized_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_number_of_shares_authorized_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_exercisable_number_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_exercisable_number_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_exercisable_weighted_avg_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_exercisable_weighted_avg_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_exercises_weighted_avg_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_exercises_weighted_avg_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_forfeitures_and_expirations_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_forfeitures_and_expirations_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_grants_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_grants_fair_value_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_grants_fair_value_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_grants_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_grants_weighted_avg_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_grants_weighted_avg_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_out_intrinsic_value_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_out_intrinsic_value_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_out_number_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_out_number_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_out_weighted_avg_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comp_options_out_weighted_avg_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comprehensive_income_net_of_tax_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_comprehensive_income_net_of_tax_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_instrument_carrying_amount_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_instrument_carrying_amount_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_instrument_face_amount_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_instrument_face_amount_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_instrument_interest_rate_stated_percentage_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_instrument_interest_rate_stated_percentage_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_issuance_costs_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_debt_issuance_costs_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_income_tax_expense_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_income_tax_expense_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_tax_assets_liab_net_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_tax_assets_liab_net_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_tax_assets_net_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_tax_assets_net_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_tax_liab_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_def_tax_liab_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_derivative_fair_value_of_derivative_asset_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_derivative_fair_value_of_derivative_asset_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_derivative_fair_value_of_derivative_liability_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_derivative_fair_value_of_derivative_liability_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_derivative_notional_amount_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_derivative_notional_amount_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_eff_income_tax_rate_continuing_operations_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_eff_income_tax_rate_continuing_operations_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_effect_of_exchange_rate_on_cash_and_equiv_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_effect_of_exchange_rate_on_cash_and_equiv_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_employee_related_liab_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_employee_related_liab_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_entity_common_stock_shares_out_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_entity_common_stock_shares_out_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_excess_tax_benefit_from_share_based_comp_fin_activities_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_excess_tax_benefit_from_share_based_comp_fin_activities_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_finite_lived_intangible_assets_acq_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_finite_lived_intangible_assets_acq_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_finite_lived_intangible_assets_gross_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_finite_lived_intangible_assets_gross_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_finite_lived_intangible_assets_net_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_finite_lived_intangible_assets_net_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_goodwill_acquired_during_period_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_goodwill_acquired_during_period_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_income_from_equity_investments_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_income_from_equity_investments_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_income_tax_expense_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_income_tax_expense_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_income_taxes_paid_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_income_taxes_paid_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_incremental_shares_attributable_to_share_based_payment_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_incremental_shares_attributable_to_share_based_payment_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_intangible_assets_accum_amort_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_intangible_assets_accum_amort_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_interest_paid_net_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_interest_paid_net_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_interest_payable_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_interest_payable_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_l1_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_l1_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_l2_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_l2_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_l3_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_l3_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_liab_fair_val_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_line_of_credit_facility_amount_out_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_line_of_credit_facility_amount_out_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_line_of_credit_facility_max_borrowing_capacity_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_line_of_credit_facility_max_borrowing_capacity_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_mne_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_new_shares_issued_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_new_shares_options_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_new_shares_options_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_op_lease_min_pay_due_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_op_lease_min_pay_due_after_5y_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_op_lease_min_pay_due_in_2y_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_op_lease_min_pay_due_in_3y_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_op_lease_min_pay_due_in_4y_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_op_lease_min_pay_due_in_5y_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_op_lease_rent_exp_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_comp_fair_value_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_comp_forfeitures_fair_value_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_comp_grants_weighted_avg_grant_date_fair_value_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_comp_grants_weighted_avg_grant_date_fair_value_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_available_for_sale_securities_adj_of_tax_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_available_for_sale_securities_adj_of_tax_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_derivatives_qualifying_as_hedges_of_tax_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_derivatives_qualifying_as_hedges_of_tax_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_fx_transaction_and_tax_translation_adj_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_fx_transaction_and_tax_translation_adj_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_net_of_tax_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_oth_income_loss_net_of_tax_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_payments_for_repurchase_of_common_stock_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_payments_for_repurchase_of_common_stock_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_payments_to_acquire_businesses_net_of_cash_acquired_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_payments_to_acquire_businesses_net_of_cash_acquired_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_ppne_gross_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_ppne_gross_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_prepaid_expense_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_prepaid_expense_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_issuance_of_common_stock_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_issuance_of_common_stock_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_issuance_of_debt_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_issuance_of_debt_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_lt_debt_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_lt_debt_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_stock_options_exercised_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_proceeds_from_stock_options_exercised_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_profit_loss_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_profit_loss_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repayments_of_debt_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repayments_of_debt_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repayments_of_lines_of_credit_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repayments_of_lines_of_credit_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repayments_of_lt_debt_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repayments_of_lt_debt_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repurchased_shares_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repurchased_shares_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repurchased_shares_value_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_repurchased_shares_value_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_taxes_payable_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_taxes_payable_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_treasury_stock_shares_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_treasury_stock_shares_q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fn_unrecognized_tax_benefits_a", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_acmopclcchngcfectnt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_acmopcldbpoprpnt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_allfdbflaccrwriteoffs", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_alsbcmpexrsus", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_atdlsecexfcepsastkos", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_blgandiprtsg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_bnsacqproformarvn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_bnscbmacqrcsts", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_consinprogressg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_curritxexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_dbplanepdrtnplas", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_dbplanintcst", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_dbplannpicbnfcst", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_dbplanservicecst", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_dbplctrbyemp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_dfdtxava", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_eplsbvdcpcstnrgprg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_eplsbvdcpcstnrgsbaoo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_eplsrbcpntxbnffcmpex", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_excesstxbnffsbcpnoprat", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_fedstyitxrt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasacmamtzcsrld", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasamt1expay5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasamt1expnext12m", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasamt1expy5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasamt1expyfour", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasamt1expythree", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasamt1expytwo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_flintasgcsrld", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_frtandfixturesg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_gsles1xtinguishmentofd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_gwllimrml", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_inventoryfinishedgoods", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_inventoryrawmaterials", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_landlandiprts", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_lhdiprtsg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_lineofcrfcyrmbrgcap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_ltrmdmrepoplay5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_ltrmdmrepoplinnext12m", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_ltrmdmrepopliny5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_ltrmdmrepoplinyfour", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_ltrmdmrepoplinythree", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_ltrmdmrepoplinytwo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_opclpsnprtmbnfplansajnt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_provisionfordbflact", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_ptoacqbnsesg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_restructuringcharges", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_rvndm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmpmtwgtm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmpmtwopsffesip", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmpmtwstgm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmpmtwvadpgwepr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmpmwggil", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmsawpfipwerpr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmsptawervl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargmtwfsptepddvdrt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnargtbysbpmtwpwrr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnatqsttotnsvdptfv", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_sbcpnshardustoprgps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_seniornotes", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_stkdrgprdvalnewissues", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_stkrpeprogramardamt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_unrgtxbnfitxpenlintacd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_a_unrgtxbnfthatwdiptetxr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_asdm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_currfedtxexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_currfrtxexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_currstatelocaltxexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanactuarialgl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanamtsrginblsh", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanartonplas", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanbnfol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanbnfpaid", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanbnfpaid_ast", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanchgbnfolintcst", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanepdfbnfp5ytherea", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanepdfbnfpnext12m", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanepdfbnfpy5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanepdfbnfpyfour", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanepdfbnfpythree", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanepdfbnfpytwo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dbplanfvalpnas", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfctrbplancstrg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdfeditxexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdfritxexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdlocalitxexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdtxasoprlcarryfwd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdtxastxcrcarryfwd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdtxastxdfdexpcompbnf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdtxastxdfdexprssaccrs", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdtxlbsgwllandintas", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_dfdtxlbspropplteqm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_ebitdm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_ebitfr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_eixrtreclstatelocalitxes", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_itxreclchgdfdtxava", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_itxreclnondeductibleexp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_itxreclstatelocalitxes", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_itxreexftfedstyitxrt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_oprlsfmpdcurr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_propplteqflublgland", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_propplteqmuflmameqmt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_propplteqmuflmamfrt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_propplteqmuflmblgland", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_propplteqmuflmeqmt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_propplteqmuflmfrt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_atdlsecexfcepsastkos", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_bnsacqproformarvn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_flintasamt1expy5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_flintasamt1expyfour", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_flintasamt1expythree", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_flintasamt1expytwo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_inventoryfinishedgoods", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_inventoryrawmaterials", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_lineofcrfcyrmbrgcap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_ptoacqbnsesg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_q_seniornotes", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_sbcpnshardpreops", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_unremittedfrer", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_unrgtxbnfdcfpprdtxpss", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_unrgtxbnfdecresfsttwtxauth", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_unrgtxbnfinregfcrps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_unrgtxbnfinregfprtxps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd2_unrgtxbnfrdsrefpstf", FieldType.Matrix, UserDefinedType.User)); + + // fundamental6 + _fields.Add(new Field("assets", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("assets_curr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("bookvalue_ps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("capex", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cash", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cash_st", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cashflow", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cashflow_dividends", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cashflow_fin", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cashflow_invst", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cashflow_op", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cogs", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("current_ratio", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("debt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("debt_lt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("debt_st", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("depre_amort", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("ebit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("ebitda", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("employee", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("enterprise_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("eps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("equity", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_acdo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_acodo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_acox", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_acqgdwl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_acqintan", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_adesinda_curcd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_aldo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_am", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_aodo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_aox", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_aqc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_aqi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_aqs", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_beta", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_capxs", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_capxv", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_caxts", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ceql", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ci", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cibegni", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cicurr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cidergl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cik", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cimii", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ciother", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cipen", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cisecgl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_citotal", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_city", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cld2", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cld3", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cld4", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cld5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cogss", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_actq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_atq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_ceqq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_dlttq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_dpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_lctq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_oibdpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_opepsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptmfmq_saleq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_actq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_apq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_atq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_ceqq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_dlttq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_dpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_epsf12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_epsfxq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_epsx12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_lctq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_ltq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_nopiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_oeps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_oiadpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_oibdpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_opepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_rectq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_req", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqeventv110_saleq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_actq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_apq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_atq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_ceqq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_dlttq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_dpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_epsf12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_epsfxq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_epsx12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_lctq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_ltq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_nopiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_oeps12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_oiadpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_oibdpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_opepsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_rectq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_req", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptnewqv1300_saleq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cptrank_gvkeymap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cshpri", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cshr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cshtr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cshtrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cstkcv", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_cstkcvq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_curcddv", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_currencya_curcd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_currencyqv1300_curcd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dclo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dcpstk", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dcvsr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dcvsub", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dcvt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dd1", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dd1q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dd2", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dd3", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dd4", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dd5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dilavx", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_divd", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dlcch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dltis", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dlto", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dltp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dltr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_donr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dps", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dpvieb", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_drc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_drlt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ds", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dudd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dvpa", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dvrated", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dxd2", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dxd3", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dxd4", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_dxd5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ein", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_emps", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_esopct", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_esopnr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_esopr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_esubc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_esubs", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_aqdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_aqepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_cstkcvq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_dd1q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_dtedq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_dteepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_gdwlid12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_gdwlidq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_gdwlieps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_gdwliepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_gldq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_glepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_npq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_nrtxtdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_nrtxtepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_optdrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_optlifeq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_optvolq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_pncd12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_pncdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_pnceps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_pncepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_pncidq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_pncwidq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_pncwiepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_setdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_setepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_spced12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_spidq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_spiepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_txdbcaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_txdbclq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_wddq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_wdepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_eventv110_xaccq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_exre", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fatb", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fatc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fate", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fatl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fatn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fato", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fatp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fiao", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fic", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fopo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fopox", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_fyrc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_gdwls", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ias", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ibmii", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ibs", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_idesindq_curcd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_idit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_iints", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_incorp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_intan", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_intc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_intpn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_intseg", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_invfg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_invo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_invrm", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_invwip", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_itcb", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_itci", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ivaco", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ivaeq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ivaeqs", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ivao", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ivch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ivst", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ivstch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_lcox", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_lcoxdr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_lifr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_lno", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_loc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_lol2", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_loxdr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_lqpl1", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_lul3", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_aoloch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_apalch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_at", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_capx", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_csho", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_dp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_dpc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma1_invch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma2_oancf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma2_opeps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma2_recch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma2_revt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfma2_txach", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfmq_cheq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfmq_cogsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfmq_cshprq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfmq_dlcq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfmq_ibcomq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfmq_mibtq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mfmq_piq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mibn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mibt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mkvalt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mkvaltq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mrc1", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mrc2", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mrc3", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mrc4", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mrc5", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mrct", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_mrcta", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_msa", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_naicss", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aco", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_acominc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_act", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ano", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ao", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aocidergl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aociother", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aocipen", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aol2", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aoloch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_apalch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aqpl1", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_at", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_aul3", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_bkvlps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_caps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_capx", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ceq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ceqt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_che", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_chech", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_cogs", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_cshfd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_cshi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_csho", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_cstk", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dcom", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dlc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dltt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dpact", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dpc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dv", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dvc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_dvt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ebit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ebitda", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_emp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_epsfi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_epsfx", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_epspi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_epspx", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_fca", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_fincf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_gdwl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_gp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ib", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ibadj", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ibc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ibcom", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_icapt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_intano", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_invch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_invt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_ivncf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_lco", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_lct", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_lo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_lse", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa1v1300_lt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_mib", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_mii", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_ni", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_nopi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_oancf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_oiadp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_oibdp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_opeps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_optexd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_pi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_ppegt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_ppent", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_prsho", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_rdip", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_rdipa", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_rdipd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_rdipeps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_re", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_recch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_rect", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_reuna", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_revt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_sale", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_seq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_seqo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_spced", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_spceeps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_spi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_stkco", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_tstk", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_tstkn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_txach", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_txdb", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_txditc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_txp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_txt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_wcap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_xidoc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_xint", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_xoptd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_xopteps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_xrd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newa2v1300_xsga", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newq_xoptdqp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newq_xoptepsqp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newq_xoptqp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_acchgq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_acomincq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_acoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_altoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ancq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_anoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aociderglq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aociotherq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aocipenq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aocisecglq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aol2q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aqaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aqpl1q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aqpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_aul3q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_capsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cheq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_chq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cibegniq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cicurrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ciderglq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cimiiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ciotherq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cipenq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ciq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cisecglq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_citotalq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cogsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_csh12q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cshfdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cshiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cshopq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cshoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cshprq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cstkeq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_cstkq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_dcomq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_diladq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_dilavq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_dlcq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_doq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_dpactq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_drcq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_drltq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_dteaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_dtepq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_dvpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_epsfiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_epspiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_epspxq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_esopctq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_esopnrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_esoprq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_esoptq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_fcaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_gdwlamq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_gdwlia12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_gdwliaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_gdwlipq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_gdwlq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glcea12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glceaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glced12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glcedq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glceeps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glceepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glcepq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_glpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_hedgeglq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ibadj12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ibadjq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ibcomq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ibmiiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ibq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_icaptq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_intanoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_intanq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_invfgq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_invoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_invrmq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_invtq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_invwipq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ivltq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ivstq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_lcoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_lltq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_lnoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_lol2q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_loq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_loxdrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_lqpl1q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_lseq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ltmibq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_lul3q", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_mibnq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_mibq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_mibtq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_miiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_msaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_nrtxtq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_oepf12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_oepsxq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_optfvgrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_optrfrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_piq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pnc12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pnciapq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pnciaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncidpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pnciepspq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pnciepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncippq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncipq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncpd12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncpdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncpeps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncpepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncwiapq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncwiaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncwidpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncwiepq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncwippq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pncwipq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pnrshoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ppegtq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_ppentq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcd12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prce12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prceps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcpd12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcpdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcpeps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcpepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prcraq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_prshoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pstknq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pstkq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_pstkrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rcaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rcdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rcepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rcpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rdipaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rdipdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rdipepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rdipq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_recdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rectaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rectoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rectrq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_reunaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_revtq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_rrpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_seqoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_seqq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_seta12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_setaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_setd12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_seteps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_setpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spce12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spcedpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spcedq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spceeps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spceepsp12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spceepspq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spceepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spcep12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spcepd12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spcepq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spceq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spioaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spiopq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_spiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_stkcoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_stkcpaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_teqq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_tfvaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_tfvceq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_tfvlq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_tstknq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_tstkq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_txdbaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_txdbq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_txdiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_txditcq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_txpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_txtq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_txwq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_wcapq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_wdaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_wdpq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xidoq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xintq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xiq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoprq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xopt12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptd12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptd12p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptdqp", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xopteps12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptepsp12", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptepsq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptepsqp", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xoptqp", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xrdq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqeventv110_xsgaq", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_acomincq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_acoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_altoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ancq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_anoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aociderglq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aociotherq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aocipenq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aocisecglq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aol2q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aqpl1q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_aul3q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_capsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_chq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cibegniq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cicurrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ciderglq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cimiiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ciotherq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cipenq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ciq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cisecglq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_citotalq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cogsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_csh12q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cshfdq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cshiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cshopq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cshoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cshprq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_cstkq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_dcomq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_dilavq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_dlcq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_dpactq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_drcq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_drltq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_epsfiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_epspiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_epspxq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_esopnrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_esoprq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_fcaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_gdwlq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_glcea12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_glced12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_glceeps12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ibadj12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ibadjq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ibcomq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ibmiiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ibq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_icaptq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_intanoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_intanq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_invfgq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_invoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_invrmq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_invtq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_invwipq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ivltq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ivstq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_lcoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_lltq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_lnoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_lol2q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_loq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_loxdrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_lqpl1q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_lseq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ltmibq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_lul3q", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_mibnq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_mibtq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_miiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_msaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_oepf12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_oepsxq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_optfvgrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_optrfrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_piq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_pncq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ppegtq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_ppentq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_prcaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_prcdq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_prcepsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_prcraq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rcpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rdipaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rdipdq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rdipepsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rdipq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_recdq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rectaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rectoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_rectrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_reunaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_revtq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_seqoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_seqq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spcedpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spcedq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spceepsp12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spceepspq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spceepsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spcep12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spcepd12", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spcepq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spceq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_spiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_stkcoq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_stkcpaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_teqq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_tfvaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_tfvceq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_tfvlq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_tstknq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_tstkq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_txdbaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_txdbq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_txdiq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_txditcq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_txpq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_txtq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_txwq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_wcapq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_xintq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_xoprq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_xoptdq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_xoptepsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_xoptq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_xrdq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_newqv1300_xsgaq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_niadj", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_nis", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_nopio", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_nopxs", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_np", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_npq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_nxints", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_obs", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ocaxs", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_oelim", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_oiadps", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_oibdps", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_oprepsx", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ops", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optca", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optdr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optdrq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optex", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optfvgr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optgr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optlife", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optlifeq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optosby", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optosey", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optprcby", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optprcca", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optprcex", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optprcey", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optprcgr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optprcwa", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optrfr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optvol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_optvolq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pidom", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pifo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pncdq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pncepsq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pnrsho", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ppents", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ppeveb", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_prcc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_prccq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_prch", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_prchq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_prcl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_prclq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_prstkc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pstkc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pstkl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_pstkrv", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ptis", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_rank", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_ranks", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_rds", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_rea", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_reajo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_recco", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_recd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_recta", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_rectr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_revts", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_sales", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_salexg", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_sics", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_siv", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_snms", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_spce", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_spis", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_sppe", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_sppiv", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_sstk", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_state", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_stkcpa", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_stype", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_teq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_tfva", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_tfvce", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_tfvl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_tlcf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_tstkc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txbco", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txbcof", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdba", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdbca", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdbcl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdbclq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdfed", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdfo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txdi", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txds", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txfed", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txfo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txndb", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txndba", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txndbl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txndbr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txo", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txpd", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txs", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txts", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubadjust", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubbegin", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubend", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubposdec", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubposinc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubpospdec", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubpospinc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubsettle", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubsoflimit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubtxtr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubxintbs", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txtubxintis", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txw", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_txws", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_weburl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xacc", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xaccq", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xad", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xidos", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xintopt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xints", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xopr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xpp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xpr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xrent", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fnd6_xsgas", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("fnd6_zipcode", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("goodwill", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("income", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("income_beforeextra", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("income_tax", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("interest_expense", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("inventory", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("inventory_turnover", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("invested_capital", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("liabilities", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("liabilities_curr", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("operating_expense", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("operating_income", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("ppent", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pretax_income", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rd_expense", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("receivable", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("retained_earnings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("return_assets", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("return_equity", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("revenue", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("sales", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("sales_growth", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("sales_ps", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("sga_expense", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("working_capital", FieldType.Matrix, UserDefinedType.User)); + + // model16 + _fields.Add(new Field("fscore_growth", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fscore_momentum", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fscore_profitability", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fscore_quality", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fscore_surface", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fscore_surface_accel", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fscore_total", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("fscore_value", FieldType.Matrix, UserDefinedType.User)); + + // model51 + _fields.Add(new Field("beta_last_30_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("beta_last_360_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("beta_last_60_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("beta_last_90_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("correlation_last_30_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("correlation_last_360_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("correlation_last_60_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("correlation_last_90_days_spy", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("systematic_risk_last_30_days", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("systematic_risk_last_360_days", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("systematic_risk_last_60_days", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("systematic_risk_last_90_days", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("unsystematic_risk_last_30_days", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("unsystematic_risk_last_360_days", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("unsystematic_risk_last_60_days", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("unsystematic_risk_last_90_days", FieldType.Matrix, UserDefinedType.User)); + + // news12 + _fields.Add(new Field("news_all_vwap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_atr14", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_atr_ratio", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_cap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_close_vol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_curr_vol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_dividend_yield", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_eod_close", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_eod_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_eod_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_eod_vwap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_eps_actual", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_high_exc_stddev", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_indx_perf", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_low_exc_stddev", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_ls", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_main_vwap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_max_dn_amt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_max_dn_ret", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_max_up_amt", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_max_up_ret", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_10_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_10_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_10_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_1_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_1_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_1_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_20_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_20_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_20_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_2_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_2_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_2_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_3_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_3_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_3_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_4_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_4_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_4_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_5_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_5_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_5_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_7_5_chg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_7_5_pct_dn", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mins_7_5_pct_up", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_mov_vol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_open", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_open_gap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_open_vol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_10min", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_120min", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_1min", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_30min", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_30sec", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_5_min", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_60min", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pct_90min", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pe_ratio", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_post_vwap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_pre_vwap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_prev_close", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_prev_day_ret", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_prev_vol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_range_stddev", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_ratio_vol", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_session_range", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_session_range_pct", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_short_interest", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_spy_close", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_spy_last", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_ton_high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_ton_last", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_ton_low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_tot_ticks", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("news_vol_stddev", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_01l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_01p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_01s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_02l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_02p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_02s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_10_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_120_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_1_minute", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_1l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_1p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_1s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_2l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_2p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_2s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_30_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_3l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_3p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_3s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_41rta", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_4l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_4p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_4s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_57l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_57p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_57s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_5_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_5l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_5p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_5s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_60_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_90_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_allticks", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_atrratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_close_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_curr_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_dayopen", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_div_y", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_eodclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_eodhigh", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_eodlow", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_eodvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_epsactual", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_highexcstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_lowexcstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_mainvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_maxdnamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_maxdown", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_maxup", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_maxupamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_mktcap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_mov_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_newrecord", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_newssess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_open_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_opengap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_peratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_postvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_prev_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_prevclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_prevday", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_prevwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_provider", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_range", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_rangeamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_rangestddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_reportsess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_result1", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_result2", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_result_vs_index", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_short_interest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_sl", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_spyclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_spylast", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_tonhigh", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_tonlast", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_tonlow", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_vol_ratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_afterhsz_volstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_allz_newrecord", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_allz_newssess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_allz_provider", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_allz_reportsess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_allz_result1", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_allz_result2", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_01l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_01p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_01s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_02l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_02p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_02s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_10_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_120_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_1_minute", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_1l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_1p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_1s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_2l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_2p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_2s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_30_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_30_seconds", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_3l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_3p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_3s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_41rta", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_4l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_4p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_4s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_57l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_57p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_57s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_5_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_5l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_5p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_5s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_60_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_90_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_allticks", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_allvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_atrratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_close_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_curr_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_dayopen", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_div_y", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_eodclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_eodhigh", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_eodlow", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_eodvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_epsactual", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_highexcstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_lowexcstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_mainvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_maxdnamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_maxdown", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_maxup", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_maxupamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_mktcap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_mov_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_newrecord", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_newssess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_open_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_opengap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_peratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_postvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_prev_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_prevclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_prevday", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_prevwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_provider", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_range", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_rangeamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_rangestddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_reportsess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_result1", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_result2", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_result_vs_index", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_short_interest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_sl", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_spyclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_spylast", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_tonhigh", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_tonlast", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_tonlow", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_vol_ratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_mainz_volstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_01l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_01p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_01s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_02l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_02p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_02s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_10_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_120_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_1_minute", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_1l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_1p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_1s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_2l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_2p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_2s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_30_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_30_seconds", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_3l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_3p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_3s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_41rta", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_4l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_4p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_4s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_57l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_57p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_57s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_5_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_5l", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_5p", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_5s", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_60_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_90_min", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_allticks", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_allvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_atrratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_close_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_curr_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_dayopen", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_div_y", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_eodclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_eodhigh", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_eodlow", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_eodvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_epsactual", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_highexcstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_lowexcstddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_mainvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_maxdnamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_maxdown", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_maxup", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_maxupamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_mktcap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_mov_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_newrecord", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_newssess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_open_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_opengap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_peratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_postvwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_prev_vol", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_prevclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_prevday", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_prevwap", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_provider", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_range", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_rangeamt", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_rangestddev", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_reportsess", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_result1", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_result2", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_result_vs_index", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_short_interest", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_sl", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_spyclose", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_spylast", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_tonhigh", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_tonlast", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_tonlow", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_vol_ratio", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws12_prez_volstddev", FieldType.Vector, UserDefinedType.User)); + + // news18 + _fields.Add(new Field("nws18_acb", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_bam", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_bee", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_ber", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_event_relevance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_event_similarity_days", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_ghc_lna", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_nip", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_qcm", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_qep", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_qmb", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_relevance", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_ssc", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("nws18_sse", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("rp_css_assets", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_business", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_credit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_credit_ratings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_dividends", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_earnings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_equity", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_insider", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_inverstor", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_labor", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_legal", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_marketing", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_mna", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_partner", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_price", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_product", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_ptg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_ratings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_revenue", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_society", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_css_technical", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_assets", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_business", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_credit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_credit_ratings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_dividends", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_earnings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_equity", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_insider", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_labor", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_legal", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_mna", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_partner", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_price", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_product", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_ptg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_ratings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_revenue", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_society", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_ess_technical", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_assets", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_business", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_credit", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_credit_ratings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_dividends", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_earnings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_equity", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_insider", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_inverstor", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_labor", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_legal", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_marketing", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_mna", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_partner", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_price", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_product", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_ptg", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_ratings", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_revenue", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_society", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rp_nip_technical", FieldType.Matrix, UserDefinedType.User)); + + // option8 + _fields.Add(new Field("historical_volatility_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("historical_volatility_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("historical_volatility_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("historical_volatility_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("historical_volatility_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("historical_volatility_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("historical_volatility_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("historical_volatility_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_call_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_mean_skew_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("implied_volatility_put_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("parkinson_volatility_90", FieldType.Matrix, UserDefinedType.User)); + + // option9 + _fields.Add(new Field("call_breakeven_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("call_breakeven_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("forward_price_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("option_breakeven_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_oi_all", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_90", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pcr_vol_all", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_10", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_1080", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_120", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_150", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_180", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_270", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_30", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_360", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_60", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_720", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("put_breakeven_90", FieldType.Matrix, UserDefinedType.User)); + + // pv1 + _fields.Add(new Field("adv20", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("cap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("close", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("country", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("currency", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("dividend", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("exchange", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("high", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("industry", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("low", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("market", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("open", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("returns", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("sedol", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("sharesout", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("split", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("subindustry", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("volume", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("vwap", FieldType.Matrix, UserDefinedType.User)); + + // pv13 + _fields.Add(new Field("pv13_1l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_2l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_3l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_4l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_5l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_6l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_com_page_rank", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_com_rk_au", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_custretsig_retsig", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_di_5l", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_di_6l", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h2_min2_1k_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h2_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_f1_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_f3_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min10_all_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min10_top3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min20_top3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min22_1000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min24_500_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min2_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min2_focused_pureplay_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min2_focused_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min30_3000_mapped_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min51_f3_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min52_1k_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min52_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min5_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_h_min5_500_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy23_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy23_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy2_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy2_min2_1k_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_f1_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_f2_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_f2_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_f3_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_f4_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_f4_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min100_2000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min100_corr21_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min100_corr21_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_2k_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_2k_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_3k_all_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_industry_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_industry_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_sector_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_sector_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min10_top3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min20_3k_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min20_3k_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min20_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min20_f3_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min20_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min20_top3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min22_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min22_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min22_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min25_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min25_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_focused_only_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_focused_only_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_focused_pureplay_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_focused_pureplay_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_focused_pureplay_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_pureplay_only_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_pureplay_only_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min2_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min30_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min30_3000_mapped_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min30_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min30_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min40_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min50_f3_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min51_f1_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min51_f1_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min51_f2_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min51_f2_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min51_f3_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min51_f4_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min51_f4_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min52_1k_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min52_2k_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min52_2k_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min52_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min52_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min54_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min5_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min5_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min5_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min5_corr21_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min5_f3g2_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_min5_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchy_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchys32_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_hierarchys32_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_new_1l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_new_2l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_new_3l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_new_4l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_new_5l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_new_6l_scibr", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_ompetitorgraphrank_hub_rank", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_percentregion", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_liquid_min10_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_liquid_min2_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_liquid_min5_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min10_1000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min10_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min20_1000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min20_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min2_1000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min2_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min5_1000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_r2_min5_3000_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rcsed_6l", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_region", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("pv13_reportperiodend", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("pv13_reportperiodlen", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("pv13_reporttype", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_city", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_company_total", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_comproduct_company", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_country", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_index_cap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_index_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_key_sector_total", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_level", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_parent", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_term", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_term_sector_total", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_revere_zipcode", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_reveremap", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min10_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min10_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min10_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min10_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min20_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min20_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min20_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min2_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min2_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min2_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min2_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min30_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min40_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min5_1000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min5_3000_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min5_513_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_rha2_min5_sector", FieldType.Group, UserDefinedType.User)); + _fields.Add(new Field("pv13_ustomergraphrank_auth_rank", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_ustomergraphrank_hub_rank", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("pv13_ustomergraphrank_page_rank", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_num_all", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_num_comp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_num_cust", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_num_part", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_ret_all", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_ret_comp", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_ret_cust", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("rel_ret_part", FieldType.Matrix, UserDefinedType.User)); + + // univ1 + _fields.Add(new Field("top1000", FieldType.Universe, UserDefinedType.User)); + _fields.Add(new Field("top200", FieldType.Universe, UserDefinedType.User)); + _fields.Add(new Field("top3000", FieldType.Universe, UserDefinedType.User)); + _fields.Add(new Field("top500", FieldType.Universe, UserDefinedType.User)); + _fields.Add(new Field("topsp500", FieldType.Universe, UserDefinedType.User)); + + // socialmedia12 + _fields.Add(new Field("scl12_alltype_buzzvec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("scl12_alltype_sentvec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("scl12_alltype_typevec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("scl12_buzz", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("scl12_cubealltype_buzzvec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("scl12_cubealltype_sentvec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("scl12_cubealltype_typevec", FieldType.Vector, UserDefinedType.User)); + _fields.Add(new Field("scl12_sentiment", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("snt_buzz", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("snt_buzz_bfl", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("snt_buzz_ret", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("snt_value", FieldType.Matrix, UserDefinedType.User)); + + // socialmedia8 + _fields.Add(new Field("snt_social_value", FieldType.Matrix, UserDefinedType.User)); + _fields.Add(new Field("snt_social_volume", FieldType.Matrix, UserDefinedType.User)); + } + + private static void InitializeFunctions() + { + _functions.Add(new Function("add", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("log", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("subtract", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("signed_power", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("sign", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("reverse", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("power", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("multiply", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("min", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("max", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("inverse", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("densify", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("abs", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("divide", FunctionType.Arithmetic, UserDefinedType.User, [])); + _functions.Add(new Function("equal", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("less", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("and", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("or", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("not_equal", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("not", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("greater", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("greater_than_equal", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("less_than_equal", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("is_nan", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("if_else", FunctionType.Logical, UserDefinedType.User, [])); + _functions.Add(new Function("ts_mean", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_sum", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_std_dev", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_scale", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_rank", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_quantile", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_zscore", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_arg_min", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("kth_element", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_corr", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_count_nans", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_covariance", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_decay_linear", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_product", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_regression", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_step", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_delay", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_backfill", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_av_diff", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("hump", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_arg_max", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("last_diff_value", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("ts_delta", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("days_from_last_change", FunctionType.TimeSeries, UserDefinedType.User, [])); + _functions.Add(new Function("zscore", FunctionType.CrossSectional, UserDefinedType.User, [])); + _functions.Add(new Function("normalize", FunctionType.CrossSectional, UserDefinedType.User, [])); + _functions.Add(new Function("quantile", FunctionType.CrossSectional, UserDefinedType.User, [])); + _functions.Add(new Function("rank", FunctionType.CrossSectional, UserDefinedType.User, [])); + _functions.Add(new Function("scale", FunctionType.CrossSectional, UserDefinedType.User, [])); + _functions.Add(new Function("winsorize", FunctionType.CrossSectional, UserDefinedType.User, [])); + _functions.Add(new Function("vec_sum", FunctionType.Vector, UserDefinedType.User, [])); + _functions.Add(new Function("vec_avg", FunctionType.Vector, UserDefinedType.User, [])); + _functions.Add(new Function("bucket", FunctionType.Transformational, UserDefinedType.User, [])); + _functions.Add(new Function("trade_when", FunctionType.Transformational, UserDefinedType.User, [])); + _functions.Add(new Function("group_zscore", FunctionType.Group, UserDefinedType.User, [])); + _functions.Add(new Function("group_backfill", FunctionType.Group, UserDefinedType.User, [])); + _functions.Add(new Function("group_mean", FunctionType.Group, UserDefinedType.User, [])); + _functions.Add(new Function("group_rank", FunctionType.Group, UserDefinedType.User, [])); + _functions.Add(new Function("group_neutralize", FunctionType.Group, UserDefinedType.User, [])); + } + } +} diff --git a/Alpha/Helpers/HighlightingDefinition.cs b/Alpha/Helpers/HighlightingDefinition.cs new file mode 100644 index 0000000..d9f00fd --- /dev/null +++ b/Alpha/Helpers/HighlightingDefinition.cs @@ -0,0 +1,174 @@ +using System.Text.RegularExpressions; +using System.Windows.Media; +using ICSharpCode.AvalonEdit.Highlighting; + +namespace Alpha.Helpers +{ + internal class HighlightingDefinition : IHighlightingDefinition + { + // 高亮的名称 + public string Name => "AlphaHighlighting"; + + // 主规则集,定义文本的基本高亮规则 + public HighlightingRuleSet MainRuleSet => CreateMainRuleSet(); + + // 命名高亮颜色 + public IEnumerable NamedHighlightingColors => + [ + new HighlightingColor + { + Name = "function", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(222, 222, 95)) + }, + new HighlightingColor + { + Name = "bracket", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(220, 220, 220)) // 亮灰色,让括号更柔和 + }, + new HighlightingColor + { + Name = "keyword", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(197, 134, 192)) // 优雅的紫色,关键字更突出 + }, + new HighlightingColor + { + Name = "number", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(181, 206, 168)) // 柔和的青绿色,数字更易读 + }, + new HighlightingColor + { + Name = "otherSymbols", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(128, 128, 128)) // 中性灰色,符号不太显眼 + }, + new HighlightingColor + { + Name = "variable", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(156, 220, 254)) // 天蓝色,变量更醒目 + }, + new HighlightingColor + { + Name = "string", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(206, 145, 120)) // 暖棕色,字符串更温和 + }, + new HighlightingColor + { + Name = "comment", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(64, 128, 64)) // 注释的颜色(橄榄色) + }, + new HighlightingColor + { + Name = "placeholder", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(255, 183, 130)) + }, + new HighlightingColor + { + Name = "link", + Foreground = new SimpleHighlightingBrush(Color.FromRgb(255, 183, 130)) + } + ]; + + // 属性(如果需要,通常会有语法相关的属性) + public IDictionary Properties => new Dictionary + { + { "Name", Name } + }; + + // 根据名称获取特定的颜色 + public HighlightingColor? GetNamedColor(string name) + { + foreach (HighlightingColor color in NamedHighlightingColors) + { + if (color.Name.Equals(name, StringComparison.OrdinalIgnoreCase)) + { + return color; + } + } + return null; // 未找到对应名称的颜色 + } + + // 根据名称获取特定的规则集 + public HighlightingRuleSet? GetNamedRuleSet(string name) + { + // 这里可以根据不同语言或者规则返回不同的规则集 + return name == "default" ? MainRuleSet : null; + } + + // 创建主要的规则集 + private HighlightingRuleSet CreateMainRuleSet() + { + HighlightingRuleSet ruleSet = new(); + + // 改进的函数规则,匹配定义和调用的函数名 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"([a-zA-Z_][a-zA-Z0-9_]*)\s*(?=\()"), + Color = GetNamedColor("function") + }); + + // 括号规则 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"[\(\)\[\]\{\}]"), + Color = GetNamedColor("bracket") + }); + + // 关键字规则 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"\b(if|else|for|while|return|break|continue|import|class|if_else|is_nan|equal|and|or|not_equal|not)\b"), + Color = GetNamedColor("keyword") + }); + + // 数字规则 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"\b\d+(\.\d+)?\b"), + Color = GetNamedColor("number") + }); + + // 注释规则 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"(#.*|//.*)$"), + Color = GetNamedColor("comment") + }); + + // 其他符号规则 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"[=+\-*/<>!&|,;:._]"), + Color = GetNamedColor("otherSymbols") + }); + + // 变量规则 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"^[a-zA-Z_][a-zA-Z0-9_]*(?=\s*=)"), + Color = GetNamedColor("variable") + }); + + // 变量规则 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"\$(\d+)\b"), + Color = GetNamedColor("placeholder") + }); + + // 字符串规则:匹配单引号和双引号的字符串 + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"(['""].*?['""])"), + Color = GetNamedColor("string") + }); + + // 链接规则http(s): + ruleSet.Rules.Add(new HighlightingRule + { + Regex = new Regex(@"(http|https)://[^\s]+"), + Color = GetNamedColor("link") + }); + + return ruleSet; + } + } +} \ No newline at end of file diff --git a/Alpha/Helpers/StringHelper.cs b/Alpha/Helpers/StringHelper.cs new file mode 100644 index 0000000..f99d32d --- /dev/null +++ b/Alpha/Helpers/StringHelper.cs @@ -0,0 +1,21 @@ +namespace Alpha.Helpers +{ + public static class StringHelper + { + /// + /// 将字符串的第一个字符转换为大写,其他字符转换为小写 + /// + /// 需要处理的字符串 + /// 返回处理后的字符串 + public static string CapitalizeFirstLetter(this string? input) + { + if (string.IsNullOrWhiteSpace(input)) + { + return string.Empty; // 如果输入为空或null,直接返回 + } + + // 将第一个字符转为大写,其余字符转为小写 + return char.ToUpper(input[0]) + input[1..].ToLower(); + } + } +} diff --git a/Alpha/Helpers/TextEditorHelper.cs b/Alpha/Helpers/TextEditorHelper.cs new file mode 100644 index 0000000..437c1c9 --- /dev/null +++ b/Alpha/Helpers/TextEditorHelper.cs @@ -0,0 +1,70 @@ +using System.Windows; +using ICSharpCode.AvalonEdit; + +namespace Alpha.Helpers +{ + public static class TextEditorHelper + { + public static readonly DependencyProperty BindableTextProperty = + DependencyProperty.RegisterAttached( + "BindableText", + typeof(string), + typeof(TextEditorHelper), + new FrameworkPropertyMetadata(default(string), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnBindableTextChanged)); + + public static string GetBindableText(DependencyObject obj) + { + return (string)obj.GetValue(BindableTextProperty); + } + + public static void SetBindableText(DependencyObject obj, string value) + { + obj.SetValue(BindableTextProperty, value); + } + + private static void OnBindableTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + if (d is TextEditor textEditor) + { + // 保存当前的光标位置 + int caretOffset = textEditor.CaretOffset; + + textEditor.TextChanged -= OnTextEditorTextChanged; + + // 暂停撤销/恢复操作 + textEditor.Document.UndoStack.StartUndoGroup(); + + if (e.NewValue is string newText) + { + // 替换文档内容而不重置撤销堆栈 + textEditor.Document.Replace(0, textEditor.Document.TextLength, newText); + } + + // 恢复光标位置 + if (caretOffset <= textEditor.Document.TextLength) + { + textEditor.CaretOffset = caretOffset; + } + else + { + // 如果新文本比原来的短,将光标设置到文本末尾 + textEditor.CaretOffset = textEditor.Document.TextLength; + } + + // 结束撤销/恢复操作 + textEditor.Document.UndoStack.EndUndoGroup(); + textEditor.Document.UndoStack.MarkAsOriginalFile(); + + textEditor.TextChanged += OnTextEditorTextChanged; + } + } + + private static void OnTextEditorTextChanged(object? sender, EventArgs e) + { + if (sender is TextEditor textEditor) + { + SetBindableText(textEditor, textEditor.Text); + } + } + } +} diff --git a/Alpha/Models/AlphaSummaryStatus.cs b/Alpha/Models/AlphaSummaryStatus.cs new file mode 100644 index 0000000..f9756cf --- /dev/null +++ b/Alpha/Models/AlphaSummaryStatus.cs @@ -0,0 +1,19 @@ +using Newtonsoft.Json; + +namespace Alpha.Models +{ + public class AlphaSummaryStatus + { + [JsonProperty("unsubmitted")] + public int Unsubmitted { get; set; } + + [JsonProperty("active")] + public int Active { get; set; } + + [JsonProperty("decommissioned")] + public int Decommissioned { get; set; } + + [JsonProperty("total")] + public int Total { get; set; } + } +} diff --git a/Alpha/Models/CompletionData.cs b/Alpha/Models/CompletionData.cs new file mode 100644 index 0000000..7472d1d --- /dev/null +++ b/Alpha/Models/CompletionData.cs @@ -0,0 +1,71 @@ +using System.Windows; +using System.Windows.Media; +using ICSharpCode.AvalonEdit.CodeCompletion; +using ICSharpCode.AvalonEdit.Document; +using ICSharpCode.AvalonEdit.Editing; + +namespace Alpha.Models +{ + public enum CompletionType + { + Variable, + Function, + Placeholder, + Other + } + + public class CompletionData : ICompletionData + { + public ImageSource? Image { get; set; } + + public string? Text { get; set; } + + public object? Content => Text; + + public object? Description { get; set; } + + public double Priority { get; set; } + + public string SplitText { get; set; } + + public CompletionType CompletionType { get; set; } + + // 构造函数,用于初始化补全项的文本 + public CompletionData(string text, CompletionType completionType) + { + Text = text; + SplitText = string.Empty; + CompletionType = completionType; + Initialize(); + } + + private void Initialize() + { + ResourceDictionary resourceDictionary = Application.Current.Resources; + switch (CompletionType) + { + case CompletionType.Variable: + Image = resourceDictionary["VariableIcon"] as ImageSource; + Description = "变量"; + break; + case CompletionType.Function: + Image = resourceDictionary["FunctionIcon"] as ImageSource; + Description = "函数方法"; + break; + case CompletionType.Placeholder: + Image = resourceDictionary["PlaceholderIcon"] as ImageSource; + Description = "占位符"; + break; + case CompletionType.Other: + Image = resourceDictionary["KeywordIcon"] as ImageSource; + Description = "关键词"; + break; + } + } + + public void Complete(TextArea textArea, ISegment completionSegment, EventArgs insertionRequestEventArgs) + { + textArea.Document.Replace(completionSegment.Offset - SplitText.Length, SplitText.Length, Text); + } + } +} diff --git a/Alpha/Models/DatasetIdResponse.cs b/Alpha/Models/DatasetIdResponse.cs new file mode 100644 index 0000000..e5c2846 --- /dev/null +++ b/Alpha/Models/DatasetIdResponse.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; + +namespace Alpha.Models +{ + public class DatasetIdResponse + { + [JsonProperty("count")] + public int Count { get; set; } + + [JsonProperty("results")] + public List? Results { get; set; } + } + + public class DatasetIdResult + { + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("description")] + public string? Description { get; set; } + + [JsonProperty("dataset")] + public Dataset? Dataset { get; set; } + + [JsonProperty("category")] + public Category? Category { get; set; } + + [JsonProperty("subcategory")] + public Subcategory? Subcategory { get; set; } + + [JsonProperty("region")] + public string? Region { get; set; } + + [JsonProperty("delay")] + public int Delay { get; set; } + + [JsonProperty("universe")] + public string? Universe { get; set; } + + [JsonProperty("type")] + public string? Type { get; set; } + + [JsonProperty("coverage")] + public double Coverage { get; set; } + + [JsonProperty("userCount")] + public int UserCount { get; set; } + + [JsonProperty("alphaCount")] + public int AlphaCount { get; set; } + + [JsonProperty("themes")] + public List? Themes { get; set; } + } +} diff --git a/Alpha/Models/Knowledge.cs b/Alpha/Models/FieldData.cs similarity index 68% rename from Alpha/Models/Knowledge.cs rename to Alpha/Models/FieldData.cs index 70e80a3..26429d7 100644 --- a/Alpha/Models/Knowledge.cs +++ b/Alpha/Models/FieldData.cs @@ -1,10 +1,10 @@ namespace Alpha.Models { - public class Knowledge + public class FieldData { public string? Title { get; set; } public string? Description { get; set; } public int FieldCount { get; set; } - public List? Fields { get; set; } + public List? Fields { get; set; } } } \ No newline at end of file diff --git a/Alpha/Models/FieldResponse.cs b/Alpha/Models/FieldResponse.cs index cc2f7fa..47386d7 100644 --- a/Alpha/Models/FieldResponse.cs +++ b/Alpha/Models/FieldResponse.cs @@ -1,4 +1,4 @@ -using Newtonsoft.Json; +using Newtonsoft.Json; namespace Alpha.Models { @@ -8,10 +8,10 @@ public class FieldResponse public int Count { get; set; } [JsonProperty("results")] - public List? Results { get; set; } + public List? Results { get; set; } } - public class Field + public class FieldItem { [JsonProperty("id")] public string? Id { get; set; } diff --git a/Alpha/Models/OperatorItemResponse.cs b/Alpha/Models/OperatorItemResponse.cs new file mode 100644 index 0000000..d3286cc --- /dev/null +++ b/Alpha/Models/OperatorItemResponse.cs @@ -0,0 +1,37 @@ +using System.Collections; + +namespace Alpha.Models +{ + public class OperatorResponse : IGrouping + { + private readonly IEnumerable _operators; + + public OperatorResponse(string category, IEnumerable operators) + { + Key = category; + _operators = operators; + } + + public string Key { get; } + + public IEnumerator GetEnumerator() + { + return _operators.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + } + + public class OperatorItemResponse + { + public string? Name { get; set; } + public string? Category { get; set; } + public List? Scope { get; set; } + public string? Definition { get; set; } + public string? Description { get; set; } + public string? Documentation { get; set; } + } +} diff --git a/Alpha/Models/SubmitResult.cs b/Alpha/Models/SubmitResult.cs new file mode 100644 index 0000000..e3b9bce --- /dev/null +++ b/Alpha/Models/SubmitResult.cs @@ -0,0 +1,8 @@ +namespace Alpha.Models +{ + public struct SubmitResult + { + public bool Success { get; set; } + public string Message { get; set; } + } +} diff --git a/Alpha/Properties/UserSettings.cs b/Alpha/Properties/UserSettings.cs index fd75377..49527c7 100644 --- a/Alpha/Properties/UserSettings.cs +++ b/Alpha/Properties/UserSettings.cs @@ -11,6 +11,7 @@ public class UserSettings : ReactiveObject [JsonProperty][Reactive] public string? Email { get; set; } [JsonProperty][Reactive] public string? Password { get; set; } [JsonProperty][Reactive] public int BackTestModeIndex { get; set; } + [JsonProperty][Reactive] public int BackTestOrderIndex { get; set; } [JsonProperty][Reactive] public int ProgrammingLanguageIndex { get; set; } [JsonProperty][Reactive] public int AssetClassIndex { get; set; } [JsonProperty][Reactive] public int RegionIndex { get; set; } @@ -20,6 +21,7 @@ public class UserSettings : ReactiveObject [JsonProperty][Reactive] public int DataCleaningIndex { get; set; } [JsonProperty][Reactive] public int WarningThrowingIndex { get; set; } [JsonProperty][Reactive] public int MissingValueHandlingIndex { get; set; } + [JsonProperty][Reactive] public int LastExecuteIndex { get; set; } [JsonProperty][Reactive] public bool AutoSubmit { get; set; } [JsonProperty][Reactive] public bool IgnoreWarnings { get; set; } [JsonProperty][Reactive] public bool IgnoreErrors { get; set; } diff --git a/Alpha/Resources/IconDictionary.xaml b/Alpha/Resources/IconDictionary.xaml new file mode 100644 index 0000000..356a922 --- /dev/null +++ b/Alpha/Resources/IconDictionary.xaml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Alpha/ViewModels/AlphaInfoViewModel.cs b/Alpha/ViewModels/AlphaInfoViewModel.cs index 14be789..b2fe0b7 100644 --- a/Alpha/ViewModels/AlphaInfoViewModel.cs +++ b/Alpha/ViewModels/AlphaInfoViewModel.cs @@ -12,12 +12,9 @@ public class AlphaInfoViewModel : ViewModelBase { public HttpClient? Client { get; set; } public ICommand SubmitCommand { get; } - [Reactive] - public AlphaResponse? AlphaResponse { get; set; } - [Reactive] - public bool CancelSubmit { get; set; } - [Reactive] - public bool CanSubmit { get; set; } + [Reactive] public AlphaResponse? AlphaResponse { get; set; } + [Reactive] public bool CancelSubmit { get; set; } + [Reactive] public bool CanSubmit { get; set; } public AlphaInfoViewModel() { @@ -33,7 +30,8 @@ private async Task Submit() return; } - if (await SubmitAlpha(AlphaResponse.Id)) + SubmitResult result = await SubmitAlpha(AlphaResponse.Id); + if (result.Success) { _ = MessageBox.Show("提交成功。", "提示", MessageBoxButton.OK, MessageBoxImage.Information); } @@ -43,15 +41,17 @@ private async Task Submit() { return; } - _ = MessageBox.Show("提交失败。", "错误", MessageBoxButton.OK, MessageBoxImage.Error); + _ = MessageBox.Show(result.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error); } } - private async Task SubmitAlpha(string? alphaId) + private async Task SubmitAlpha(string? alphaId) { + SubmitResult submitResult = new(); if (Client == null || string.IsNullOrEmpty(alphaId)) { - return false; + submitResult.Message = "Alpha 不存在。"; + return submitResult; } string url = $"https://api.worldquantbrain.com/alphas/{alphaId}/submit"; @@ -59,18 +59,19 @@ private async Task SubmitAlpha(string? alphaId) if (response.StatusCode == HttpStatusCode.OK) { - return true; + submitResult.Success = true; + submitResult.Message = "提交成功。"; + return submitResult; } - - string? getUrl = response.Headers.Location?.ToString(); - if (string.IsNullOrEmpty(getUrl)) + else if (response.StatusCode != HttpStatusCode.Created) { - return false; + submitResult.Message = "请求失败。(" + (int)response.StatusCode + ")"; + return submitResult; } while (!CancelSubmit) { - HttpResponseMessage getResponse = await Client.GetAsync(getUrl); + HttpResponseMessage getResponse = await Client.GetAsync(url); if (getResponse.Headers.TryGetValues("Retry-After", out IEnumerable? retryAfterValues)) { @@ -80,11 +81,20 @@ private async Task SubmitAlpha(string? alphaId) } else { - return getResponse.StatusCode != HttpStatusCode.Forbidden; + if (getResponse.StatusCode == HttpStatusCode.OK) + { + submitResult.Success = true; + submitResult.Message = "提交成功。"; + } + else + { + submitResult.Message = getResponse.StatusCode == HttpStatusCode.SeeOther ? "请稍后再试。(303)" : "请求失败。(" + (int)getResponse.StatusCode + ")"; + } + return submitResult; } } - return false; + return submitResult; } } } diff --git a/Alpha/ViewModels/MainViewModel.cs b/Alpha/ViewModels/MainViewModel.cs index 8741f25..a43423c 100644 --- a/Alpha/ViewModels/MainViewModel.cs +++ b/Alpha/ViewModels/MainViewModel.cs @@ -7,7 +7,7 @@ using System.Reactive.Linq; using System.Runtime.InteropServices; using System.Text; -using System.Text.Json; +using System.Text.RegularExpressions; using System.Windows; using System.Windows.Input; using System.Windows.Threading; @@ -23,36 +23,25 @@ namespace Alpha.ViewModels { public class MainViewModel : ViewModelBase { - [Reactive] - public string? TestSummary { get; set; } - [Reactive] - public string? Code { get; set; } - [Reactive] - public string? BackTestButtonText { get; set; } - [Reactive] - public string? PauseBackTestButtonText { get; set; } - [Reactive] - public string? AlphaQuery { get; set; } - [Reactive] - public bool IsPaused { get; set; } - [Reactive] - public bool HasBackTestStarted { get; set; } - [Reactive] - public bool CanSubmit { get; set; } - [Reactive] - public WorldQuantAccountLoginResponse? WorldQuantAccountLoginResponse { get; set; } - [Reactive] - public ObservableCollection? KnowledgeList { get; set; } - [Reactive] - public ObservableCollection? SimulationCompletedDatas { get; set; } - [Reactive] - public Knowledge? SelectedKnowledge { get; set; } - [Reactive] - public bool IsKnowledgeLoading { get; set; } - [Reactive] - public CompetitionResponse? Competition { get; set; } - [Reactive] - public AlphaResponse? AlphaResponse { get; set; } + [Reactive] public string? TestSummary { get; set; } + [Reactive] public string? Code { get; set; } + [Reactive] public string? BackTestButtonText { get; set; } + [Reactive] public string? PauseBackTestButtonText { get; set; } + [Reactive] public string? AlphaQuery { get; set; } + [Reactive] public bool IsPaused { get; set; } + [Reactive] public bool HasBackTestStarted { get; set; } + [Reactive] public bool CanSubmit { get; set; } + [Reactive] public WorldQuantAccountLoginResponse? WorldQuantAccountLoginResponse { get; set; } + [Reactive] public ObservableCollection? FieldDataList { get; set; } + [Reactive] public FieldData? SelectedFieldData { get; set; } + [Reactive] public ObservableCollection? Categories { get; set; } + [Reactive] public OperatorResponse? SelectedCategory { get; set; } + [Reactive] public ObservableCollection? FilteredOperators { get; set; } + [Reactive] public ObservableCollection? SimulationCompletedDatas { get; set; } + [Reactive] public bool IsKnowledgeLoading { get; set; } + [Reactive] public CompetitionResponse? Competition { get; set; } + [Reactive] public AlphaResponse? AlphaResponse { get; set; } + [Reactive] public AlphaSummaryStatus? AlphaSummary { get; set; } public UserSettings UserSettings { get; } private IgnoreStatus _currentStatus; @@ -69,17 +58,19 @@ public IgnoreStatus CurrentStatus public ICommand PauseBackTestCommand { get; } public ICommand AlphaQueryCommand { get; } public ICommand SubmitCommand { get; } + public ICommand CopyAlphaRegularCommand { get; } + public ICommand OpenAlphaDetailsUrlCommand { get; } private HttpClientHandler? _httpClientHandler; private HttpClient? _httpClient; private List? _alphaList; private CancellationTokenSource? _cts; private DispatcherTimer? dispatcherTimer; + private List? _allOperators; public MainViewModel() { UserSettings = Settings.User; - base.PropertyChanged += MainViewModel_PropertyChanged; LoginCommand = ReactiveCommand.CreateFromTask(Login, this.WhenAnyValue(x => x.UserSettings.Email, x => x.UserSettings.Password, (email, password) => !string.IsNullOrWhiteSpace(email) && !string.IsNullOrWhiteSpace(password)), this); BackTestCommand = ReactiveCommand.Create(BackTest, this.WhenAny(x => x.WorldQuantAccountLoginResponse, x => x.Value != null), this); GetKnowledgeCommand = ReactiveCommand.CreateFromTask(LoadKnowledge, this.WhenAnyValue(x => x.WorldQuantAccountLoginResponse, y => y.IsKnowledgeLoading, (x, y) => x != null && !y), this); @@ -87,11 +78,40 @@ public MainViewModel() PauseBackTestCommand = ReactiveCommand.Create(PauseBackTest, this.WhenAny(x => x.WorldQuantAccountLoginResponse, x => x.Value != null), this); AlphaQueryCommand = ReactiveCommand.CreateFromTask(DoAlphaQuery, this.WhenAnyValue(x => x.AlphaQuery, x => x.WorldQuantAccountLoginResponse, (x, y) => !string.IsNullOrWhiteSpace(x) && y != null), this); SubmitCommand = ReactiveCommand.CreateFromTask(Submit, this.WhenAnyValue(x => x.WorldQuantAccountLoginResponse, x => x.AlphaResponse, (x, y) => x != null && y != null), this); + CopyAlphaRegularCommand = ReactiveCommand.Create(CopyAlphaRegular, outputScheduler: this); + OpenAlphaDetailsUrlCommand = ReactiveCommand.Create(OpenAlphaDetailsUrl, outputScheduler: this); PauseBackTestButtonText = "暂停"; BackTestButtonText = "回测"; Initialize(); } + private Unit OpenAlphaDetailsUrl(AlphaResponse? alpha) + { + if (alpha?.Id == null) + { + return default; + } + + _ = Process.Start(new ProcessStartInfo("https://platform.worldquantbrain.com/alpha/" + alpha.Id) { UseShellExecute = true }); + return default; + } + + private Unit CopyAlphaRegular(AlphaResponse? alpha) + { + if (alpha?.Regular?.Code != null) + { + try + { + Clipboard.SetText(alpha.Regular.Code); + } + catch (Exception ex) + { + _ = MessageBox.Show("复制失败: " + ex.Message + ".", "错误", MessageBoxButton.OK, MessageBoxImage.Error); + } + } + return default; + } + private async Task Submit() { if (AlphaResponse?.Id == null) @@ -100,9 +120,10 @@ private async Task Submit() return; } - _ = await SubmitAlpha(AlphaResponse.Id) + SubmitResult result = await SubmitAlpha(AlphaResponse.Id); + _ = result.Success ? MessageBox.Show("提交成功。", "提示", MessageBoxButton.OK, MessageBoxImage.Information) - : MessageBox.Show("提交失败。", "错误", MessageBoxButton.OK, MessageBoxImage.Error); + : MessageBox.Show(result.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error); } private void PauseBackTest() @@ -111,12 +132,13 @@ private void PauseBackTest() PauseBackTestButtonText = IsPaused ? "继续" : "暂停"; } - private void Initialize() + private async void Initialize() { + PropertyChanged += MainViewModel_PropertyChanged; UserSettings.PropertyChanged += UserSettings_PropertyChanged; dispatcherTimer = new() { - Interval = TimeSpan.FromMinutes(30) + Interval = TimeSpan.FromMinutes(5) }; dispatcherTimer.Tick += GetCompetitionTimer_Tick; TestSummary = "未回测"; @@ -124,7 +146,46 @@ private void Initialize() PreventSleep(); if (!string.IsNullOrWhiteSpace(UserSettings.Email) && !string.IsNullOrWhiteSpace(UserSettings.Password)) { - _ = Login(); + await Login(); + } + //await GetFileds(); + } + + private void MainViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e) + { + switch (e.PropertyName) + { + case nameof(SelectedCategory): + FilterOperators(); + break; + } + } + + private void FilterOperators() + { + if (SelectedCategory == null) + { + FilteredOperators?.Clear(); + } + else + { + FilteredOperators = [.. SelectedCategory]; + } + } + + private async Task GetFileds() + { + if (WorldQuantAccountLoginResponse != null) + { + SearchScope searchScope = new(UserSettings.SimulationSettings.Region?.ToUpper(), UserSettings.SimulationSettings.DecisionDelay?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper()); + StringBuilder sb = new(); + foreach (DatasetIdResult item in await GetDataFields(searchScope, datasetId: "socialmedia8")) + { + _ = sb.AppendLine($"new Field(\"{item.Id}\", FieldType.{item.Type.CapitalizeFirstLetter()}, UserDefinedType.User),"); + } + ; + string str = sb.ToString(); + Console.WriteLine(str); } } @@ -146,6 +207,7 @@ private void UserSettings_PropertyChanged(object? sender, System.ComponentModel. private void GetCompetitionTimer_Tick(object? sender, EventArgs e) { _ = LoadCompetition(); + _ = LoadAlphaSummary(); } public async Task DoAlphaQuery() @@ -174,7 +236,7 @@ public async Task DoAlphaQuery() private Unit ViewAlphaDetails(AlphaResponse response) { - AlphaInfoWindow alphaDetailsViewModel = new(response); + AlphaInfoWindow alphaDetailsViewModel = new(response, _httpClient); alphaDetailsViewModel.Show(); return default; } @@ -186,8 +248,37 @@ private async Task LoadCompetition() return; } - string json = await _httpClient.GetStringAsync("https://api.worldquantbrain.com/competitions/challenge"); - Competition = JsonConvert.DeserializeObject(json); + try + { + string json = await _httpClient.GetStringAsync("https://api.worldquantbrain.com/competitions/challenge"); + Competition = JsonConvert.DeserializeObject(json); + } + catch (Exception) + { + + } + } + + private async Task LoadAlphaSummary() + { + if (_httpClient == null || _httpClientHandler == null || WorldQuantAccountLoginResponse == null) + { + return; + } + + try + { + HttpRequestMessage request = new(HttpMethod.Get, "https://api.worldquantbrain.com/users/self/alphas/summary"); + request.Headers.Add("Accept", "application/json;version=4.0"); + string json = await (await _httpClient.SendAsync(request)).Content.ReadAsStringAsync(); + AlphaSummaryStatus alphaSummary = JsonConvert.DeserializeObject(json) ?? new(); + alphaSummary.Total = alphaSummary.Unsubmitted + alphaSummary.Decommissioned + alphaSummary.Active; + AlphaSummary = alphaSummary; + } + catch (Exception) + { + + } } private void UpdateStatus() @@ -222,7 +313,9 @@ private void UpdateStatus() private async Task LoadKnowledge() { - KnowledgeList = []; + FieldDataList = []; + Categories = []; + _allOperators = []; IsKnowledgeLoading = true; DatasetResponse? datasetResponse = await GetDataset(); @@ -235,21 +328,34 @@ private async Task LoadKnowledge() if (fieldResponse?.Results != null) { - Knowledge knowledge = new() + FieldData knowledge = new() { Title = dataset.Name, Description = dataset.Description, Fields = [], FieldCount = dataset.FieldCount }; - KnowledgeList.Add(knowledge); - foreach (Field field in fieldResponse.Results) + FieldDataList.Add(knowledge); + foreach (FieldItem field in fieldResponse.Results) { knowledge.Fields.Add(field); } } } } + + OperatorItemResponse[]? operatorResponse = await GetFunctions(); + + if (operatorResponse != null) + { + _allOperators.AddRange(operatorResponse); + IOrderedEnumerable groupedOperators = operatorResponse.GroupBy(o => o.Category) + .Select(g => new OperatorResponse(g.Key ?? "Unknown", [.. g])) + .OrderBy(g => g.Key); + Categories = [.. groupedOperators]; + SelectedCategory = Categories.FirstOrDefault(); + FilterOperators(); + } IsKnowledgeLoading = false; } @@ -298,8 +404,13 @@ private async Task BackTest() SimulationCompletedDatas = []; SemaphoreSlim semaphore = WorldQuantAccountLoginResponse.Permissions.Contains("CONSULTANT") ? new(10) : new(3); List incoming = []; + int lastIndex = UserSettings.LastExecuteIndex; + List list = await Task.Run(() => + { + return UserSettings.BackTestOrderIndex == 0 ? _alphaList : [.. _alphaList.Skip(Math.Max(0, Math.Min(_alphaList.Count - 1, UserSettings.BackTestOrderIndex)))]; + }); - List tasks = _alphaList.Select(async item => + List tasks = list.Select(async item => { await semaphore.WaitAsync(); if (token.IsCancellationRequested) @@ -307,6 +418,11 @@ private async Task BackTest() return; } int incomingIndex = index + 1; + if (UserSettings.BackTestModeIndex == 0 && UserSettings.BackTestOrderIndex == 1) + { + incomingIndex += lastIndex; + UserSettings.LastExecuteIndex = incomingIndex; + } try { await Relogin(); @@ -365,7 +481,7 @@ private async Task BackTest() result.AlphaResult = alpha; if (UserSettings.AutoSubmit && alpha?.Is?.Checks?.Any(check => check.Result?.ToUpper()?.Equals("FAIL", StringComparison.OrdinalIgnoreCase) == true) == false) { - if (await SubmitAlpha(result.Alpha)) + if ((await SubmitAlpha(result.Alpha, token)).Success) { alpha.Status = "ACTIVE"; } @@ -390,7 +506,7 @@ private async Task BackTest() result.AlphaResult = alpha?.Id == null ? null : alpha; if (UserSettings.AutoSubmit && alpha?.Is?.Checks?.Any(check => check.Result?.ToUpper()?.Equals("FAIL", StringComparison.OrdinalIgnoreCase) == true) == false) { - if (await SubmitAlpha(result.Alpha)) + if ((await SubmitAlpha(result.Alpha)).Success) { alpha.Status = "ACTIVE"; } @@ -424,7 +540,7 @@ private async Task GenerateSimulations(CancellationToken token = default) { _alphaList = []; - if (KnowledgeList == null) + if (FieldDataList == null) { return; } @@ -455,7 +571,7 @@ private async Task GenerateSimulations(CancellationToken token = default) Language = "FASTEXPR", Visualization = false }, - Regular = Code + Regular = Regex.Replace(Code, @"(#.*|//.*)", string.Empty) }; _alphaList.Add(simulationData); @@ -468,23 +584,37 @@ private async Task GenerateSimulations(CancellationToken token = default) } SearchScope searchScope = new(UserSettings.SimulationSettings.Region?.ToUpper(), UserSettings.SimulationSettings.DecisionDelay?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper()); - List c1 = DirectiveReplacerExtension.HasPlaceholders(Code, 1) ? await GetDataFields(searchScope, search: "analyst", token: token) : []; - List c2 = DirectiveReplacerExtension.HasPlaceholders(Code, 2) ? await GetDataFields(searchScope, search: "fundamental", token: token) : []; - List c3 = DirectiveReplacerExtension.HasPlaceholders(Code, 3) ? await GetDataFields(searchScope, search: "model", token: token) : []; - List c4 = DirectiveReplacerExtension.HasPlaceholders(Code, 4) ? await GetDataFields(searchScope, search: "news", token: token) : []; - List c5 = DirectiveReplacerExtension.HasPlaceholders(Code, 5) ? await GetDataFields(searchScope, search: "option", token: token) : []; - List c6 = DirectiveReplacerExtension.HasPlaceholders(Code, 6) ? await GetDataFields(searchScope, search: "price volume", token: token) : []; - List c7 = DirectiveReplacerExtension.HasPlaceholders(Code, 7) ? await GetDataFields(searchScope, search: "social media", token: token) : []; - - Dictionary> replacements = new() + List c1 = DirectiveReplacerExtension.HasPlaceholders(Code, 1) ? await GetDataFields(searchScope, datasetId: "analyst4", token: token) : []; + List c2 = DirectiveReplacerExtension.HasPlaceholders(Code, 2) ? await GetDataFields(searchScope, datasetId: "fundamental2", token: token) : []; + List c3 = DirectiveReplacerExtension.HasPlaceholders(Code, 3) ? await GetDataFields(searchScope, datasetId: "fundamental6", token: token) : []; + List c4 = DirectiveReplacerExtension.HasPlaceholders(Code, 4) ? await GetDataFields(searchScope, datasetId: "model16", token: token) : []; + List c5 = DirectiveReplacerExtension.HasPlaceholders(Code, 5) ? await GetDataFields(searchScope, datasetId: "model51", token: token) : []; + List c6 = DirectiveReplacerExtension.HasPlaceholders(Code, 6) ? await GetDataFields(searchScope, datasetId: "news12", token: token) : []; + List c7 = DirectiveReplacerExtension.HasPlaceholders(Code, 7) ? await GetDataFields(searchScope, datasetId: "news18", token: token) : []; + List c8 = DirectiveReplacerExtension.HasPlaceholders(Code, 8) ? await GetDataFields(searchScope, datasetId: "option8", token: token) : []; + List c9 = DirectiveReplacerExtension.HasPlaceholders(Code, 9) ? await GetDataFields(searchScope, datasetId: "option9", token: token) : []; + List c10 = DirectiveReplacerExtension.HasPlaceholders(Code, 10) ? await GetDataFields(searchScope, datasetId: "pv1", token: token) : []; + List c11 = DirectiveReplacerExtension.HasPlaceholders(Code, 11) ? await GetDataFields(searchScope, datasetId: "pv13", token: token) : []; + List c12 = DirectiveReplacerExtension.HasPlaceholders(Code, 12) ? await GetDataFields(searchScope, datasetId: "univ1", token: token) : []; + List c13 = DirectiveReplacerExtension.HasPlaceholders(Code, 13) ? await GetDataFields(searchScope, datasetId: "socialmedia12", token: token) : []; + List c14 = DirectiveReplacerExtension.HasPlaceholders(Code, 14) ? await GetDataFields(searchScope, datasetId: "socialmedia8", token: token) : []; + + Dictionary> replacements = new() { - { 1, c1 }, - { 2, c2 }, - { 3, c3 }, - { 4, c4 }, - { 5, c5 }, - { 6, c6 }, - { 7, c7 } + { 1, c1.Select(x => x.Id)?.ToList()??[] }, + { 2, c2.Select(x => x.Id)?.ToList()??[] }, + { 3, c3.Select(x => x.Id)?.ToList()??[] }, + { 4, c4.Select(x => x.Id)?.ToList()??[] }, + { 5, c5.Select(x => x.Id)?.ToList()??[] }, + { 6, c6.Select(x => x.Id)?.ToList()??[] }, + { 7, c7.Select(x => x.Id)?.ToList()??[] }, + { 8, c8.Select(x => x.Id)?.ToList()??[] }, + { 9, c9.Select(x => x.Id)?.ToList()??[] }, + { 10, c10.Select(x => x.Id)?.ToList()??[] }, + { 11, c11.Select(x => x.Id)?.ToList()??[] }, + { 12, c12.Select(x => x.Id)?.ToList()??[] }, + { 13, c13.Select(x => x.Id)?.ToList()??[] }, + { 14, c14.Select(x => x.Id)?.ToList()??[] } }; foreach (string item in DirectiveReplacerExtension.ExpandPlaceholders(Code, replacements)) { @@ -506,7 +636,7 @@ private async Task GenerateSimulations(CancellationToken token = default) Language = "FASTEXPR", Visualization = false }, - Regular = item + Regular = Regex.Replace(item, @"(#.*|//.*)", string.Empty) }; _alphaList.Add(simulationData); } @@ -553,7 +683,21 @@ private async Task GenerateSimulations(CancellationToken token = default) "30" ]; List alphaExpressions = []; - List companyFundamentals = await GetDataFields(new SearchScope(UserSettings.SimulationSettings.Region?.ToUpper(), UserSettings.SimulationSettings.DecisionDelay?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper()), datasetId: "fundamental6", token: token); + SearchScope searchScope = new(UserSettings.SimulationSettings.Region?.ToUpper(), UserSettings.SimulationSettings.DecisionDelay?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper(), UserSettings.SimulationSettings.Liquidity?.ToUpper()); + List companyFundamentals = await GetDataFields(searchScope, datasetId: "analyst4", token: token); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "fundamental2", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "fundamental6", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "model16", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "model51", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "news12", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "news18", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "option8", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "option9", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "pv1", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "pv13", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "univ1", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "socialmedia12", token: token)); + companyFundamentals.AddRange(await GetDataFields(searchScope, datasetId: "socialmedia8", token: token)); await Parallel.ForEachAsync(_groupCompareOp, async (gco, cancellationToken) => { @@ -565,7 +709,7 @@ await Parallel.ForEachAsync(_days, async (d, cancellationToken) => { await Parallel.ForEachAsync(_group, async (grp, cancellationToken) => { - string expression = $"{gco}({tco}({cf}, {d}), {grp})"; + string expression = $"{gco}({tco}({cf.Id}, {d}), {grp})"; alphaExpressions.Add(expression); await Task.CompletedTask; }); @@ -576,6 +720,11 @@ await Parallel.ForEachAsync(_group, async (grp, cancellationToken) => foreach (string alphaExpression in alphaExpressions) { + if (string.IsNullOrWhiteSpace(alphaExpression)) + { + continue; + } + //string alphaExpression = $"group_rank({datafield.Id}/cap, subindustry)"; SimulationData simulationData = new() { @@ -595,7 +744,7 @@ await Parallel.ForEachAsync(_group, async (grp, cancellationToken) => Language = "FASTEXPR",//FASTEXPR Visualization = false }, - Regular = alphaExpression + Regular = Regex.Replace(alphaExpression, @"(#.*|//.*)", string.Empty) }; _alphaList.Add(simulationData); @@ -609,7 +758,10 @@ await Task.Run(() => return; } - _alphaList = [.. _alphaList.OrderBy(x => random.Next())]; + if (UserSettings.BackTestOrderIndex == 0) + { + _alphaList = [.. _alphaList.OrderBy(x => random.Next())]; + } }, token); } } @@ -622,6 +774,9 @@ private async Task Login() string url = "https://api.worldquantbrain.com/authentication"; string authToken = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{UserSettings.Email}:{UserSettings.Password}")); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authToken); + _httpClient.DefaultRequestHeaders.Add("Origin", "https://platform.worldquantbrain.com"); + _httpClient.DefaultRequestHeaders.Referrer = new Uri("https://platform.worldquantbrain.com/"); + _httpClient.DefaultRequestHeaders.Add("priority", "u=1, i"); _httpClient.DefaultRequestHeaders.Add("sec-ch-ua", "\"Microsoft Edge\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""); _httpClient.DefaultRequestHeaders.Add("sec-ch-ua-mobile", "?0"); _httpClient.DefaultRequestHeaders.Add("sec-ch-ua-platform", "\"Windows\""); @@ -636,9 +791,11 @@ private async Task Login() response = await _httpClient.PostAsync(url, null); _ = response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); + // REFERRAL CONSULTANT MULTI_SIMULATION PROD_ALPHAS VISUALIZATION WORKDAY WorldQuantAccountLoginResponse = JsonConvert.DeserializeObject(responseBody); Debug.WriteLine("Login successful: " + responseBody); await LoadCompetition(); + await LoadAlphaSummary(); await LoadKnowledge(); } catch (HttpRequestException) @@ -648,21 +805,28 @@ private async Task Login() } } - private void MainViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e) + public async Task GetDataset() { + if (_httpClient == null || _httpClientHandler == null) + { + return null; + } + HttpResponseMessage response = await _httpClient.GetAsync("https://api.worldquantbrain.com/data-sets?delay=1&instrumentType=EQUITY&limit=20&offset=0®ion=USA&universe=TOP3000"); + string responseBody = await response.Content.ReadAsStringAsync(); + return JsonConvert.DeserializeObject(responseBody); } - public async Task GetDataset() + public async Task GetFunctions() { if (_httpClient == null || _httpClientHandler == null) { return null; } - HttpResponseMessage response = await _httpClient.GetAsync("https://api.worldquantbrain.com/data-sets?delay=1&instrumentType=EQUITY&limit=20&offset=0®ion=USA&universe=TOP3000"); + HttpResponseMessage response = await _httpClient.GetAsync("https://api.worldquantbrain.com/operators"); string responseBody = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(responseBody); + return JsonConvert.DeserializeObject(responseBody); } public async Task GetField(string? id) @@ -677,7 +841,7 @@ private void MainViewModel_PropertyChanged(object? sender, System.ComponentModel return JsonConvert.DeserializeObject(responseBody); } - public async Task> GetDataFields(SearchScope searchScope, string datasetId = "", string search = "", CancellationToken token = default) + public async Task> GetDataFields(SearchScope searchScope, string datasetId = "", string search = "", CancellationToken token = default) { if (_httpClient == null || _httpClientHandler == null) { @@ -704,87 +868,85 @@ public async Task> GetDataFields(SearchScope searchScope, string da "&offset={0}"; // Get count from initial request - HttpResponseMessage countResponse = await _httpClient.GetAsync(string.Format(urlTemplate, 0)); - string countJson = await countResponse.Content.ReadAsStringAsync(); - int count = JsonDocument.Parse(countJson).RootElement.GetProperty("count").GetInt32(); - - List> datafieldsList = []; - JsonElement results = JsonDocument.Parse(countJson).RootElement.GetProperty("results"); + HttpResponseMessage countResponse = await _httpClient.GetAsync(string.Format(urlTemplate, 0), token); + string countJson = await countResponse.Content.ReadAsStringAsync(token); + DatasetIdResponse datasetIdResponse = JsonConvert.DeserializeObject(countJson) ?? new DatasetIdResponse(); - List batch = []; - foreach (JsonElement result in results.EnumerateArray()) + List datafieldsList = []; + foreach (DatasetIdResult result in datasetIdResponse.Results ?? []) { - string? item = result.GetProperty("id").GetString(); - if (!string.IsNullOrWhiteSpace(item)) - { - batch.Add(item); - } + datafieldsList.Add(result); } - datafieldsList.Add(batch); // Fetch data in batches - for (int x = 50; x < count; x += 50) + for (int x = 50; x < datasetIdResponse.Count; x += 50) { if (token.IsCancellationRequested) { break; } - HttpResponseMessage response = await _httpClient.GetAsync(string.Format(urlTemplate, x)); - string content = await response.Content.ReadAsStringAsync(); - results = JsonDocument.Parse(content).RootElement.GetProperty("results"); - - batch.Clear(); - foreach (JsonElement result in results.EnumerateArray()) + HttpResponseMessage response = await _httpClient.GetAsync(string.Format(urlTemplate, x), token); + string content = await response.Content.ReadAsStringAsync(token); + DatasetIdResponse results = JsonConvert.DeserializeObject(content) ?? new DatasetIdResponse(); + foreach (DatasetIdResult result in results.Results ?? []) { - string? item = result.GetProperty("id").GetString(); - if (!string.IsNullOrWhiteSpace(item)) - { - batch.Add(item); - } + datafieldsList.Add(result); } - datafieldsList.Add(batch); } - // Flatten the list - List datafieldsListFlat = datafieldsList.SelectMany(x => x).ToList(); - return datafieldsListFlat; + return datafieldsList; } - private async Task SubmitAlpha(string? alphaId) + private async Task SubmitAlpha(string? alphaId, CancellationToken token = default) { - if (_httpClient == null || _httpClientHandler == null || string.IsNullOrEmpty(alphaId)) + SubmitResult submitResult = new(); + if (_httpClient == null || string.IsNullOrEmpty(alphaId)) { - return false; + submitResult.Message = "Alpha 不存在。"; + return submitResult; } string url = $"https://api.worldquantbrain.com/alphas/{alphaId}/submit"; - HttpResponseMessage response = await _httpClient.PostAsync(url, null); + HttpResponseMessage response = await _httpClient.PostAsync(url, null, token); + if (response.StatusCode == HttpStatusCode.OK) { - return true; + submitResult.Success = true; + submitResult.Message = "提交成功。"; + return submitResult; } - - string? getUrl = response.Headers.Location?.ToString(); - if (string.IsNullOrEmpty(getUrl)) + else if (response.StatusCode != HttpStatusCode.Created) { - return false; + submitResult.Message = "请求失败。(" + (int)response.StatusCode + ")"; + return submitResult; } - while (true) + while (!token.IsCancellationRequested) { - HttpResponseMessage getResponse = await _httpClient.GetAsync(getUrl); + HttpResponseMessage getResponse = await _httpClient.GetAsync(url, token); if (getResponse.Headers.TryGetValues("Retry-After", out IEnumerable? retryAfterValues)) { string retryAfterStr = retryAfterValues.FirstOrDefault() ?? "0"; double retryAfterSec = double.Parse(retryAfterStr); - await Task.Delay(TimeSpan.FromSeconds(retryAfterSec * 5)); + await Task.Delay(TimeSpan.FromSeconds(retryAfterSec * 5), token); } else { - return getResponse.StatusCode != HttpStatusCode.Forbidden; + if (getResponse.StatusCode == HttpStatusCode.OK) + { + submitResult.Success = true; + submitResult.Message = "提交成功。"; + } + else + { + submitResult.Message = getResponse.StatusCode == HttpStatusCode.SeeOther ? "请稍后再试。(303)" : "请求失败。(" + (int)getResponse.StatusCode + ")"; + } + return submitResult; } } + + return submitResult; } [DllImport("kernel32.dll")] diff --git a/Alpha/Views/AlphaInfoWindow.xaml b/Alpha/Views/AlphaInfoWindow.xaml index eb0230c..8421808 100644 --- a/Alpha/Views/AlphaInfoWindow.xaml +++ b/Alpha/Views/AlphaInfoWindow.xaml @@ -79,7 +79,7 @@ - + diff --git a/Alpha/Views/AlphaInfoWindow.xaml.cs b/Alpha/Views/AlphaInfoWindow.xaml.cs index 74f7b35..cd65803 100644 --- a/Alpha/Views/AlphaInfoWindow.xaml.cs +++ b/Alpha/Views/AlphaInfoWindow.xaml.cs @@ -1,4 +1,5 @@ using System.ComponentModel; +using System.Net.Http; using Alpha.Models; using Alpha.ViewModels; using UIShell.Controls; @@ -15,10 +16,11 @@ public AlphaInfoWindow() InitializeComponent(); } - public AlphaInfoWindow(AlphaResponse? response) : this() + public AlphaInfoWindow(AlphaResponse? response, HttpClient? client) : this() { if (DataContext is AlphaInfoViewModel model) { + model.Client = client; model.AlphaResponse = response; model.CanSubmit = response?.Is?.Checks?.Any(delegate (AlphaCheck check) { diff --git a/Alpha/Views/MainWindow.xaml b/Alpha/Views/MainWindow.xaml index 2da89c3..f2f49ca 100644 --- a/Alpha/Views/MainWindow.xaml +++ b/Alpha/Views/MainWindow.xaml @@ -1,6 +1,6 @@  + x:Class="Alpha.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:avalonedit="http://icsharpcode.net/sharpdevelop/avalonedit" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:helpers="clr-namespace:Alpha.Helpers" xmlns:local="clr-namespace:Alpha.ViewModels" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:viewmodels="clr-namespace:Alpha.ViewModels" Title="Auto Alpha" + Width="898" Height="800" ActiveGlowBrush="#7B61FF" IsShowIcon="False" IsShowTitle="False" mc:Ignorable="d"> @@ -65,6 +65,42 @@ + +