cnhkmcp 2.1.3__py3-none-any.whl → 2.1.5__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 (194) hide show
  1. cnhkmcp/__init__.py +126 -0
  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/README.md +38 -0
  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/ace.log +0 -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/config.json +6 -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/get_knowledgeBase_tool/ace_lib.py +1514 -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/get_knowledgeBase_tool/fetch_all_datasets.py +157 -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/get_knowledgeBase_tool/fetch_all_documentation.py +132 -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/get_knowledgeBase_tool/fetch_all_operators.py +99 -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/get_knowledgeBase_tool/helpful_functions.py +180 -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/icon.ico +0 -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/icon.png +0 -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/001_10_Steps_to_Start_on_BRAIN_documentation.json +14 -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/001_Intermediate_Pack_-_Improve_your_Alpha_2_2_documentation.json +174 -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/001_Intermediate_Pack_-_Understand_Results_1_2_documentation.json +167 -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/001_Introduction_to_Alphas_documentation.json +145 -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/001_Introduction_to_BRAIN_Expression_Language_documentation.json +107 -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/001_WorldQuant_Challenge_documentation.json +56 -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/001__Read_this_First_-_Starter_Pack_documentation.json +404 -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/002_How_to_choose_the_Simulation_Settings_documentation.json +268 -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/002_Simulate_your_first_Alpha_documentation.json +88 -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/002__Alpha_Examples_for_Beginners_documentation.json +254 -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/002__Alpha_Examples_for_Bronze_Users_documentation.json +114 -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/002__Alpha_Examples_for_Silver_Users_documentation.json +79 -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/002__How_BRAIN_works_documentation.json +184 -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/003_Clear_these_tests_before_submitting_an_Alpha_documentation.json +388 -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/003_Parameters_in_the_Simulation_results_documentation.json +243 -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/004_Group_Data_Fields_documentation.json +69 -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/004_How_to_use_the_Data_Explorer_documentation.json +142 -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/004_Model77_dataset_documentation.json +14 -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/004_Sentiment1_dataset_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/004_Understanding_Data_in_BRAIN_Key_Concepts_and_Tips_documentation.json +182 -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/004_Vector_Data_Fields_documentation.json +30 -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_Crowding_Risk-Neutralized_Alphas_documentation.json +64 -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_D0_documentation.json +66 -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_Double_Neutralization_documentation.json +53 -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/005_Fast_D1_Documentation_documentation.json +304 -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/005_Investability_Constrained_Metrics_documentation.json +129 -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/005_Must-read_posts_How_to_improve_your_Alphas_documentation.json +14 -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/005_Neutralization_documentation.json +29 -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/005_RAM_Risk-Neutralized_Alphas_documentation.json +64 -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/005_Risk_Neutralization_Default_setting_documentation.json +75 -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/005_Risk_Neutralized_Alphas_documentation.json +171 -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/005_Statistical_Risk-Neutralized_Alphas_documentation.json +51 -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/006_EUR_TOP2500_Universe_documentation.json +35 -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/006_GLB_TOPDIV3000_Universe_documentation.json +48 -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/006_Getting_Started_China_Research_for_Consultants_Gold_documentation.json +142 -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/006_Getting_started_on_Illiquid_Universes_Gold_documentation.json +46 -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/006_Getting_started_with_USA_TOPSP500_universe_Gold_documentation.json +62 -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/006_Global_Alphas_Gold_documentation.json +66 -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/006_India_Alphas_documentation.json +35 -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_Consultant_Dos_and_Don_ts_documentation.json +35 -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_Consultant_Features_documentation.json +239 -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_Consultant_Simulation_Features_documentation.json +149 -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_Consultant_Submission_Tests_documentation.json +363 -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/007_Finding_Consultant_Alphas_documentation.json +333 -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/007_Power_Pool_Alphas_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/007_Research_Advisory_Program_documentation.json +35 -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/007_Starting_Guide_for_Research_Consultants_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/007_Visualization_Tool_documentation.json +99 -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/007_Your_Advisor_-_Kunqi_Jiang_documentation.json +53 -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/007__Brain_Genius_documentation.json +288 -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/007__Single_Dataset_Alphas_documentation.json +41 -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/008_Advisory_Theme_Calendar_documentation.json +14 -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/008_Multiplier_Rules_documentation.json +14 -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/008_Overview_of_Themes_documentation.json +14 -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/008_Theme_Calendar_documentation.json +14 -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/009_Combo_Expression_documentation.json +272 -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/009_Global_SuperAlphas_documentation.json +14 -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/009_Helpful_Tips_documentation.json +58 -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/009_Selection_Expression_documentation.json +1546 -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/009_SuperAlpha_Operators_documentation.json +890 -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/009_SuperAlpha_Results_documentation.json +83 -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/009_What_is_a_SuperAlpha_documentation.json +261 -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/010_BRAIN_API_documentation.json +515 -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/010_Documentation_for_ACE_API_Library_Gold_documentation.json +27 -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/010__Understanding_simulation_limits_documentation.json +210 -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/arithmetic_operators.json +209 -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/knowledge/cross_sectional_operators.json +98 -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/knowledge/group_operators.json +121 -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/knowledge/logical_operators.json +145 -0
  81. 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
  82. 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
  83. 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/test.txt +1 -0
  84. 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
  85. 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
  86. 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
  87. 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/main.py +576 -0
  88. 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/process_knowledge_base.py +281 -0
  89. 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/rag_engine.py +408 -0
  90. 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/requirements.txt +7 -0
  91. 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/run.bat +3 -0
  92. 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
  93. 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
  94. 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
  95. 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//321/211/320/266/320/246/321/206/320/274/320/261/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 +265 -0
  96. cnhkmcp/untracked/APP/.gitignore +32 -0
  97. cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +112 -0
  98. cnhkmcp/untracked/APP/README.md +309 -0
  99. cnhkmcp/untracked/APP/Tranformer/Transformer.py +4989 -0
  100. cnhkmcp/untracked/APP/Tranformer/ace.log +0 -0
  101. cnhkmcp/untracked/APP/Tranformer/ace_lib.py +1514 -0
  102. cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +180 -0
  103. cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +7187 -0
  104. cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/321/207/320/264/342/225/221/321/204/342/225/233/320/233.json +654 -0
  105. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +1 -0
  106. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +47312 -0
  107. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_/321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/320/237/320/277/321/207/320/253/342/224/244/321/206/320/236/320/265/321/210/342/225/234/342/225/234/321/205/320/225/320/265Machine_lib.json +22 -0
  108. cnhkmcp/untracked/APP/Tranformer/parsetab.py +60 -0
  109. cnhkmcp/untracked/APP/Tranformer/template_summary.txt +3182 -0
  110. cnhkmcp/untracked/APP/Tranformer/transformer_config.json +7 -0
  111. cnhkmcp/untracked/APP/Tranformer/validator.py +889 -0
  112. cnhkmcp/untracked/APP/ace.log +69 -0
  113. cnhkmcp/untracked/APP/ace_lib.py +1514 -0
  114. cnhkmcp/untracked/APP/blueprints/__init__.py +6 -0
  115. cnhkmcp/untracked/APP/blueprints/feature_engineering.py +347 -0
  116. cnhkmcp/untracked/APP/blueprints/idea_house.py +221 -0
  117. cnhkmcp/untracked/APP/blueprints/inspiration_house.py +432 -0
  118. cnhkmcp/untracked/APP/blueprints/paper_analysis.py +570 -0
  119. cnhkmcp/untracked/APP/custom_templates/templates.json +1257 -0
  120. cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +400 -0
  121. cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +1514 -0
  122. cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +252 -0
  123. cnhkmcp/untracked/APP/give_me_idea/fetch_all_datasets.py +157 -0
  124. cnhkmcp/untracked/APP/give_me_idea/fetch_all_operators.py +99 -0
  125. cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +180 -0
  126. cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +11 -0
  127. cnhkmcp/untracked/APP/helpful_functions.py +180 -0
  128. cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +1501 -0
  129. cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +447 -0
  130. cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +180 -0
  131. cnhkmcp/untracked/APP/mirror_config.txt +20 -0
  132. cnhkmcp/untracked/APP/operaters.csv +129 -0
  133. cnhkmcp/untracked/APP/requirements.txt +53 -0
  134. cnhkmcp/untracked/APP/run_app.bat +28 -0
  135. cnhkmcp/untracked/APP/run_app.sh +34 -0
  136. cnhkmcp/untracked/APP/setup_tsinghua.bat +39 -0
  137. cnhkmcp/untracked/APP/setup_tsinghua.sh +43 -0
  138. cnhkmcp/untracked/APP/simulator/alpha_submitter.py +404 -0
  139. cnhkmcp/untracked/APP/simulator/simulator_wqb.py +618 -0
  140. cnhkmcp/untracked/APP/ssrn-3332513.pdf +109188 -19
  141. cnhkmcp/untracked/APP/static/brain.js +589 -0
  142. cnhkmcp/untracked/APP/static/decoder.js +1540 -0
  143. cnhkmcp/untracked/APP/static/feature_engineering.js +1729 -0
  144. cnhkmcp/untracked/APP/static/idea_house.js +937 -0
  145. cnhkmcp/untracked/APP/static/inspiration.js +465 -0
  146. cnhkmcp/untracked/APP/static/inspiration_house.js +868 -0
  147. cnhkmcp/untracked/APP/static/paper_analysis.js +390 -0
  148. cnhkmcp/untracked/APP/static/script.js +3082 -0
  149. cnhkmcp/untracked/APP/static/simulator.js +597 -0
  150. cnhkmcp/untracked/APP/static/styles.css +3127 -0
  151. cnhkmcp/untracked/APP/static/usage_widget.js +508 -0
  152. cnhkmcp/untracked/APP/templates/alpha_inspector.html +511 -0
  153. cnhkmcp/untracked/APP/templates/feature_engineering.html +960 -0
  154. cnhkmcp/untracked/APP/templates/idea_house.html +564 -0
  155. cnhkmcp/untracked/APP/templates/index.html +932 -0
  156. cnhkmcp/untracked/APP/templates/inspiration_house.html +861 -0
  157. cnhkmcp/untracked/APP/templates/paper_analysis.html +91 -0
  158. cnhkmcp/untracked/APP/templates/simulator.html +343 -0
  159. cnhkmcp/untracked/APP/templates/transformer_web.html +580 -0
  160. cnhkmcp/untracked/APP/usage.md +351 -0
  161. 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 +1514 -0
  162. 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 +712 -0
  163. 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/helpful_functions.py +180 -0
  164. 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 +2460 -0
  165. cnhkmcp/untracked/__init__.py +0 -0
  166. cnhkmcp/untracked/arXiv_API_Tool_Manual.md +490 -0
  167. cnhkmcp/untracked/arxiv_api.py +229 -0
  168. cnhkmcp/untracked/back_up/forum_functions.py +998 -0
  169. cnhkmcp/untracked/back_up/platform_functions.py +2886 -0
  170. cnhkmcp/untracked/brain-consultant.md +31 -0
  171. cnhkmcp/untracked/forum_functions.py +407 -0
  172. 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/forum_functions.py +407 -0
  173. 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 +2601 -0
  174. 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/user_config.json +31 -0
  175. 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//321/210/320/276/320/271AI/321/210/320/277/342/225/227/321/210/342/224/220/320/251/321/204/342/225/225/320/272/321/206/320/246/320/227/321/206/320/261/320/263/321/206/320/255/320/265/321/205/320/275/320/266/321/204/342/225/235/320/252/321/204/342/225/225/320/233/321/210/342/225/234/342/225/234/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270.md +101 -0
  176. 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//321/211/320/225/320/235/321/207/342/225/234/320/276/321/205/320/231/320/235/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/230/320/241_/321/205/320/276/320/231/321/210/320/263/320/225/321/205/342/224/220/320/225/321/210/320/266/320/221/321/204/342/225/233/320/255/321/210/342/225/241/320/246/321/205/320/234/320/225.py +190 -0
  177. cnhkmcp/untracked/platform_functions.py +2601 -0
  178. cnhkmcp/untracked/sample_mcp_config.json +11 -0
  179. cnhkmcp/untracked/user_config.json +31 -0
  180. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/320/237/320/222/321/210/320/220/320/223/321/206/320/246/320/227/321/206/320/261/320/263_BRAIN_Alpha_Test_Requirements_and_Tips.md +202 -0
  181. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_Alpha_explaination_workflow.md +56 -0
  182. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_BRAIN_6_Tips_Datafield_Exploration_Guide.md +194 -0
  183. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_BRAIN_Alpha_Improvement_Workflow.md +101 -0
  184. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_Dataset_Exploration_Expert_Manual.md +436 -0
  185. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_daily_report_workflow.md +128 -0
  186. cnhkmcp/untracked//321/211/320/225/320/235/321/207/342/225/234/320/276/321/205/320/231/320/235/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/230/320/241_/321/205/320/276/320/231/321/210/320/263/320/225/321/205/342/224/220/320/225/321/210/320/266/320/221/321/204/342/225/233/320/255/321/210/342/225/241/320/246/321/205/320/234/320/225.py +192 -0
  187. {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/METADATA +1 -1
  188. cnhkmcp-2.1.5.dist-info/RECORD +192 -0
  189. cnhkmcp-2.1.5.dist-info/top_level.txt +1 -0
  190. cnhkmcp-2.1.3.dist-info/RECORD +0 -6
  191. cnhkmcp-2.1.3.dist-info/top_level.txt +0 -1
  192. {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/WHEEL +0 -0
  193. {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/entry_points.txt +0 -0
  194. {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,210 @@
1
+ {
2
+ "id": "understanding-simulation-limits",
3
+ "title": "❗Understanding simulation limits",
4
+ "lastModified": "2025-12-04T23:17:20.021695-05:00",
5
+ "content": [
6
+ {
7
+ "type": "TEXT",
8
+ "value": "<p>The simulation limit encourages high yield research, ensure optimal system performance and fair usage for all consultants. Here's what you need to know:</p>",
9
+ "id": "c58add68-cb54-4c2f-9add-126b28297ff7"
10
+ },
11
+ {
12
+ "type": "HEADING",
13
+ "value": {
14
+ "level": "1",
15
+ "content": "What counts as a simulation?"
16
+ },
17
+ "id": "a4aea516-e377-47b8-a009-da2804da7797"
18
+ },
19
+ {
20
+ "type": "TEXT",
21
+ "value": "<p>All successful simulations are counted, including child simulations in multi-simulations and simulations of previously existing Alphas. Duplicate Alphas that you simulate <b>are not</b> removed from the count.</p>",
22
+ "id": "5c7d969b-15b0-4a10-99aa-76e82cb2b204"
23
+ },
24
+ {
25
+ "type": "HEADING",
26
+ "value": {
27
+ "level": "1",
28
+ "content": "Tracking simulations on the Platform"
29
+ },
30
+ "id": "ae608917-ccfc-4d2e-8d89-0300131e5ec9"
31
+ },
32
+ {
33
+ "type": "TEXT",
34
+ "value": "<p>The <a href=\"https://platform.worldquantbrain.com/alphas/unsubmitted\"><b>Alphas page</b></a> with Today or Yesterday filter on Date Created can help estimate your simulation count. However, if you simulate the same Alpha on different days, the simulation will count, but the Alpha will only appear under the date it was first simulated. <b>Simulating the same Alpha on different days consumes your simulation quota, even though you do not see Alpha on Alphas page for Today.</b></p>",
35
+ "id": "24e2b761-9c77-4d1c-ac40-5f076b50b215"
36
+ },
37
+ {
38
+ "type": "HEADING",
39
+ "value": {
40
+ "level": "1",
41
+ "content": "Tracking simulations using BRAIN API"
42
+ },
43
+ "id": "e28be337-b002-4449-919b-6cc165284702"
44
+ },
45
+ {
46
+ "type": "HEADING",
47
+ "value": {
48
+ "level": "2",
49
+ "content": "Simulation limit details in API response"
50
+ },
51
+ "id": "8f154098-9f9a-498f-9ace-ff2c709b0168"
52
+ },
53
+ {
54
+ "type": "TEXT",
55
+ "value": "<p></p><p>When posting a simulation, the response headers provide:</p><ul><li><b>X-Ratelimit-Limit</b>: Total daily simulation limit.</li><li><b>X-Ratelimit-Remaining</b>: Remaining simulations for the day.</li><li><b>X-Ratelimit-Reset</b>: Time (in seconds) until the limit resets.</li></ul><p>Example:<br/>simulate_response.headers[\"x-ratelimit-limit\"],<br/>simulate_response.headers[\"x-ratelimit-remaining\"],<br/>simulate_response.headers[\"x-ratelimit-reset\"]</p>",
56
+ "id": "930a607e-bbfd-4b9e-9b3f-ffa190422bc1"
57
+ },
58
+ {
59
+ "type": "HEADING",
60
+ "value": {
61
+ "level": "1",
62
+ "content": "Managing simulation limits"
63
+ },
64
+ "id": "82c84120-e6c2-4d3a-ac26-d7561423e710"
65
+ },
66
+ {
67
+ "type": "TEXT",
68
+ "value": "<p></p><p>To avoid exceeding the daily limit:</p><ul><li>Plan simulations effectively to avoid wasting your daily quota.</li><li>Monitor your simulation count and pause or stop when nearing the limit.</li><li>If using the API, implement logic to handle limits, such as pausing simulations when the count reaches the limit and resuming after the reset.</li><li>On the Platform interface, a warning message will appear when less than 1,000 simulations remain: <b>You are 987 simulations away from breaching the daily simulation limit. If you exceed this limit, you will not be able to run additional simulations until tomorrow (EST time zone). Please plan accordingly.</b></li></ul>",
69
+ "id": "92a92117-2399-4cdf-8087-7c7ab3920ee9"
70
+ },
71
+ {
72
+ "type": "HEADING",
73
+ "value": {
74
+ "level": "1",
75
+ "content": "How to use simulations effectively?"
76
+ },
77
+ "id": "cdfbc4cf-116f-4fb4-a6ae-6c49bd1ea142"
78
+ },
79
+ {
80
+ "type": "HEADING",
81
+ "value": {
82
+ "level": "2",
83
+ "content": "Analyze data fields"
84
+ },
85
+ "id": "1c828e95-57da-49a1-8c92-f463e09a98c2"
86
+ },
87
+ {
88
+ "type": "TEXT",
89
+ "value": "<p></p><p>To maximize the effectiveness of your simulations, it's essential to analyze the data fields available on the Platform and use the information provided on the <a href=\"https://platform.worldquantbrain.com/data\"><b>Data page</b></a>. The Data page includes useful details such as:</p><ul><li><b>Coverage</b>: The percentage of instruments in the universe covered by the data field.</li><li><b>Date Coverage</b>: The percentage of days with data available over a 10-year period. Ensure sufficient historical data for meaningful back testing.</li><li><b>Description</b>: Explains the context of the data field, helping you understand its potential use cases. It can also be used to identify similar fields. Fields with similar descriptions might represent overlapping or related data. You can use tools like LLMs (Large Language Models) to find similar data field efficiently. Avoid technical fields such as <b>timestamps, dates, or symbol identifiers</b> (e.g., ISIN, CUSIP) that <b>are unlikely to contribute to Alpha generation</b>.</li><li><b>Alpha Count</b>: The number of Alphas that have used this data field. A low Alpha count might indicate untapped potential, while a high count could suggest the data field is well-explored.<ul><li><b>User Count</b>: The number of users who have utilized this data field. This can indicate how popular or challenging the data field is.</li></ul></li></ul>",
90
+ "id": "d1968d90-6427-419c-b905-025c04483f07"
91
+ },
92
+ {
93
+ "type": "HEADING",
94
+ "value": {
95
+ "level": "2",
96
+ "content": "Use BRAIN Labs for deeper insights"
97
+ },
98
+ "id": "4d1283d8-38a3-43f9-a801-e7ea1a928269"
99
+ },
100
+ {
101
+ "type": "TEXT",
102
+ "value": "<p></p><ul><li><b>Visualize data fields:</b> Use BRAIN Labs to explore data fields in detail. Analyze daily coverage, turnover, typical values, and correlations with returns.</li><li><b>Experiment with data fields and Python:</b> In BRAIN Labs, you can recreate operators using Python to test how they affect the data field and its correlation with returns. This process can help you identify promising transformations and refine your approach.</li></ul>",
103
+ "id": "99a0c2f2-014f-4f27-a1ae-8bd3f0a69fa7"
104
+ },
105
+ {
106
+ "type": "HEADING",
107
+ "value": {
108
+ "level": "2",
109
+ "content": "Utilize Alpha statistics"
110
+ },
111
+ "id": "158a7c82-998f-4cf8-9a42-46a9bbc26e67"
112
+ },
113
+ {
114
+ "type": "TEXT",
115
+ "value": "<p></p><p>When simulating an Alpha, review additional PnLs and statistics:</p><ul><li><b>Risk-handled performance:</b> Simulates using SLOW_AND_FAST neutralization.</li><li><b>Investability-constrained performance:</b> Simulates using MaxTrade ON.</li></ul>",
116
+ "id": "773492ad-da2f-4a4c-ab00-4c77ce61ad9d"
117
+ },
118
+ {
119
+ "type": "HEADING",
120
+ "value": {
121
+ "level": "2",
122
+ "content": "Optimize search space"
123
+ },
124
+ "id": "581cdecc-77eb-4963-81ac-9a48194c4c4a"
125
+ },
126
+ {
127
+ "type": "IMAGE",
128
+ "value": {
129
+ "title": "simulation_cutoff.png",
130
+ "width": 949,
131
+ "height": 825,
132
+ "fileSize": 53226,
133
+ "url": "https://api.worldquantbrain.com/content/images/bXVASTINaSSJaBjn07neVE3DXjw=/449/original/simulation_cutoff.png"
134
+ },
135
+ "id": "b6f2f02b-75cb-46cd-968e-81e022330563"
136
+ },
137
+ {
138
+ "type": "TEXT",
139
+ "value": "<p>To make the most of your simulations, it's important to restrict your search space initially and focus on testing one element at a time. Once a signal is found, you can expand and refine your approach by testing similar elements</p>",
140
+ "id": "8adc0f09-91db-4794-82a0-855db6f42ae8"
141
+ },
142
+ {
143
+ "type": "HEADING",
144
+ "value": {
145
+ "level": "3",
146
+ "content": "Select data fields"
147
+ },
148
+ "id": "9f4b482b-9fd0-4d52-a5f9-dfbe4f743211"
149
+ },
150
+ {
151
+ "type": "TEXT",
152
+ "value": "<p></p><ul><li>If you are working with a large dataset, analyze the descriptions of data fields and exclude irrelevant fields (e.g., timestamps, dates, or symbol identifiers like ISIN or CUSIP).</li><li>Select only one data field from a group of similar fields to test for an initial signal. For example, if you have fields like implied_volatility_call_30, implied_volatility_call_120, and implied_volatility_call_360, start with just one (e.g., implied_volatility_call_30).</li><li>Once a signal is found, you can experiment with substituting similar fields to improve the Alpha.</li></ul>",
153
+ "id": "620df549-6f66-408d-94ef-a5b690c95b63"
154
+ },
155
+ {
156
+ "type": "HEADING",
157
+ "value": {
158
+ "level": "2",
159
+ "content": "Select operators"
160
+ },
161
+ "id": "7bb5f99c-8970-471a-a3da-258e6642ec4c"
162
+ },
163
+ {
164
+ "type": "TEXT",
165
+ "value": "<p></p><ul><li>Operators can be grouped into categories, such as:<ul><li><b>Aggregational</b>: ts_mean, ts_median, ts_sum.</li><li><b>Delta-based</b>: ts_delta, ts_av_diff, ts_zscore.</li><li><b>Group-based</b>: group_zscore, group_rank.</li></ul></li><li>Start by testing only one operator from a group (e.g., ts_mean for aggregational operators).</li><li>If a signal is found, try replacing it with similar operators from the same group (e.g., switch from ts_mean to ts_median or ts_stddev) to explore variations.</li></ul>",
166
+ "id": "4680920f-3cc4-463e-8ee0-ada76d686fa8"
167
+ },
168
+ {
169
+ "type": "HEADING",
170
+ "value": {
171
+ "level": "3",
172
+ "content": "Select parameters"
173
+ },
174
+ "id": "3ca65eae-186d-4058-934f-bcb8481a394b"
175
+ },
176
+ {
177
+ "type": "TEXT",
178
+ "value": "<p></p><ul><li>For time series operators, start with a single timeframe.<ul><li>For <b>fast</b> signals, use shorter timeframes (e.g., 5, 10 or 21 days).</li><li>For <b>slow</b> signals, use longer timeframes (e.g., 63, 121 or 252 days).</li></ul></li><li>Once a signal is found, experiment with other timeframes to see if the signal improves.</li></ul>",
179
+ "id": "1f3941d8-fa30-400c-b6ed-30321cfff91c"
180
+ },
181
+ {
182
+ "type": "HEADING",
183
+ "value": {
184
+ "level": "3",
185
+ "content": "Select neutralization"
186
+ },
187
+ "id": "df8beaf8-be3c-4caa-8793-3e480dcd4226"
188
+ },
189
+ {
190
+ "type": "TEXT",
191
+ "value": "<p></p><p>Applies to both -- in-code neutralization and neutralization in settings.</p><ul><li><b>Market</b>: For single-country regions.</li><li><b>Country</b>: For multi-country regions.</li><li><b>Industry</b>: For industry-specific neutralization.</li><li>Combined neutralization in code: Country + Industry, for multi-country regions.</li><li><b>Risk</b> neutralization:<ul><li>If you see a signal in the risk-handled performance (e.g., SLOW_AND_FAST neutralization), you can experiment with similar settings like SLOW, FAST, CROWDING, or REVERSION_AND_MOMENTUM. These are variations of SLOW_AND_FAST and may yield better results.</li><li>STATISTICAL neutralization is different, so should be tested separately.</li></ul></li><li>Begin by testing one neutralization type (e.g., market neutralization).</li><li>If a signal is found, try other neutralization settings (e.g., industry, subindustry, sector) to refine the Alpha further.</li></ul>",
192
+ "id": "4ab3aef8-c38a-4ba2-9021-c2a08424c26a"
193
+ },
194
+ {
195
+ "type": "HEADING",
196
+ "value": {
197
+ "level": "2",
198
+ "content": "Tips"
199
+ },
200
+ "id": "5ca9dc21-930c-413d-a52e-07d6d43a8c34"
201
+ },
202
+ {
203
+ "type": "TEXT",
204
+ "value": "<p></p><ul><li>Run 10-50 simulations initially to test the search space. If no signal is found, edit the template before running the full search space.</li><li>Simulate daily to avoid wasting your simulation quota.</li></ul>",
205
+ "id": "55905e54-2803-44f2-92b4-da58b32c396e"
206
+ }
207
+ ],
208
+ "sequence": 5,
209
+ "category": "BRAIN API"
210
+ }
@@ -0,0 +1,209 @@
1
+ [
2
+ {
3
+ "name": "abs",
4
+ "category": "Arithmetic",
5
+ "definition": "abs(x)",
6
+ "description": "Absolute value of x",
7
+ "documentation": null,
8
+ "level": "ALL",
9
+ "scopes": [
10
+ "COMBO",
11
+ "REGULAR",
12
+ "SELECTION"
13
+ ]
14
+ },
15
+ {
16
+ "name": "add",
17
+ "category": "Arithmetic",
18
+ "definition": "add(x, y, filter = false), x + y",
19
+ "description": "Add all inputs (at least 2 inputs required). If filter = true, filter all input NaN to 0 before adding",
20
+ "documentation": null,
21
+ "level": "ALL",
22
+ "scopes": [
23
+ "COMBO",
24
+ "REGULAR",
25
+ "SELECTION"
26
+ ]
27
+ },
28
+ {
29
+ "name": "densify",
30
+ "category": "Arithmetic",
31
+ "definition": "densify(x)",
32
+ "description": "Converts a grouping field of many buckets into lesser number of only available buckets so as to make working with grouping fields computationally efficient",
33
+ "documentation": "/operators/densify",
34
+ "level": "ALL",
35
+ "scopes": [
36
+ "COMBO",
37
+ "REGULAR"
38
+ ]
39
+ },
40
+ {
41
+ "name": "divide",
42
+ "category": "Arithmetic",
43
+ "definition": "divide(x, y), x / y",
44
+ "description": "x / y",
45
+ "documentation": null,
46
+ "level": "ALL",
47
+ "scopes": [
48
+ "COMBO",
49
+ "REGULAR",
50
+ "SELECTION"
51
+ ]
52
+ },
53
+ {
54
+ "name": "inverse",
55
+ "category": "Arithmetic",
56
+ "definition": "inverse(x)",
57
+ "description": "1 / x",
58
+ "documentation": null,
59
+ "level": "ALL",
60
+ "scopes": [
61
+ "COMBO",
62
+ "REGULAR",
63
+ "SELECTION"
64
+ ]
65
+ },
66
+ {
67
+ "name": "log",
68
+ "category": "Arithmetic",
69
+ "definition": "log(x)",
70
+ "description": "Natural logarithm. For example: Log(high/low) uses natural logarithm of high/low ratio as stock weights.",
71
+ "documentation": null,
72
+ "level": "ALL",
73
+ "scopes": [
74
+ "COMBO",
75
+ "REGULAR",
76
+ "SELECTION"
77
+ ]
78
+ },
79
+ {
80
+ "name": "max",
81
+ "category": "Arithmetic",
82
+ "definition": "max(x, y, ..)",
83
+ "description": "Maximum value of all inputs. At least 2 inputs are required",
84
+ "documentation": "/operators/max",
85
+ "level": "ALL",
86
+ "scopes": [
87
+ "COMBO",
88
+ "REGULAR",
89
+ "SELECTION"
90
+ ]
91
+ },
92
+ {
93
+ "name": "min",
94
+ "category": "Arithmetic",
95
+ "definition": "min(x, y ..)",
96
+ "description": "Minimum value of all inputs. At least 2 inputs are required",
97
+ "documentation": "/operators/min",
98
+ "level": "ALL",
99
+ "scopes": [
100
+ "COMBO",
101
+ "REGULAR",
102
+ "SELECTION"
103
+ ]
104
+ },
105
+ {
106
+ "name": "multiply",
107
+ "category": "Arithmetic",
108
+ "definition": "multiply(x ,y, ... , filter=false), x * y",
109
+ "description": "Multiply all inputs. At least 2 inputs are required. Filter sets the NaN values to 1",
110
+ "documentation": "/operators/multiply",
111
+ "level": "ALL",
112
+ "scopes": [
113
+ "COMBO",
114
+ "REGULAR",
115
+ "SELECTION"
116
+ ]
117
+ },
118
+ {
119
+ "name": "power",
120
+ "category": "Arithmetic",
121
+ "definition": "power(x, y)",
122
+ "description": "x ^ y",
123
+ "documentation": "/operators/power",
124
+ "level": "ALL",
125
+ "scopes": [
126
+ "COMBO",
127
+ "REGULAR",
128
+ "SELECTION"
129
+ ]
130
+ },
131
+ {
132
+ "name": "reverse",
133
+ "category": "Arithmetic",
134
+ "definition": "reverse(x)",
135
+ "description": " - x",
136
+ "documentation": null,
137
+ "level": "ALL",
138
+ "scopes": [
139
+ "COMBO",
140
+ "REGULAR",
141
+ "SELECTION"
142
+ ]
143
+ },
144
+ {
145
+ "name": "s_log_1p",
146
+ "category": "Arithmetic",
147
+ "definition": "s_log_1p(x)",
148
+ "description": "Confine function to a shorter range using logarithm such that higher input remains higher and negative input remains negative as an output of resulting function and -1 or 1 is an asymptotic value",
149
+ "documentation": "/operators/s_log_1p",
150
+ "level": null,
151
+ "scopes": [
152
+ "COMBO",
153
+ "REGULAR",
154
+ "SELECTION"
155
+ ]
156
+ },
157
+ {
158
+ "name": "sign",
159
+ "category": "Arithmetic",
160
+ "definition": "sign(x)",
161
+ "description": "if input > 0, return 1; if input < 0, return -1; if input = 0, return 0; if input = NaN, return NaN;\r\n\r\nInput: Value of 7 instruments at day t: (2, -3, 5, 6, 3, NaN, -10)\r\nOutput: (1, -1, 1, 1, 1, NaN, -1)",
162
+ "documentation": null,
163
+ "level": "ALL",
164
+ "scopes": [
165
+ "COMBO",
166
+ "REGULAR",
167
+ "SELECTION"
168
+ ]
169
+ },
170
+ {
171
+ "name": "signed_power",
172
+ "category": "Arithmetic",
173
+ "definition": "signed_power(x, y)",
174
+ "description": "x raised to the power of y such that final result preserves sign of x",
175
+ "documentation": "/operators/signed_power",
176
+ "level": "ALL",
177
+ "scopes": [
178
+ "COMBO",
179
+ "REGULAR",
180
+ "SELECTION"
181
+ ]
182
+ },
183
+ {
184
+ "name": "sqrt",
185
+ "category": "Arithmetic",
186
+ "definition": "sqrt(x)",
187
+ "description": "Square root of x",
188
+ "documentation": null,
189
+ "level": "ALL",
190
+ "scopes": [
191
+ "COMBO",
192
+ "REGULAR",
193
+ "SELECTION"
194
+ ]
195
+ },
196
+ {
197
+ "name": "subtract",
198
+ "category": "Arithmetic",
199
+ "definition": "subtract(x, y, filter=false), x - y",
200
+ "description": "x-y. If filter = true, filter all input NaN to 0 before subtracting",
201
+ "documentation": null,
202
+ "level": "ALL",
203
+ "scopes": [
204
+ "COMBO",
205
+ "REGULAR",
206
+ "SELECTION"
207
+ ]
208
+ }
209
+ ]
@@ -0,0 +1,98 @@
1
+ [
2
+ {
3
+ "name": "normalize",
4
+ "category": "Cross Sectional",
5
+ "definition": "normalize(x, useStd = false, limit = 0.0)",
6
+ "description": "Calculates the mean value of all valid alpha values for a certain date, then subtracts that mean from each element",
7
+ "documentation": "/operators/normalize",
8
+ "level": "ALL",
9
+ "scopes": [
10
+ "COMBO",
11
+ "REGULAR"
12
+ ]
13
+ },
14
+ {
15
+ "name": "quantile",
16
+ "category": "Cross Sectional",
17
+ "definition": "quantile(x, driver = gaussian, sigma = 1.0)",
18
+ "description": "Rank the raw vector, shift the ranked Alpha vector, apply distribution (gaussian, cauchy, uniform). If driver is uniform, it simply subtract each Alpha value with the mean of all Alpha values in the Alpha vector",
19
+ "documentation": "/operators/quantile",
20
+ "level": "ALL",
21
+ "scopes": [
22
+ "COMBO",
23
+ "REGULAR"
24
+ ]
25
+ },
26
+ {
27
+ "name": "rank",
28
+ "category": "Cross Sectional",
29
+ "definition": "rank(x, rate=2)",
30
+ "description": "Ranks the input among all the instruments and returns an equally distributed number between 0.0 and 1.0. For precise sort, use the rate as 0",
31
+ "documentation": "/operators/rank",
32
+ "level": "ALL",
33
+ "scopes": [
34
+ "COMBO",
35
+ "REGULAR"
36
+ ]
37
+ },
38
+ {
39
+ "name": "regression_neut",
40
+ "category": "Cross Sectional",
41
+ "definition": "regression_neut(y, x)",
42
+ "description": "Conducts the cross-sectional regression on the stocks with Y as target and X as the independent variable",
43
+ "documentation": "/operators/regression_neut",
44
+ "level": null,
45
+ "scopes": [
46
+ "COMBO",
47
+ "REGULAR"
48
+ ]
49
+ },
50
+ {
51
+ "name": "scale",
52
+ "category": "Cross Sectional",
53
+ "definition": "scale(x, scale=1, longscale=1, shortscale=1)",
54
+ "description": "Scales input to booksize. We can also scale the long positions and short positions to separate scales by mentioning additional parameters to the operator",
55
+ "documentation": "/operators/scale",
56
+ "level": "ALL",
57
+ "scopes": [
58
+ "COMBO",
59
+ "REGULAR"
60
+ ]
61
+ },
62
+ {
63
+ "name": "truncate",
64
+ "category": "Cross Sectional",
65
+ "definition": "truncate(x,maxPercent=0.01)",
66
+ "description": "Operator truncates all values of x to maxPercent. Here, maxPercent is in decimal notation",
67
+ "documentation": "/operators/truncate",
68
+ "level": null,
69
+ "scopes": [
70
+ "COMBO",
71
+ "REGULAR"
72
+ ]
73
+ },
74
+ {
75
+ "name": "winsorize",
76
+ "category": "Cross Sectional",
77
+ "definition": "winsorize(x, std=4)",
78
+ "description": "Winsorizes x to make sure that all values in x are between the lower and upper limits, which are specified as multiple of std.\r\n\r\nInput: Value of 7 instruments at day t: (2, 4, 5, 6, 3, 8, 10), std: 1\r\nOutput: (2.81, 4, 5, 6, 3, 8, 8.03) from SD. = 2.61, mean = 5.42",
79
+ "documentation": null,
80
+ "level": "ALL",
81
+ "scopes": [
82
+ "COMBO",
83
+ "REGULAR"
84
+ ]
85
+ },
86
+ {
87
+ "name": "zscore",
88
+ "category": "Cross Sectional",
89
+ "definition": "zscore(x)",
90
+ "description": "Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean",
91
+ "documentation": "/operators/zscore",
92
+ "level": "ALL",
93
+ "scopes": [
94
+ "COMBO",
95
+ "REGULAR"
96
+ ]
97
+ }
98
+ ]
@@ -0,0 +1,121 @@
1
+ [
2
+ {
3
+ "name": "combo_a",
4
+ "category": "Group",
5
+ "definition": "combo_a(alpha, nlength = 250, mode = 'algo1')",
6
+ "description": "Combines multiple alpha signals into a single weighted output by balancing each alpha's historical return with its variability over the most recent nlength days.\r\n\r\nThe parameter mode selects one of the several weighted approaches (algo1, algo2, algo3), each of which handles the tradeoff between performance and stability differently.",
7
+ "documentation": null,
8
+ "level": "ALL",
9
+ "scopes": [
10
+ "COMBO"
11
+ ]
12
+ },
13
+ {
14
+ "name": "group_backfill",
15
+ "category": "Group",
16
+ "definition": "group_backfill(x, group, d, std = 4.0)",
17
+ "description": "If a certain value for a certain date and instrument is NaN, from the set of same group instruments, calculate winsorized mean of all non-NaN values over last d days",
18
+ "documentation": "/operators/group_backfill",
19
+ "level": "ALL",
20
+ "scopes": [
21
+ "COMBO",
22
+ "REGULAR"
23
+ ]
24
+ },
25
+ {
26
+ "name": "group_cartesian_product",
27
+ "category": "Group",
28
+ "definition": "group_cartesian_product(g1, g2)",
29
+ "description": "Merge two groups into one group. If originally there are len_1 and len_2 group indices in g1 and g2, there will be len_1 * len_2 indices in the new group.",
30
+ "documentation": null,
31
+ "level": null,
32
+ "scopes": [
33
+ "COMBO",
34
+ "REGULAR"
35
+ ]
36
+ },
37
+ {
38
+ "name": "group_mean",
39
+ "category": "Group",
40
+ "definition": "group_mean(x, weight, group)",
41
+ "description": "All elements in group equals to the mean",
42
+ "documentation": "/operators/group_mean",
43
+ "level": "ALL",
44
+ "scopes": [
45
+ "COMBO",
46
+ "REGULAR"
47
+ ]
48
+ },
49
+ {
50
+ "name": "group_median",
51
+ "category": "Group",
52
+ "definition": "group_median(x, group)",
53
+ "description": "All elements in group equals to the median value of the group.",
54
+ "documentation": null,
55
+ "level": null,
56
+ "scopes": [
57
+ "COMBO",
58
+ "REGULAR"
59
+ ]
60
+ },
61
+ {
62
+ "name": "group_neutralize",
63
+ "category": "Group",
64
+ "definition": "group_neutralize(x, group)",
65
+ "description": "Neutralizes Alpha against groups. These groups can be subindustry, industry, sector, country or a constant",
66
+ "documentation": "/operators/group_neutralize",
67
+ "level": "ALL",
68
+ "scopes": [
69
+ "COMBO",
70
+ "REGULAR"
71
+ ]
72
+ },
73
+ {
74
+ "name": "group_normalize",
75
+ "category": "Group",
76
+ "definition": "group_normalize(x, group, constantCheck=False, tolerance=0.01, scale=1)",
77
+ "description": "Normalizes input such that each group's absolute sum is 1",
78
+ "documentation": null,
79
+ "level": null,
80
+ "scopes": [
81
+ "COMBO",
82
+ "REGULAR"
83
+ ]
84
+ },
85
+ {
86
+ "name": "group_rank",
87
+ "category": "Group",
88
+ "definition": "group_rank(x, group)",
89
+ "description": "Each elements in a group is assigned the corresponding rank in this group",
90
+ "documentation": "/operators/group_rank",
91
+ "level": "ALL",
92
+ "scopes": [
93
+ "COMBO",
94
+ "REGULAR"
95
+ ]
96
+ },
97
+ {
98
+ "name": "group_scale",
99
+ "category": "Group",
100
+ "definition": "group_scale(x, group)",
101
+ "description": "Normalizes the values in a group to be between 0 and 1. (x - groupmin) / (groupmax - groupmin)",
102
+ "documentation": null,
103
+ "level": "ALL",
104
+ "scopes": [
105
+ "COMBO",
106
+ "REGULAR"
107
+ ]
108
+ },
109
+ {
110
+ "name": "group_zscore",
111
+ "category": "Group",
112
+ "definition": "group_zscore(x, group)",
113
+ "description": "Calculates group Z-score - numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean. zscore = (data - mean) / stddev of x for each instrument within its group.\r\n\r\nInput: Value of 5 instruments of Group A: (100, 0, 50, 60, 25)\r\nOutput: (1.57, -1.39, 0.09, 0.39, -0.65)",
114
+ "documentation": null,
115
+ "level": "ALL",
116
+ "scopes": [
117
+ "COMBO",
118
+ "REGULAR"
119
+ ]
120
+ }
121
+ ]