cnhkmcp 2.1.2__py3-none-any.whl → 2.1.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. cnhkmcp/__init__.py +126 -125
  2. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/config.json +1 -1
  3. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/get_knowledgeBase_tool/ace_lib.py +4 -0
  4. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/001_10_Steps_to_Start_on_BRAIN_documentation.json +14 -0
  5. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/001_Intermediate_Pack_-_Improve_your_Alpha_2_2_documentation.json +174 -0
  6. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/001_Intermediate_Pack_-_Understand_Results_1_2_documentation.json +167 -0
  7. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/001_Introduction_to_Alphas_documentation.json +145 -0
  8. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/001_Introduction_to_BRAIN_Expression_Language_documentation.json +107 -0
  9. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/001_WorldQuant_Challenge_documentation.json +56 -0
  10. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/001__Read_this_First_-_Starter_Pack_documentation.json +404 -0
  11. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/002_How_to_choose_the_Simulation_Settings_documentation.json +268 -0
  12. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/002_Simulate_your_first_Alpha_documentation.json +88 -0
  13. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/002__Alpha_Examples_for_Beginners_documentation.json +254 -0
  14. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/002__Alpha_Examples_for_Bronze_Users_documentation.json +114 -0
  15. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/002__Alpha_Examples_for_Silver_Users_documentation.json +79 -0
  16. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/002__How_BRAIN_works_documentation.json +184 -0
  17. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/003_Clear_these_tests_before_submitting_an_Alpha_documentation.json +388 -0
  18. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/003_Parameters_in_the_Simulation_results_documentation.json +243 -0
  19. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/004_Group_Data_Fields_documentation.json +69 -0
  20. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/004_How_to_use_the_Data_Explorer_documentation.json +142 -0
  21. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/004_Model77_dataset_documentation.json +14 -0
  22. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/004_Sentiment1_dataset_documentation.json +14 -0
  23. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/004_Understanding_Data_in_BRAIN_Key_Concepts_and_Tips_documentation.json +182 -0
  24. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/004_Vector_Data_Fields_documentation.json +30 -0
  25. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Crowding_Risk-Neutralized_Alphas_documentation.json +64 -0
  26. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_D0_documentation.json +66 -0
  27. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Double_Neutralization_documentation.json +53 -0
  28. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Fast_D1_Documentation_documentation.json +304 -0
  29. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Investability_Constrained_Metrics_documentation.json +129 -0
  30. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Must-read_posts_How_to_improve_your_Alphas_documentation.json +14 -0
  31. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Neutralization_documentation.json +29 -0
  32. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_RAM_Risk-Neutralized_Alphas_documentation.json +64 -0
  33. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Risk_Neutralization_Default_setting_documentation.json +75 -0
  34. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Risk_Neutralized_Alphas_documentation.json +171 -0
  35. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/005_Statistical_Risk-Neutralized_Alphas_documentation.json +51 -0
  36. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/006_EUR_TOP2500_Universe_documentation.json +35 -0
  37. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/006_GLB_TOPDIV3000_Universe_documentation.json +48 -0
  38. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/006_Getting_Started_China_Research_for_Consultants_Gold_documentation.json +142 -0
  39. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/006_Getting_started_on_Illiquid_Universes_Gold_documentation.json +46 -0
  40. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/006_Getting_started_with_USA_TOPSP500_universe_Gold_documentation.json +62 -0
  41. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/006_Global_Alphas_Gold_documentation.json +66 -0
  42. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/006_India_Alphas_documentation.json +35 -0
  43. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Consultant_Dos_and_Don_ts_documentation.json +35 -0
  44. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Consultant_Features_documentation.json +239 -0
  45. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Consultant_Simulation_Features_documentation.json +149 -0
  46. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Consultant_Submission_Tests_documentation.json +363 -0
  47. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Finding_Consultant_Alphas_documentation.json +333 -0
  48. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Power_Pool_Alphas_documentation.json +14 -0
  49. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Research_Advisory_Program_documentation.json +35 -0
  50. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Starting_Guide_for_Research_Consultants_documentation.json +14 -0
  51. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Visualization_Tool_documentation.json +99 -0
  52. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007_Your_Advisor_-_Kunqi_Jiang_documentation.json +53 -0
  53. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007__Brain_Genius_documentation.json +288 -0
  54. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/007__Single_Dataset_Alphas_documentation.json +41 -0
  55. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/008_Advisory_Theme_Calendar_documentation.json +14 -0
  56. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/008_Multiplier_Rules_documentation.json +14 -0
  57. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/008_Overview_of_Themes_documentation.json +14 -0
  58. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/008_Theme_Calendar_documentation.json +14 -0
  59. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/009_Combo_Expression_documentation.json +272 -0
  60. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/009_Global_SuperAlphas_documentation.json +14 -0
  61. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/009_Helpful_Tips_documentation.json +58 -0
  62. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/009_Selection_Expression_documentation.json +1546 -0
  63. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/009_SuperAlpha_Operators_documentation.json +890 -0
  64. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/009_SuperAlpha_Results_documentation.json +83 -0
  65. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/009_What_is_a_SuperAlpha_documentation.json +261 -0
  66. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/010_BRAIN_API_documentation.json +515 -0
  67. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/010_Documentation_for_ACE_API_Library_Gold_documentation.json +27 -0
  68. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/010__Understanding_simulation_limits_documentation.json +210 -0
  69. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/arithmetic_operators.json +209 -0
  70. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/cross_sectional_operators.json +98 -0
  71. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/group_operators.json +121 -0
  72. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/logical_operators.json +145 -0
  73. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/reduce_operators.json +156 -0
  74. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/special_operators.json +35 -0
  75. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/time_series_operators.json +386 -0
  76. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/transformational_operators.json +61 -0
  77. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/vector_operators.json +38 -0
  78. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/vector_db/_manifest.json +302 -0
  79. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/vector_db/_meta.json +1 -0
  80. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/vector_db/chroma.sqlite3 +0 -0
  81. cnhkmcp/untracked/APP/Tranformer/Transformer.py +5 -1
  82. cnhkmcp/untracked/APP/Tranformer/ace_lib.py +4 -0
  83. cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +6008 -1242
  84. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +1 -1034
  85. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +47310 -442
  86. cnhkmcp/untracked/APP/ace_lib.py +4 -0
  87. cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +4 -0
  88. cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +4 -0
  89. cnhkmcp/untracked/APP/simulator/wqb20260107015647.log +57 -0
  90. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/ace_lib.py +4 -0
  91. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/brain_alpha_inspector.py +2 -2
  92. cnhkmcp/untracked/APP//321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/231/320/243/321/205/342/225/235/320/220/321/206/320/230/320/241.py +4 -0
  93. cnhkmcp/untracked/__init__.py +0 -0
  94. cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272/platform_functions.py +352 -166
  95. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/METADATA +1 -1
  96. cnhkmcp-2.1.4.dist-info/RECORD +190 -0
  97. cnhkmcp-2.1.2.dist-info/RECORD +0 -111
  98. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/WHEEL +0 -0
  99. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/entry_points.txt +0 -0
  100. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/licenses/LICENSE +0 -0
  101. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,62 @@
1
+ {
2
+ "id": "getting-started-topsp500-universe-usa-region",
3
+ "title": "Getting started with USA TOPSP500 universe [Gold]",
4
+ "lastModified": "2025-01-08T07:59:15.372095-05:00",
5
+ "content": [
6
+ {
7
+ "type": "HEADING",
8
+ "value": {
9
+ "level": "1",
10
+ "content": "Characteristics of TOPSP500 universe"
11
+ },
12
+ "id": "7c7fee78-7384-4fa1-ae60-ce8000e5b376"
13
+ },
14
+ {
15
+ "type": "TEXT",
16
+ "value": "<ul><li>This USA universe covers around 650 instruments.</li><li>This universe includes stocks in TOP500 universe and some additional stocks from S&amp;P500 (Standard and Poor's 500). This led to higher industry diversification compared to TOP500. Here's a comparison when simulating Alpha=close for the TOPSP500 &amp; TOP500:</li></ul>",
17
+ "id": "164dafdf-87c3-4ba5-ad2b-a41122782f33"
18
+ },
19
+ {
20
+ "type": "IMAGE",
21
+ "value": {
22
+ "title": "topsp500_1.png",
23
+ "width": 855,
24
+ "height": 781,
25
+ "fileSize": 159008,
26
+ "url": "https://api.worldquantbrain.com/content/images/FUF9SnYc67onFyKkK-vNcg9JN6Q=/316/original/topsp500_1.png"
27
+ },
28
+ "id": "caa07b92-0a06-475a-a452-a625f9204490"
29
+ },
30
+ {
31
+ "type": "IMAGE",
32
+ "value": {
33
+ "title": "topsp500_2.png",
34
+ "width": 866,
35
+ "height": 783,
36
+ "fileSize": 161853,
37
+ "url": "https://api.worldquantbrain.com/content/images/d4WHV-koMnoxllUuBfFt4Xstzug=/317/original/topsp500_2.png"
38
+ },
39
+ "id": "45fed16f-15de-4c3f-b0f1-afb3b188e9a6"
40
+ },
41
+ {
42
+ "type": "TEXT",
43
+ "value": "<ul><li>Due to its good liquidity and smaller universe size, you can tolerate your Alphas to have higher turnover</li><li>This liquid universe offers you a new option to create liquid Alphas, diversifying your submission is always a good idea!</li></ul>",
44
+ "id": "5c146529-3f3f-497a-8716-617ebf2f748a"
45
+ },
46
+ {
47
+ "type": "HEADING",
48
+ "value": {
49
+ "level": "1",
50
+ "content": "Potential steps to Alpha research in TOPSP5000"
51
+ },
52
+ "id": "8bf0b222-9284-4acc-97c1-056185f906d3"
53
+ },
54
+ {
55
+ "type": "TEXT",
56
+ "value": "<ul><li>Re-simulate past USA TOP3000 &amp; TOP1000 Alphas with good sub-universe Sharpe on SP500.</li><li>Re-simulate TOP500 Alphas on SP500, the difference in composition may lead to different behavior</li><li>You may observe lower Sharpe and returns compare to bigger universe due to its limited stock numbers</li><li>Option, Analyst Alphas may be a good starting point</li></ul>",
57
+ "id": "5300da50-e9ce-40c4-bd2e-22d2a1191f54"
58
+ }
59
+ ],
60
+ "sequence": 9,
61
+ "category": "Regions and Universes"
62
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "id": "global-region",
3
+ "title": "Global Alphas [Gold]",
4
+ "lastModified": "2025-11-04T02:34:01.955501-05:00",
5
+ "content": [
6
+ {
7
+ "type": "TEXT",
8
+ "value": "<p></p><p>Global simulations aggregate all the stocks in various regions into a single simulation.</p><p>Due to the time differences across the globe, these simulations are currently available in delay-1 mode only.</p><p></p><p></p><p><b>Alphas</b></p><p></p><ul><li>Since ASI is a region, which has multiple countries too, you can try alpha ideas that work well in ASI. In addition to your ideas that work in ASI, you can also try other specific ideas or specific datasets which are only available or have higher coverage in a certain country.</li><li>Rather than thinking about alphas that work in specific countries or exchanges, it might be more advantageous to think of ideas that work generally for equities.</li><li>The advantage of a large universe is that you will have greater confidence in the robustness of the alpha if you can pass the submission criteria, as you can see that historically, your idea worked across the globe in all liquid equities!</li></ul><p></p><p></p><p><b>Global Universe</b></p><ul><li>The Global Region universe is about 9000 stocks in total, spanning several countries.</li></ul>",
9
+ "id": "46b7cf3d-51b6-4aec-9ef3-a780edf58dc6"
10
+ },
11
+ {
12
+ "type": "TEXT",
13
+ "value": "<p><b>Neutralization</b></p><p>Right now, neutralization by market will neutralize all stocks by the global mean values, likewise for sector, subindustry and industry neutralization settings.<br/></p><ul><li>It might be more meaningful to instead neutralize by country first before neutralizing by any other grouping (concept of double neutralization will be useful here). This is a new neutralization setting that we have added for Global region. This will neutralize all stocks by their country mean values, hence removing country specific risk from your alpha.</li><li>You can also neutralize your GLB alphas against a group of risk factors. Read this page on <a href=\"https://platform.worldquantbrain.com/learn/documentation/advanced-topics/getting-started-risk-neutralized-alphas\">risk neutralization</a> for more details. If you select one of SLOW/FAST/SLOW_AND_FAST as the neutralization setting, the group neutralization setting defaults to market. Hence, it is a good practice to check your risk-neutralized GLB alpha's performance with the group_neutralize operator and country grouping</li></ul><p></p><p><b>Sub-Geography Sharpe Cutoff for GLB Alphas</b></p>",
14
+ "id": "d21dbab9-95e3-464a-bd46-3b363eda089b"
15
+ },
16
+ {
17
+ "type": "TABLE",
18
+ "value": {
19
+ "data": [
20
+ [
21
+ "Submission Criteria",
22
+ "Threshold"
23
+ ],
24
+ [
25
+ "AMER Sharpe ",
26
+ "≥ 1"
27
+ ],
28
+ [
29
+ "APAC Sharpe",
30
+ "≥ 1"
31
+ ],
32
+ [
33
+ "EMEA Sharpe ",
34
+ "≥ 1"
35
+ ]
36
+ ],
37
+ "firstRowIsTableHeader": false,
38
+ "firstColIsHeader": true
39
+ },
40
+ "id": "fc15f51b-71a7-4568-bca9-d8eda5b918dd"
41
+ },
42
+ {
43
+ "type": "TEXT",
44
+ "value": "<p></p><p>GLB Alphas are subject to additional sub-geography Sharpe cutoff criteria. These criteria ensure that your Alpha isn’t just performing well globally but is also delivering consistent returns across all three geographies. The goal is to avoid over-reliance on a single geography and encourage a more balanced contribution to your overall PnL.</p><p></p><p><b>Tips to Improve Sharpe Across Geographies</b></p><ul><li><b>AMER</b>: Focus on high-liquidity equities and consider incorporating earnings-related signals, as the stocks in these markets are highly responsive to earnings announcements.</li><li><b>APAC</b>: Pay attention to market microstructure data, as price-volume patterns in APAC markets often differ due to shorter market hours and unique market regulations.</li><li><b>EMEA</b>: Explore macroeconomic indicators, as EMEA stocks are often influenced by geopolitical events and currency fluctuations.</li><li>GLB Alphas also include a breakdown of global PnL by geography in their PnL chart, making it easy to see how much each geography is contributing. This helps you identify imbalances and determine areas for improvement.</li></ul>",
45
+ "id": "f89b6cbc-8c83-403a-b987-ce99d9ce9bfe"
46
+ },
47
+ {
48
+ "type": "IMAGE",
49
+ "value": {
50
+ "title": "Picture1.png",
51
+ "width": 624,
52
+ "height": 442,
53
+ "fileSize": 84498,
54
+ "url": "https://api.worldquantbrain.com/content/images/XRKUfH1WF2_5hHtfWieOJ37eCIY=/422/original/Picture1.png"
55
+ },
56
+ "id": "5f802b19-bb7d-4cde-9aed-42b0076b4108"
57
+ },
58
+ {
59
+ "type": "TEXT",
60
+ "value": "<p></p><p></p><p><b>Increasing robustness</b></p><p>Try exploring <a href=\"https://platform.worldquantbrain.com/data/data-sets/pv29?delay=1&amp;instrumentType=EQUITY&amp;limit=20&amp;offset=0&amp;region=GLB&amp;universe=TOP3000\">Derived</a> and <a href=\"https://platform.worldquantbrain.com/data/data-sets/pv30?delay=1&amp;instrumentType=EQUITY&amp;limit=20&amp;offset=0&amp;region=GLB&amp;universe=TOP3000\">Alternate</a> Industry Classification datasets. Using group operators using these grouping fields can help make your alpha signals robust</p>",
61
+ "id": "0485a828-6a4a-438c-b7ee-83ded11e4593"
62
+ }
63
+ ],
64
+ "sequence": 1,
65
+ "category": "Regions and Universes"
66
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "id": "getting-started-india-alphas",
3
+ "title": "India Alphas",
4
+ "lastModified": "2025-11-04T02:31:39.331672-05:00",
5
+ "content": [
6
+ {
7
+ "type": "HEADING",
8
+ "value": {
9
+ "level": "2",
10
+ "content": "Introduction"
11
+ },
12
+ "id": "76e4161e-01ea-4ec0-81bd-59f18af4814f"
13
+ },
14
+ {
15
+ "type": "TEXT",
16
+ "value": "<p></p><p>India universe on BRAIN consists of the top 500 stocks by liquidity.</p><p>Normal Alpha tests are applied, including Sharpe, fitness, sub-universe Sharpe, IS ladder etc.</p><p>Max Trade is not mandatory in IND, and maximum turnover cap is 40%.</p><p>IND need to pass an additional <b>robust universe Sharpe test</b>: IND Alpha should have minimum Sharpe of 1, in liquid stocks selected by BRAIN.</p>",
17
+ "id": "c28717b5-c930-4bd2-b42a-60e664c40629"
18
+ },
19
+ {
20
+ "type": "HEADING",
21
+ "value": {
22
+ "level": "2",
23
+ "content": "Tips for Success"
24
+ },
25
+ "id": "0d13f87c-a234-4203-93dd-032884356d5e"
26
+ },
27
+ {
28
+ "type": "TEXT",
29
+ "value": "<p></p><p><b>IND stocks are not included in ASI universes</b>, also <b>many data appear in both ASI and IND</b>, so we encourage <b>retrying your ASI Alphas in IND</b>. Alphas that do well in both universes, may be strong candidates.</p><p>Try <b>diverse data categories</b>, while it can lead to better combined performance.</p><p>Though maxtrade is optional, we still encourage <b>keeping the investability constrained PnL to have a reasonable performance</b>.</p><p>Though max turnover is 40%, however we still encourage to <b>lower the turnover</b> if possible. Having <b>high margin</b>, with turnover lower than 20% is a good practice.</p>",
30
+ "id": "c9ef2881-ba0d-4461-ad71-26dd1ab4c8c3"
31
+ }
32
+ ],
33
+ "sequence": 2371,
34
+ "category": "Regions and Universes"
35
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "id": "consultant-dos-and-donts",
3
+ "title": "Consultant Dos and Don'ts",
4
+ "lastModified": "2024-07-02T10:01:25.914891-04:00",
5
+ "content": [
6
+ {
7
+ "type": "HEADING",
8
+ "value": {
9
+ "level": "1",
10
+ "content": "Standard Operating Guidelines"
11
+ },
12
+ "id": "8bc86297-e8c7-424e-a796-fa96d0fb47c2"
13
+ },
14
+ {
15
+ "type": "TEXT",
16
+ "value": "<p></p><p><b>Dos</b></p><ol><li>DO keep your personal information actual and updated always.</li><li>DO recertify your <a href=\"https://platform.worldquantbrain.com/profile/account/basic-details\">BRAIN account</a> every three months; keep your employment details and country of residence up-to-date.</li><li>DO consider flagging behavior you would deem inappropriate under the <a href=\"https://platform.worldquantbrain.com/profile/agreements\">Terms and Conditions</a> of BRAIN and this document. Please contact us at support@worldquantbrain.com . We protect the confidentiality of those who report to us in good faith. We verify all the reports at the backend and take appropriate action in the genuine cases.</li><li>DO read the <a href=\"https://support.worldquantbrain.com/hc/en-us/categories/4413011872791-General-FAQs\">FAQs</a> before raising a ticket or reaching out to support@worldquantbrain.com.</li><li>DO follow the requirements of the BRAIN API when utilizing scripts. Ensure the scripts deployed do not lay excessive load on the server.</li></ol><p><b>Don’ts</b></p><ol><li>DO NOT impersonate others or provide inaccurate information.</li><li>DO NOT share or disclose any User Codes [digital certificate(s), unique identifiers, user name(s) and/or password(s)] with any other person.</li><li>DO NOT share your Alpha code with any other person. You are encouraged to invite other consultants to form official teams, if you discuss ideas together. You are advised to discuss Alpha ideas on the <a href=\"https://support.worldquantbrain.com/hc/en-us/community/topics\">community page</a> and in Advisory sessions.</li><li>DO NOT disclose your Alpha details or payout information to any other person or post on any public forum or social media.</li><li>DO NOT engage in spidering, \"screen scraping\", \"database scraping\", or any other automatic or unauthorized means of accessing, logging-in or registering on BRAIN.</li><li>DO NOT use BRAIN in any manner that could interrupt, damage, disable, overburden or impair BRAIN or interfere with any other party's use and enjoyment of BRAIN</li><li>DO NOT distribute, publish, and exploit BRAIN or BRAIN Elements unless you have received our express written prior permission.</li><li>DO NOT act as representative of BRAIN or WorldQuant without approval from WorldQuant LLC.</li><li>DO NOT violate the above document or the terms included in the <a href=\"https://platform.worldquantbrain.com/profile/agreements\">Terms and Conditions</a>.</li></ol><p>Failure to follow the above rules would result in severe consequences including termination and suspension of accounts.</p><p>For research best practices, please refer to Recommended Practices for Alpha Research below.</p><p></p><p></p><p></p>",
17
+ "id": "ff5ea3fd-735b-46c1-bd3b-6d2a03efa870"
18
+ },
19
+ {
20
+ "type": "HEADING",
21
+ "value": {
22
+ "level": "1",
23
+ "content": "Recommended Practices for Alpha Research"
24
+ },
25
+ "id": "3e786105-36d8-4f92-a483-8bf549589916"
26
+ },
27
+ {
28
+ "type": "TEXT",
29
+ "value": "<p></p><p><b>Dos</b></p><ol><li>DO make sure your Alpha has economic foundation. A good practice would be to check if you could explain your Alpha to someone within a minute.</li><li>DO simplify the implementation of an Alpha idea and remove unnecessary elements: parts that do not make sense or do not drive performance.</li><li>DO assign meaningful names to the variables in your Alpha code to ensure readability.</li><li>DO follow theme in your Alpha research to create Alphas for higher payout.</li><li>DO use different datasets &amp; operators to build Alphas to ensure diversification</li><li>DO search new/different/unique idea, from different papers, blogs, and articles. For example, <a href=\"https://platform.worldquantbrain.com/learn/documentation/learn-financial-concepts/papers\">papers on Quant research</a>.</li><li>DO run simulations with different sub-universe (TOP 500/1000/2000/3000) while tuning the Alpha parameters. This reduces the risk of universe fitting.</li><li>DO restrict parameter search to simple &amp; reasonable ones. For example 5, 20, 60, 120, 252 in case of days, instead of 37, 14 etc.</li><li>DO check your Alpha’s performance stability across sub-universe, super-universe and across other regions for higher OS performance.</li><li>DO improve Alphas by refining ideas, not by adding or fitting parameters, factors or reversion elements.</li><li>DO ensure coverage by <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=B-,Backfill,-Replace%20missing%20values\">backfilling</a> data fields and the final Alpha using operators such as ts_backfill, group_backfill, group_extra.</li><li>DO use exit triggers (e.g. stop-loss) to close position while using <i>trade_when</i> operator.</li><li>DO normalize data fields to remove any firm related bias for cross-sectional comparison.</li><li>DO use automation for cutting down the redundant task in your Alpha making process</li><li>DO ensure that Alphas make financial sense after automation.</li></ol><p><b>Don’ts</b></p><ol><li>DO NOT spend too much time on a single simple idea.</li><li>DO NOT incorporate noise in the Alpha to reduce production correlation.</li><li>DO NOT add an existing Alpha from one data source to enhance the signal from another data source without any strong economic sense.</li><li>DO NOT over fit your Alpha to enhance performance or to reduce correlation by<ol><li>Trying many different parameters or using too many data fields</li><li>Using too many if else</li><li>Shortening IS period</li><li>Filtering or presetting signals</li></ol></li><li>DO NOT use automation as a source for generating Alpha ideas.</li></ol>",
30
+ "id": "54d53fbb-b18a-467e-9290-ba50d30bd72d"
31
+ }
32
+ ],
33
+ "sequence": 13,
34
+ "category": "Consultant Information"
35
+ }
@@ -0,0 +1,239 @@
1
+ {
2
+ "id": "consultant-features",
3
+ "title": "Consultant Features",
4
+ "lastModified": "2025-07-18T03:29:50.965156-04:00",
5
+ "content": [
6
+ {
7
+ "type": "HEADING",
8
+ "value": {
9
+ "level": "1",
10
+ "content": "Consultant-Only Features"
11
+ },
12
+ "id": "6402e827-11f9-485f-b65b-49f6b7a604ba"
13
+ },
14
+ {
15
+ "type": "TEXT",
16
+ "value": "<p></p><p>Welcome to BRAIN platform consulting! Consultants have access to numerous exclusive features including:</p><ul><li>and to trade in European and Asian markets</li><li>A <a href=\"https://platform.worldquantbrain.com/learn/documentation/consultant-information/visualization-tool\">visualization tool</a> in simulation results to analyze and fine-tune Alphas</li><li>Potential to have your Alphas actually traded, and receive a portion of the associated PnL</li><li><a href=\"https://platform.worldquantbrain.com/competitions\">Consultant competitions</a></li><li><a href=\"https://platform.worldquantbrain.com/learn/documentation/create-alphas/multi-alpha-simulation\">Simulating multiple Alphas</a> simultaneously</li><li>Creating teams to generate Alphas and share a portion of the PnL generated</li></ul><p></p><p></p><p></p>",
17
+ "id": "9dca19dd-8572-4d7a-bac1-1dfec3a833d4"
18
+ },
19
+ {
20
+ "type": "HEADING",
21
+ "value": {
22
+ "level": "1",
23
+ "content": "Out Sample Tests"
24
+ },
25
+ "id": "b2508f3c-6df7-49d3-af97-d7ba4a4a1be4"
26
+ },
27
+ {
28
+ "type": "TEXT",
29
+ "value": "<p>Below is the list of out sample tests run on the Alphas:</p>",
30
+ "id": "8b822920-d7f5-49d7-900f-ea6a3718848c"
31
+ },
32
+ {
33
+ "type": "TABLE",
34
+ "value": {
35
+ "data": [
36
+ [
37
+ "Test",
38
+ "Description",
39
+ ""
40
+ ],
41
+ [
42
+ "Bias*Mandatory*",
43
+ "Biases are human tendencies that lead us to follow a particular quasi-logical path. The goal of the Bias test is to detect forward bias. An Alpha passes the Bias test if it generates an identical set of positions (for the previous business day), when it is run twice, at different times (as of today's date).",
44
+ ""
45
+ ],
46
+ [
47
+ "Checkpoint*Mandatory*",
48
+ "This test is designed to test for checkpoint support. It will run the simulation twice with two different EndDates. The first simulation produces the checkpoint file and the second simulation loads the checkpoint file. The overlap between the two PnL files produced by the two simulations must be identical.",
49
+ ""
50
+ ],
51
+ [
52
+ "ISSharpe*Mandatory*",
53
+ "The goal of the ISSharpe test is to weed out random noise from the true Alpha, and it does so by comparing the IS distribution of the Alpha's PnL series with the distribution of a random walk (with mean zero).",
54
+ ""
55
+ ],
56
+ [
57
+ "CorrAll*Mandatory*",
58
+ "The The correlation test ensures that incoming Alphas are not overly similar to Alphas that are already in the existing PROD Alpha Pool by checking the position, PNL and trade correlation of the Alpha. For the Alphas that are similar, the performance needs to be higher than the Alphas that they are highly correlated with.",
59
+ ""
60
+ ],
61
+ [
62
+ "Memory Usage*Mandatory*",
63
+ "Alphas are tested on the maximum size of non-swappable physical memory usage (resident size) for each simulation. Those using more than 6 Gb fail on checkMemoryUsage test, and will be skipped for other out of sample tests.",
64
+ ""
65
+ ],
66
+ [
67
+ "Weight*Mandatory*",
68
+ "An equity Alpha passes this test if the maximum weight in any one stock is < 8% in USA.",
69
+ ""
70
+ ],
71
+ [
72
+ "Drawdown",
73
+ "Drawdown is the peak-to-trough decline during a specific record period. We calculate the biggest Drawdown for the full Out-of-Sample period, i.e. from Birthday to EndDate.",
74
+ ""
75
+ ],
76
+ [
77
+ "NewHigh",
78
+ "Buy low, sell high. This test checks that Alpha reached its First New High after Birthday.",
79
+ ""
80
+ ],
81
+ [
82
+ "OSSharpe",
83
+ "The goal of the OSSharpe test is to weed out random noise from true Alpha, and it does so by comparing the OS distribution of the Alpha's PnL series with the distribution of a random walk (with mean zero).",
84
+ ""
85
+ ],
86
+ [
87
+ "ProdDate",
88
+ "ProdDate is the date on which an Alpha graduates from Out-of-Sample Testing and reaches Production.",
89
+ ""
90
+ ],
91
+ [
92
+ "RankSharpe",
93
+ "Ranked Sharpe is defined as Sharpe of the Alpha after applying the operators rank, and power(exp=3) separately to long and short sides of the Alpha, then re-scaling each side to its original size.\nAlpha passes the test if:\n 1. The Sharpe is positive.\n 2. Rank Sharpe over past 2 years is greater than 0.5*Sharpe or 0.15.",
94
+ ""
95
+ ],
96
+ [
97
+ "SubUniverse",
98
+ "Threshold1 = max(M,sqrt(subUnivSize/largestUnivSize)*N) For Delay 1: M = 0.065, N = 0.15 For Delay 0: M = 0.1, N = 0.25 Threshold2 = 0.75* OriginalSharpe/sqrt(original_universe_size/smaller_universe_size) RULE: SubuniverseSharpe >= min(Threshold1, Threshold2)",
99
+ ""
100
+ ],
101
+ [
102
+ "SuperUniv",
103
+ "SuperUniverse value is the Sharpe of the next larger standard universe. An Alpha will pass SuperUniverse test if its Sharpe when applied to the next larger universe is greater than 0.7 * Sharpe of the Alpha itself.",
104
+ ""
105
+ ]
106
+ ],
107
+ "firstRowIsTableHeader": true,
108
+ "firstColIsHeader": false
109
+ },
110
+ "id": "c5bf0f55-a69f-4dd5-b0f6-f794f105ea5a"
111
+ },
112
+ {
113
+ "type": "HEADING",
114
+ "value": {
115
+ "level": "1",
116
+ "content": "Prod Correlation"
117
+ },
118
+ "id": "1319b155-2210-4955-978f-6e5088ccfd58"
119
+ },
120
+ {
121
+ "type": "TEXT",
122
+ "value": "<p></p><p>Under the Stats tab of Alpha simulation results, there are the buttons <a href=\"$tutorialpage/interpret-results/simulation-results\">Generate Self Correlation</a> and Generate Prod Correlation. Generate Prod Correlation is only available to consultants. Clicking it displays both the current Alpha’s self-correlation (with up to the 5 most and 5 least correlated Alphas in your Alpha pool) and a log-scale histogram of the current Alpha’s correlation with all Alphas in the pool. Correlation is based on daily PnL over the simulation period.</p><p></p><p></p><hr/><p><br/><br/></p>",
123
+ "id": "b654d52b-ea40-42f5-8101-43e54c209a49"
124
+ },
125
+ {
126
+ "type": "HEADING",
127
+ "value": {
128
+ "level": "1",
129
+ "content": "Additional Simulation Settings for Consultants"
130
+ },
131
+ "id": "16a29bbe-232f-4b35-b5c2-7613636d4d7b"
132
+ },
133
+ {
134
+ "type": "HEADING",
135
+ "value": {
136
+ "level": "1",
137
+ "content": "Pasteurize"
138
+ },
139
+ "id": "23a18b4a-d0ee-4d57-b8d4-7a533aa5ced5"
140
+ },
141
+ {
142
+ "type": "TEXT",
143
+ "value": "<p></p><p>Pasteurization replaces input values with NaN (pasteurizes) for instruments not in the Alpha universe. When Pasteurize = ‘On’, inputs to will be converted to NaN for instruments not in the universe selected in Simulation Settings. When Pasteurize = ‘Off’, this operation does not happen and all available inputs are used.<br/></p><p>Pasteurized data has non-NaN values only for instruments in the Alpha universe. While pasteurized data contains less information, it may be more appropriate when considering cross-sectional or group operations. The default Pasteurize setting is ‘On’. Researchers can switch it to ‘Off’ and use pasteurize(x) operator for manual pasteurization.<br/></p><p><i>Example</i></p><p>Assume the following settings are used: Universe TOP500, Pasteurize: ‘Off’. The following code calculates the difference between sector rank of sales_growth in Alpha universe and sector rank of sales_growth among all instruments:<br/></p><p>group_rank(pasteurize(sales_growth),sector) - group_rank(sales_growth,sector)<br/></p><p>The pasteurize operator in the first group_rank pasteurizes input to the Alpha universe (TOP500), while the second group_rank ranks sales_growth among all instruments.</p>",
144
+ "id": "783af571-65d4-460b-91aa-7b37ea2aed35"
145
+ },
146
+ {
147
+ "type": "HEADING",
148
+ "value": {
149
+ "level": "1",
150
+ "content": "NaNHandling"
151
+ },
152
+ "id": "3694433b-6bee-47d1-840d-5f8da6dbfb2b"
153
+ },
154
+ {
155
+ "type": "TEXT",
156
+ "value": "<p></p><p>NaNHandling replaces NaN values with other values. If NaNHandling: ‘On’, NaN values are handled based on operator type. For time series operators, if all inputs are NaN, 0 is returned. For group operators returning one value per group (e.g. groupmedian, groupcount), if the input value for an instrument is NaN, the value for the group is returned.<br/></p><p>If NaNHandling : ‘Off’, NaNs are preserved. For time series operators, if all inputs are NaN, NaN is returned. For group operators, if the input value for an instrument is NaN, NaN is returned. Researchers should handle NaNs manually in this case. The default setting NaNHandling value is ‘Off’. Some ways to manually handle NaN values can replicate “On” behavior.<br/></p><p><i>Example</i></p><p>ts_zscore(etz_eps, 252)<br/></p><p>Assume NaNHandling = ‘On’. Then for a stock with etz_eps == NaN for all 252 days, 0 is returned. However, ts_zscore(x, d) also returns 0 when x == tsmean(x, d), which is different from x == NaN (“no data is available”). This means that NaNHandling = ‘On’ increases coverage, but may introduce ambiguous information into the Alpha.<br/></p><p>If NaNHandling = ‘Off’, NaNs can be handled other ways:<br/></p><p>is_nan(ts_zscore(etz_eps, 252)) ? ts_zscore(est_eps, 252) : ts_zscore(etz_eps, 252)<br/></p><p>Here, est_eps is used when etz_eps has NaN value for all 252 days.<br/></p><p><i>Example</i></p><p>groupmax(sales, industry)<br/></p><p>When NaNHandling = ‘Off’ and sales is NaN for a given instrument, the operator’s output is NaN. When NaNHandling = ‘On’ and sales is NaN for a given instrument, the operator’s output is the maximum value of sales in the instrument’s industry.</p>",
157
+ "id": "35249784-62ec-48a1-9aa6-ab0dff0531cf"
158
+ },
159
+ {
160
+ "type": "HEADING",
161
+ "value": {
162
+ "level": "1",
163
+ "content": "Test Period"
164
+ },
165
+ "id": "608d5514-c552-43df-8bac-56dc540ff9c5"
166
+ },
167
+ {
168
+ "type": "IMAGE",
169
+ "value": {
170
+ "title": "Settings dropdown",
171
+ "width": 692,
172
+ "height": 411,
173
+ "fileSize": 19538,
174
+ "url": "https://api.worldquantbrain.com/content/images/KzCW120eYiUuNb6ERHERlWEUqLk=/288/original/Settings_dropdown.png"
175
+ },
176
+ "id": "cd473677-a71a-42a7-8bf2-18c559411f38"
177
+ },
178
+ {
179
+ "type": "TEXT",
180
+ "value": "<p>The Test Period is a feature designed to enhance your Alpha and SuperAlpha testing process. This tool allows you to set a separate test period from your IS period, providing a more flexible approach to testing your research ideas.</p><p>Using the Feature:</p><p>The Test Period feature is designed to help you avoid overfitting. It allows you to divide your In-Sample (IS) period into a Train and Test period. The Train period can be utilized to develop your Alphas and SuperAlphas, while the Test period is ideal for validating them. An Alpha or SuperAlpha that is developed based on the simulation results of Training Period and performs well in both periods is likely a strong candidate for submission and may have avoided overfitting.</p><p>While choosing a Test period does not directly affect the simulation, it influences the statistics and the visualization. The submission tests will run on the entire 10-year period, with the simulation running on the entire 10-year IS. However, if a testing period is chosen, the simulation stats will be divided into two sections: one covering the training period and another for the test period.</p><p>Navigating the Feature:</p><ol><li>Selecting the Test Period: In Simulation Settings, you can define a test period corresponding to the final 0-6 years of the IS period. By default, no test period is set (0 years).</li><li>Visualizing the Test Period: The Stats Summary defaults to the training period. You can view the stats for the test period by clicking on the “Show test period” button.</li><li>Identifying the Test Period on Graphs: The lines representing the test period on the graphs are colored orange.</li><li>Choosing the Stats Summary: You can select between the Stats Summary for the test period or the entire IS period by choosing the “TEST” or “IS” in the Summary section, respectively.</li><li>Hiding the Test Period: A button “Hide test period” allows you to hide the test period, if desired. Note that an Alpha or SuperAlpha can only be submitted when the Test Period is revealed by clicking on the “Show test period” button.</li><li>Understanding the Stats: The yearly IS stats are divided between Train and Test periods, represented by blue and orange indicators respectively.</li></ol>",
181
+ "id": "f6bc6014-742d-4915-9ef3-0e9d9ddbc44d"
182
+ },
183
+ {
184
+ "type": "IMAGE",
185
+ "value": {
186
+ "title": "image_edit.png",
187
+ "width": 1045,
188
+ "height": 442,
189
+ "fileSize": 196993,
190
+ "url": "https://api.worldquantbrain.com/content/images/il84U1-fe60rE0lhHg_oXWEf_S4=/285/original/image_edit.png"
191
+ },
192
+ "id": "b4ddd19d-00c4-4104-81c0-c0297ac1cc1d"
193
+ },
194
+ {
195
+ "type": "TEXT",
196
+ "value": "<p>A. Orange - test period PnL, Blue - Train period PnL. B. View IS summary by selecting different periods</p>",
197
+ "id": "4ac27f64-878f-401d-91c7-481c9ecec10f"
198
+ },
199
+ {
200
+ "type": "HEADING",
201
+ "value": {
202
+ "level": "1",
203
+ "content": "Max Trade"
204
+ },
205
+ "id": "90a8693c-a9a4-4d0b-b310-9e13b25a13e4"
206
+ },
207
+ {
208
+ "type": "TEXT",
209
+ "value": "<p></p><p>Max Trade is a feature designed to enhance the liquidity and scalability of your Alphas. It limits the daily position changes of instruments based on a fraction of their 20-day average daily volume (ADV20). This ensures that your Alphas adjust positions less frequently in illiquid instruments, which can significantly reduce turnover and improve the Sharpe ratio of your sub-universe.</p><p>When this feature is turned ON, the Investability Constrained metrics will not be calculated for your Alphas. Generally, you may observe a drop in performance metrics (Sharpe ratio and returns) compared to the original Alpha performance. For a better understanding of the Investability Constraint concept, please refer to this <a href=\"https://platform.worldquantbrain.com/learn/documentation/advanced-topics/getting-started-investability-constrained-metrics\">documentation</a>.</p><p>The Max Trade option must be set to ON for all Alphas in the ASI, JPN, HKG, KOR, TW regions. This setting optimizes ASI Alphas and improves After Cost Performance at combo level.</p>",
210
+ "id": "be26b6a5-2150-4316-af3e-492eed12620a"
211
+ },
212
+ {
213
+ "type": "IMAGE",
214
+ "value": {
215
+ "title": "max_trade_settings.png",
216
+ "width": 624,
217
+ "height": 442,
218
+ "fileSize": 46781,
219
+ "url": "https://api.worldquantbrain.com/content/images/JwWVUWRjohnOUsF0t5joWH7bsVs=/394/original/max_trade_settings.png"
220
+ },
221
+ "id": "24f03fe5-c517-4097-be0d-31e6db34ffd3"
222
+ },
223
+ {
224
+ "type": "HEADING",
225
+ "value": {
226
+ "level": "1",
227
+ "content": "BRAIN Labs"
228
+ },
229
+ "id": "535a79b4-b5ad-4bc3-b9b2-e2e6f4ad99ac"
230
+ },
231
+ {
232
+ "type": "TEXT",
233
+ "value": "<p>BRAIN Labs is a new feature accessible to only consultants. This allows to interact with the platform through coding. With the help of BRAIN Labs, you can access data field values and visualize distributions across instruments, time &amp; groups, using popular Python libraries. You can also build models, test ideas and replicate BRAIN operators to study Alpha weights. Check out these videos to get started:</p><ol><li><a href=\"https://share.vidyard.com/watch/CdpiecTgBJu39JiXCrGAiL\">Video 1</a></li><li><a href=\"https://share.vidyard.com/watch/27Vjmc3EnJuyhJvTGLPgid\">Video 2</a></li></ol><p></p>",
234
+ "id": "aca768e4-ef1e-47de-b9df-4ee90766c804"
235
+ }
236
+ ],
237
+ "sequence": 8,
238
+ "category": "Consultant Information"
239
+ }
@@ -0,0 +1,149 @@
1
+ {
2
+ "id": "multi-alpha-simulation",
3
+ "title": "Consultant Simulation Features",
4
+ "lastModified": "2025-08-27T04:04:02.635767-04:00",
5
+ "content": [
6
+ {
7
+ "type": "HEADING",
8
+ "value": {
9
+ "level": "1",
10
+ "content": "What is Multi-Simulation?"
11
+ },
12
+ "id": "87956647-eb0d-4b6d-aacb-58a9ad55726c"
13
+ },
14
+ {
15
+ "type": "TEXT",
16
+ "value": "<p>Multi-Simulation is a feature that allows for faster simulation of multiple Alphas in a single run. It's particularly useful for experimenting with multiple variations of an Alpha idea.</p><p>Consultants can execute up to 8 simultaneous Multi-Simulations. Each Multi-Simulation can contain up to 10 Alphas that run sequentially, each of the 10 Alphas with distinct operators, data fields, and settings. However, all must share the same Region and Delay setting within a Multi-Simulation.</p>",
17
+ "id": "87a59d58-8ead-4c5a-af59-2272d1e30dae"
18
+ },
19
+ {
20
+ "type": "IMAGE",
21
+ "value": {
22
+ "title": "multi_sim_alphas.png",
23
+ "width": 344,
24
+ "height": 581,
25
+ "fileSize": 87398,
26
+ "url": "https://api.worldquantbrain.com/content/images/8YTF7Iv-vFYDbAKDuSQK0NWCCYE=/302/original/multi_sim_alphas.png"
27
+ },
28
+ "id": "f97c0b69-8b8f-4484-a160-0ee34decf639"
29
+ },
30
+ {
31
+ "type": "HEADING",
32
+ "value": {
33
+ "level": "2",
34
+ "content": "Example"
35
+ },
36
+ "id": "db3bae44-4ea8-4444-9847-53e31c36bcec"
37
+ },
38
+ {
39
+ "type": "TEXT",
40
+ "value": "<p></p><p>Consider you have an Alpha <b>rank(delta(close,1))</b>, and you want to see how the Alpha’s performance varies when replacing <b>close</b> with <b>open</b>, <b>high</b> and <b>low</b>:</p>",
41
+ "id": "218a9714-bcca-493b-9582-b3680ba7632a"
42
+ },
43
+ {
44
+ "type": "TEXT",
45
+ "value": "<table style=\"border: 1px solid black; border-collapse: collapse;\">\r\n <thead>\r\n <tr>\r\n <th colspan=\"2\" style=\"border: 1px solid black;\">Multi-Simulation 1</th>\r\n<th colspan=\"2\" style=\"border: 1px solid black;\"></th>\r\n <th colspan=\"2\" style=\"border: 1px solid black;\">Multi-Simulation 2</th>\r\n<th colspan=\"2\" style=\"border: 1px solid black;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td style=\"border: 1px solid black;\">Simulation 1.1</td>\r\n <td style=\"border: 1px solid black;\">Simulation 1.2</td>\r\n <td style=\"border: 1px solid black;\">Simulation 2.1</td>\r\n <td style=\"border: 1px solid black;\">Simulation 2.2</td>\r\n </tr>\r\n <tr>\r\n <td style=\"border: 1px solid black;\">rank(delta(close,1))<br>USA, Delay 1</td>\r\n <td style=\"border: 1px solid black;\">rank(delta(open,1))<br>USA, Delay 1</td>\r\n <td style=\"border: 1px solid black;\">rank(delta(high,1))<br>USA, Delay 0</td>\r\n <td style=\"border: 1px solid black;\">rank(delta(low,1))<br>USA, Delay 0</td>\r\n </tr>\r\n </tbody>\r\n</table>",
46
+ "id": "feeae0c8-c871-4100-9fa1-1ad0917177c6"
47
+ },
48
+ {
49
+ "type": "HEADING",
50
+ "value": {
51
+ "level": "2",
52
+ "content": "How can you use Multi-Simulation"
53
+ },
54
+ "id": "7cf90fdd-3f6c-405c-95e7-89d0511c3b27"
55
+ },
56
+ {
57
+ "type": "TEXT",
58
+ "value": "<p>1. Create a new simulation by clicking “New Multi-Simulation”</p>",
59
+ "id": "f11857da-3d5e-4650-8b41-e81d56528232"
60
+ },
61
+ {
62
+ "type": "IMAGE",
63
+ "value": {
64
+ "title": "new multi sim.png",
65
+ "width": 145,
66
+ "height": 37,
67
+ "fileSize": 3494,
68
+ "url": "https://api.worldquantbrain.com/content/images/iegtB0P_EFgY-1d1PvHPfC0xwT4=/303/original/new_multi_sim.png"
69
+ },
70
+ "id": "03a4ef76-1cc6-4bf5-b3fd-b10d01107f9f"
71
+ },
72
+ {
73
+ "type": "TEXT",
74
+ "value": "<p>2. Click on \"+\" button to create new simulation within a Multi-Simulation (you can create up to 10 windows)</p>",
75
+ "id": "ee25c91e-ef6a-41f3-9b2e-8d24d9920a19"
76
+ },
77
+ {
78
+ "type": "IMAGE",
79
+ "value": {
80
+ "title": "sub multi sim.png",
81
+ "width": 402,
82
+ "height": 31,
83
+ "fileSize": 6698,
84
+ "url": "https://api.worldquantbrain.com/content/images/59Arn8vZSD5DzOIxEUq-az8JiNE=/304/original/sub_multi_sim.png"
85
+ },
86
+ "id": "3dc3fad6-1e00-4b97-b813-e1852a2e2e61"
87
+ },
88
+ {
89
+ "type": "TEXT",
90
+ "value": "<p>3. Input your simulation settings, expressions for each Alpha.<br/> <i>Note that REGION, DELAY, LANGUAGE and INSTRUMENT TYPE need to be the same for all Alphas within a single Multiple-Simulation</i></p><p>4. Click the “Multi-Simulate” icon to start the simulation after inputting all Alphas.</p>",
91
+ "id": "0baa9076-a406-4b91-bde1-867c01142d06"
92
+ },
93
+ {
94
+ "type": "IMAGE",
95
+ "value": {
96
+ "title": "start_multi_sim.png",
97
+ "width": 155,
98
+ "height": 30,
99
+ "fileSize": 3984,
100
+ "url": "https://api.worldquantbrain.com/content/images/kSg3rpDNCtFP5IZQLjFjtHlvMnw=/305/original/start_multi_sim.png"
101
+ },
102
+ "id": "a13564a8-9cc0-469e-868d-b9d6ee768be3"
103
+ },
104
+ {
105
+ "type": "TEXT",
106
+ "value": "<p>5. Review simulation results by switching between Alphas for detailed comparison.</p><p>6. You can submit one or more of the Alphas from the batch.</p><p>7. Refer to <a href=\"https://platform.worldquantbrain.com/learn/documentation/consultant-information/brain-api#simulations:~:text=the%20SUPER%20simulation%3E%22%0A%7D-,Multiple%20simulations,-can%20be%20run\">this document</a> for Multi Alpha Simulation API usage.</p>",
107
+ "id": "a7592a7b-7a15-4e86-ba37-5224bf36bfaa"
108
+ },
109
+ {
110
+ "type": "HEADING",
111
+ "value": {
112
+ "level": "2",
113
+ "content": "Tips for Success"
114
+ },
115
+ "id": "51d99660-1e70-4a98-8ece-ead089cb0286"
116
+ },
117
+ {
118
+ "type": "TEXT",
119
+ "value": "<p></p><ul><li><b>Naming Alphas</b>: To avoid confusion, name each Alpha.</li><li><b>Resource Error</b>: If the error “<i>The simulation requires more resources than are available</i>” occurs, reduce the number of Alphas within a Multi-Simulation and retry.</li></ul>",
120
+ "id": "7d3bbeff-f883-4aef-aecf-9159c598a671"
121
+ },
122
+ {
123
+ "type": "HEADING",
124
+ "value": {
125
+ "level": "1",
126
+ "content": "Test Period"
127
+ },
128
+ "id": "8486a1d0-2566-4c66-8b76-2e7dcfe22f55"
129
+ },
130
+ {
131
+ "type": "IMAGE",
132
+ "value": {
133
+ "title": "Test_period.PNG",
134
+ "width": 681,
135
+ "height": 483,
136
+ "fileSize": 27131,
137
+ "url": "https://api.worldquantbrain.com/content/images/-FJkDHu6xsk2Bz60GuIysfBGp_8=/286/original/Test_period.PNG"
138
+ },
139
+ "id": "fff2a4bc-d2f9-426e-8ea8-95074ff0e2db"
140
+ },
141
+ {
142
+ "type": "TEXT",
143
+ "value": "<p></p><p>The Test Period setting offers you the flexibility to designate a separate testing period for your Alpha. This period corresponds to the final 0-6 years of the In-Sample (IS) period, providing a distinct timeframe for assessing your Alpha's performance before submission.</p>",
144
+ "id": "23cd434c-a27f-4801-8fa5-6d8483b01e0a"
145
+ }
146
+ ],
147
+ "sequence": 7,
148
+ "category": "Consultant Information"
149
+ }