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,114 @@
1
+ {
2
+ "id": "sample-alpha-concepts",
3
+ "title": "⭐ Alpha Examples for Bronze Users 🥉",
4
+ "lastModified": "2025-03-31T04:52:57.178831-04:00",
5
+ "content": [
6
+ {
7
+ "type": "HEADING",
8
+ "value": {
9
+ "level": "1",
10
+ "content": "Social Media Effect"
11
+ },
12
+ "id": "651a788d-569e-4f94-93f4-aba667e97064"
13
+ },
14
+ {
15
+ "type": "TEXT",
16
+ "value": "<p><b>Hypothesis</b></p><p>Poorly performing stocks are discussed more in general on social media platforms and thus they might have a higher relative sentiment volume, thus consider to short those stocks.</p><p></p><p><b>Implementation</b></p><p>You apply negative weights if there's more sentiment volume, which we can do through social media data fields.</p><p></p><p></p>",
17
+ "id": "ab789407-6e24-41e1-96c6-fc31c2870d9f"
18
+ },
19
+ {
20
+ "type": "SIMULATION_EXAMPLE",
21
+ "value": {
22
+ "settings": {
23
+ "instrumentType": "EQUITY",
24
+ "region": "USA",
25
+ "universe": "TOP3000",
26
+ "delay": 1,
27
+ "decay": 0,
28
+ "neutralization": "INDUSTRY",
29
+ "truncation": 0.01,
30
+ "pasteurization": "ON",
31
+ "unitHandling": "VERIFY",
32
+ "nanHandling": "OFF",
33
+ "language": "FASTEXPR",
34
+ "maxTrade": "OFF"
35
+ },
36
+ "type": "REGULAR",
37
+ "regular": "-scl12_buzz"
38
+ },
39
+ "id": "59216ca4-6bc1-4805-a3d6-f9f403c84bfd"
40
+ },
41
+ {
42
+ "type": "HEADING",
43
+ "value": {
44
+ "level": "1",
45
+ "content": "Valuation Disconnect Swing Short"
46
+ },
47
+ "id": "99157314-0d86-4a2a-82a2-12c572c36c8d"
48
+ },
49
+ {
50
+ "type": "TEXT",
51
+ "value": "<p><b>Hypothesis</b></p><p>Value and Momentum in stocks is typically uncorrelated and a stock with high momentum and value score correlation suggests a disconnect between the stock's price and its intrinsic value - thus we short these stocks</p><p><b>Implementation</b></p><p>Use ts_corr() to measure the relationship between valuation score and momentum score over the past 3 years. Using ts_backfill() operator to backfill unavailable data during previous days.</p><p><b>Hint to Improve Alpha</b></p><p>Compare the stocks in the same group using group operators and model data.</p>",
52
+ "id": "7d4143b1-605f-4458-92d7-c684acf7b7cb"
53
+ },
54
+ {
55
+ "type": "SIMULATION_EXAMPLE",
56
+ "value": {
57
+ "settings": {
58
+ "instrumentType": "EQUITY",
59
+ "region": "USA",
60
+ "universe": "TOP200",
61
+ "delay": 1,
62
+ "decay": 0,
63
+ "neutralization": "INDUSTRY",
64
+ "truncation": 0.08,
65
+ "pasteurization": "ON",
66
+ "unitHandling": "VERIFY",
67
+ "nanHandling": "OFF",
68
+ "language": "FASTEXPR",
69
+ "maxTrade": "OFF"
70
+ },
71
+ "type": "REGULAR",
72
+ "regular": "-ts_corr(ts_backfill(fscore_momentum,66),ts_backfill(fscore_value,66),756)"
73
+ },
74
+ "id": "94f42b1d-e04c-4ad1-9648-0b43fd31b1a0"
75
+ },
76
+ {
77
+ "type": "HEADING",
78
+ "value": {
79
+ "level": "1",
80
+ "content": "Network Dependence"
81
+ },
82
+ "id": "415e5fac-6470-463f-8d9e-ca57fee55fc3"
83
+ },
84
+ {
85
+ "type": "TEXT",
86
+ "value": "<p><b>Hypothesis</b></p><p>A higher hub score in the data field indicates that a company's customers have many connections, while a lower score suggests a more concentrated set of partners. If a company's customers have lower hub scores, it means they have fewer partners and potentially rely on the company. This can be positive for the stock as it indicates a lower risk of the company being replaced. Therefore, investing in such stocks for the long term may be a good idea</p><p><b>Implementation</b></p><p>Long stocks of companies whose hub score of customers are low over the past two years using price volume data.</p><p><b>Hint to Improve Alpha</b></p><p>Can using some cross-sectional operators on top of the expression improve the performance of the idea?</p>",
87
+ "id": "26f321db-390c-45ba-ae9a-340dc60c6ca0"
88
+ },
89
+ {
90
+ "type": "SIMULATION_EXAMPLE",
91
+ "value": {
92
+ "settings": {
93
+ "instrumentType": "EQUITY",
94
+ "region": "USA",
95
+ "universe": "TOP1000",
96
+ "delay": 1,
97
+ "decay": 0,
98
+ "neutralization": "INDUSTRY",
99
+ "truncation": 0.08,
100
+ "pasteurization": "ON",
101
+ "unitHandling": "VERIFY",
102
+ "nanHandling": "OFF",
103
+ "language": "FASTEXPR",
104
+ "maxTrade": "OFF"
105
+ },
106
+ "type": "REGULAR",
107
+ "regular": "-ts_mean(pv13_ustomergraphrank_hub_rank,504)"
108
+ },
109
+ "id": "82d55c9a-442b-49c4-ab1b-d65d9ad981ba"
110
+ }
111
+ ],
112
+ "sequence": 31,
113
+ "category": "Creating Alphas"
114
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "id": "example-expression-alphas",
3
+ "title": "⭐ Alpha Examples for Silver Users🥈",
4
+ "lastModified": "2025-03-17T08:22:53.523408-04:00",
5
+ "content": [
6
+ {
7
+ "type": "HEADING",
8
+ "value": {
9
+ "level": "1",
10
+ "content": "News-driven Volatility"
11
+ },
12
+ "id": "04c2206a-c3b9-495c-aa81-2a147e86c418"
13
+ },
14
+ {
15
+ "type": "TEXT",
16
+ "value": "<p><b>Hypothesis</b>:<br/></p><p>Stocks of companies that face high differences in their prices after any news release can be subject to varying sentiments that can lead to volatile behaviour. You can try avoiding periods of extreme volatility due to recent news releases<br/></p><p><b>Implementation</b> :<br/><br/>Using 'news_session_range' news datafield, employ 'ts_backfill' operator to support data coverage. Additionally, 'ts_arg_max' operator identifies the number of days from today in the past quarter when the maximum value was achieved. The lower the number of days, the lower the stock weight in the Alpha vector<br/></p><p><b>Hint to improve the Alpha<br/></b></p><p>The recent news event only be relevant for a limited time, can using an operator which changes Alpha weights quickly for values closer to zero rather than distant values help improve Alpha performance? Also can using trade_when operator help reduce the turnover?</p>",
17
+ "id": "6ea6a1e2-acdd-4b5a-9830-becb13fefae6"
18
+ },
19
+ {
20
+ "type": "SIMULATION_EXAMPLE",
21
+ "value": {
22
+ "settings": {
23
+ "instrumentType": "EQUITY",
24
+ "region": "USA",
25
+ "universe": "TOP3000",
26
+ "delay": 1,
27
+ "decay": 0,
28
+ "neutralization": "SECTOR",
29
+ "truncation": 0.08,
30
+ "pasteurization": "ON",
31
+ "unitHandling": "VERIFY",
32
+ "nanHandling": "OFF",
33
+ "language": "FASTEXPR",
34
+ "maxTrade": "OFF"
35
+ },
36
+ "type": "REGULAR",
37
+ "regular": "(ts_arg_max(ts_backfill(news_session_range, 20), 60))"
38
+ },
39
+ "id": "44964657-8ebe-4166-b987-c856223ecc24"
40
+ },
41
+ {
42
+ "type": "HEADING",
43
+ "value": {
44
+ "level": "1",
45
+ "content": "Implied Volatility Spread as a predictor"
46
+ },
47
+ "id": "c0d14e0b-293e-412a-9e4b-7d45c4c3929e"
48
+ },
49
+ {
50
+ "type": "TEXT",
51
+ "value": "<p><b>Hypothesis</b>:<br/><br/>If the Call Open interest is higher than the Put Open interest, the stock may rise based on the intensity of the implied volatility spread or vice versa.</p><p></p><p><b>Implementation</b> :<br/><br/>Use 'trade_when' operator, with condition on the call-put open interest ratio. If it is less than unity, go long on stock based on intensity of the (Implied Volatility) IV spread, using option data.</p><p><b>Hint to improve the Alpha<br/></b></p><p>Can using custom neutralization on the Alpha based on self-created groups (like historical volatility) help improve sub-universe performance? Use floor or bucket operator combined with rank operator to implement custom neutralization</p>",
52
+ "id": "41801a6f-1a2b-4c60-8335-8e1607c659e1"
53
+ },
54
+ {
55
+ "type": "SIMULATION_EXAMPLE",
56
+ "value": {
57
+ "settings": {
58
+ "instrumentType": "EQUITY",
59
+ "region": "USA",
60
+ "universe": "TOP3000",
61
+ "delay": 1,
62
+ "decay": 4,
63
+ "neutralization": "MARKET",
64
+ "truncation": 0.08,
65
+ "pasteurization": "ON",
66
+ "unitHandling": "VERIFY",
67
+ "nanHandling": "OFF",
68
+ "language": "FASTEXPR",
69
+ "maxTrade": "OFF"
70
+ },
71
+ "type": "REGULAR",
72
+ "regular": "trade_when(pcr_oi_270 < 1, (implied_volatility_call_270-implied_volatility_put_270), -1)"
73
+ },
74
+ "id": "ec1504b6-3a21-45cb-a245-082093da2ff1"
75
+ }
76
+ ],
77
+ "sequence": 34,
78
+ "category": "Creating Alphas"
79
+ }
@@ -0,0 +1,184 @@
1
+ {
2
+ "id": "how-brain-platform-works",
3
+ "title": "⭐ How BRAIN works",
4
+ "lastModified": "2025-09-08T05:31:37.418082-04:00",
5
+ "content": [
6
+ {
7
+ "type": "TEXT",
8
+ "value": "<p>The below post illustrates in detail how the BRAIN platform works and what happens in the background when you simulate an Alpha. Even though you’ll never need to do these calculations yourselves, developing an intuition for them will help you in the Alpha making process.</p><p>Imagine market data being a matrix, with each row representing one date and each column representing one stock. For example, the matrix for close price data of stocks in <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=U-,Universe,-Universe\">universe</a> US TOP3000 would look like this:</p>",
9
+ "id": "80328a2b-2257-4c52-8388-bd1a3fe55e5e"
10
+ },
11
+ {
12
+ "type": "IMAGE",
13
+ "value": {
14
+ "title": "1 table.png",
15
+ "width": 869,
16
+ "height": 231,
17
+ "fileSize": 21440,
18
+ "url": "https://api.worldquantbrain.com/content/images/290v4zN6dVd09ELH52-1BLCEtIg=/246/original/1_table.png"
19
+ },
20
+ "id": "86bceed8-d241-4a6b-afd5-c7957f173b6a"
21
+ },
22
+ {
23
+ "type": "TEXT",
24
+ "value": "<p>When you input the simulation settings and click “Simulate”, the BRAIN platform will evaluate the Alpha expression against the matrix of market data for each date in a five year span, taking a long or short position for each financial instrument to generate the PnL chart.</p>",
25
+ "id": "035a3eef-5464-4512-88e5-9acc4cc20ff6"
26
+ },
27
+ {
28
+ "type": "IMAGE",
29
+ "value": {
30
+ "title": "2_simulate_771x.png",
31
+ "width": 771,
32
+ "height": 321,
33
+ "fileSize": 49153,
34
+ "url": "https://api.worldquantbrain.com/content/images/NwdRXoZepImHCXsWwisSJipBYbQ=/259/original/2_simulate_771x.png"
35
+ },
36
+ "id": "51e2e59f-616d-40f7-b7aa-7abd060cf2c4"
37
+ },
38
+ {
39
+ "type": "TEXT",
40
+ "value": "<p>Behind the scenes, seven steps, or operations, are performed before the final PnL chart is generated.</p><p>Normally, in an Alpha simulation, there would be between 200 and 3,000 stock instruments in the universe. But to better understand this concept, we’ll assume a hypothetical scenario in which the simulation universe has only eight stocks. We simulate the expression <b>rank(-returns)</b> with market neutralization, Delay 1 and Decay 0 settings for now.</p><p>The hypothesis in this expression is that we want to buy, or go long on, those stocks tomorrow that had negative or comparatively lower returns today, and we want to sell, or go short on, those stocks tomorrow that had positive or comparatively higher returns today.</p><p></p><p>We’ve used the rank operator, which ranks the input values inside the operator and return values equally distributed between zero and 1. This is an example of a reversion idea.</p>",
41
+ "id": "7d9f90d3-27ff-48b6-9913-5245bae02a43"
42
+ },
43
+ {
44
+ "type": "IMAGE",
45
+ "value": {
46
+ "title": "3 table.png",
47
+ "width": 771,
48
+ "height": 224,
49
+ "fileSize": 133081,
50
+ "url": "https://api.worldquantbrain.com/content/images/21_y9-wzhl0hc08V2_q6iBlIGOg=/249/original/3_table.png"
51
+ },
52
+ "id": "12954a6b-191e-4305-82be-f4c2b23c9e40"
53
+ },
54
+ {
55
+ "type": "TEXT",
56
+ "value": "<p>In Column B, we have the eight stocks in the Alpha vector. Column C shows the returns of these stocks as of February 1st. These serve as the input data of the Alpha expression.</p><p><b>Step1:</b> Evaluate the expression for each stock to generate the Alpha vector for the given date.</p><p>In our case, this date would be February 2nd, because we’ve assumed Delay 1 settings. The Delay 1 setting uses data as of T-1 date to create the Alpha vector as of T date.</p><p>To produce the Alpha vector, the simulator performs the rank operation on negative returns and produces a vector of values corresponding to each stock.</p>",
57
+ "id": "d02bb2b8-7d3b-4986-a7b3-91bbe77b9c8f"
58
+ },
59
+ {
60
+ "type": "IMAGE",
61
+ "value": {
62
+ "title": "4 table.png",
63
+ "width": 768,
64
+ "height": 224,
65
+ "fileSize": 134828,
66
+ "url": "https://api.worldquantbrain.com/content/images/XpIzC8CMeVY_hhMY01UeksNeu6g=/250/original/4_table.png"
67
+ },
68
+ "id": "137084d9-eceb-4076-b41a-49c7d558844d"
69
+ },
70
+ {
71
+ "type": "TEXT",
72
+ "value": "<p>The resulting vector depends on the operators used in the Alpha expression. In our case, since we’ve used the rank operator, we see equally distributed values between 0 and 1 in Column D. Note that the stock with the lowest return has the highest value, and vice versa, in line with our hypothesis.</p><p><b><i>Step 2</i></b><i>: From each value in the vector, subtract the average of the vector values in the group. Sum of all vector values = 0.</i> This is called neutralization.</p><p>The group can be the entire market, but we can also perform this neutralization operation on sector, industry or subindustry groupings of stocks.</p>",
73
+ "id": "df4f3a90-dd60-47e2-aecb-37fa84b967fd"
74
+ },
75
+ {
76
+ "type": "IMAGE",
77
+ "value": {
78
+ "title": "5 table.png",
79
+ "width": 768,
80
+ "height": 224,
81
+ "fileSize": 134119,
82
+ "url": "https://api.worldquantbrain.com/content/images/bSCbjW3xSTCOReSxQDS9SANd-XA=/251/original/5_table.png"
83
+ },
84
+ "id": "661c7064-8d8b-4dce-ba43-ad7f019641fe"
85
+ },
86
+ {
87
+ "type": "TEXT",
88
+ "value": "<p>Since we have only eight stocks in our simulation universe, we’ve assumed to neutralize the stocks over the market.</p><p>So we take the average of the numbers in Cell D12 and subtract the average from each stock. This gives us a new vector in Column F. Note that both the sum and the average of these new numbers are now zero. Also, the sum of positive values is equal to the sum of negative values.</p><p><b><i>Step 3:</i></b><i> The resulting values are scaled or ‘normalized’ such that absolute sum of the Alpha vector values is 1. These values can be called as normalized weights.</i></p>",
89
+ "id": "d2ace349-1aeb-4a76-a545-eb47a77720cc"
90
+ },
91
+ {
92
+ "type": "IMAGE",
93
+ "value": {
94
+ "title": "6 table.png",
95
+ "width": 771,
96
+ "height": 223,
97
+ "fileSize": 133997,
98
+ "url": "https://api.worldquantbrain.com/content/images/MAMy_pb98V3wa96cybcwjrmnOEM=/252/original/6_table.png"
99
+ },
100
+ "id": "44b43879-6089-4d0e-b8c9-8c3b75483a17"
101
+ },
102
+ {
103
+ "type": "TEXT",
104
+ "value": "<p>That means, we sum the absolute values of each row and find the sum, which is 2.3. Then we divide each row by this sum, which results in normalized values. By normalize, we mean that the total absolute sum of Column H is 1. We can also call this vector a normalized vector of weights.</p><p>Note: On each iteration/day, the expression rank(-returns) will have access to all the data for returns up to that day, and the matrix will grow by one line every day until it reaches the most recent date. The role of the expression is to transform the input matrix to an output vector of weights as we see in this hypothetical example.</p><p><b><i>Step 4:</i></b><i> Using normalized weights, the BRAIN simulator allocates capital (from a fictitious book of $20 million) to each stock to construct a portfolio.</i></p>",
105
+ "id": "bec4fa46-1a10-462e-a12b-9f39005f85b6"
106
+ },
107
+ {
108
+ "type": "IMAGE",
109
+ "value": {
110
+ "title": "7 table.png",
111
+ "width": 770,
112
+ "height": 224,
113
+ "fileSize": 134053,
114
+ "url": "https://api.worldquantbrain.com/content/images/0zjHFMsINZDVlpwLEVA_skZ2-es=/253/original/7_table.png"
115
+ },
116
+ "id": "f431714b-cf32-4592-bf6f-4bdd15a62f55"
117
+ },
118
+ {
119
+ "type": "TEXT",
120
+ "value": "<p>Column J has a total of $20 million of fictional money allocated to the stocks, using the normalized weights in Column H. This means we have a position of minus $4.4 million in Stock 1 — that is, we’ve shorted $4.4 million worth of Stock 1 — and a long position of $0.6 million in Stock 5. That is, we’ve invested $0.6 million in Stock 5.</p><p>This is called long-short market neutralization, and it’s the backbone of creating these predictive models, or Alphas, on BRAIN. With this technique, a strategy can have the potential to be profitable regardless of the direction of the market.</p><p><b><i>Step 5:</i></b> <i>Calculate next day PnL generated by the Alpha based on observed stock returns the next day</i></p><p>That is, after allocating dollar positions on the stocks, we calculate the PnL generated by each stock, based on the returns each stock had that day.</p>",
121
+ "id": "5724d12e-d027-4cf4-b6c4-35fc3605add3"
122
+ },
123
+ {
124
+ "type": "IMAGE",
125
+ "value": {
126
+ "title": "8 table.png",
127
+ "width": 763,
128
+ "height": 224,
129
+ "fileSize": 134066,
130
+ "url": "https://api.worldquantbrain.com/content/images/V_X2U8gzlp9lsHoc6cyieR9dRDM=/254/original/8_table.png"
131
+ },
132
+ "id": "f87c886b-314f-4aae-aa75-b41ad3f3a6d5"
133
+ },
134
+ {
135
+ "type": "TEXT",
136
+ "value": "<p>Suppose the actual returns on these stocks as of February 2nd are as shown in Column K. We see that although we expected Stock 1 and Stock 2 to fall in price, they actually went up, so we had a loss, shown in Column L.</p><p>We expected Stock 6 to go up in price, but it stayed flat. So we were wrong about three stocks, but we were right about five. In total, we made a gain of $0.03 million on this day with our Alpha, calculated by adding the PnLs of all stocks in our vector. This is how the simulator calculates the PnL generated by the Alpha for any given date.</p><p><b><i>Step 6:</i></b> <i>Perform the operations in Step 1 to Step 5 for each date in a several-year history span also called the In-sample period (IS) to get daily PnL generated for each day</i></p><p>For each day, the expression is evaluated and the values in the Alpha output vector represent the weights to allocate to each stock. Alpha weights are not how much you want to buy or sell, but a weighting position you would reach this day. These weights are multiplied by book size (total money invested in the portfolio) to get the dollar value held in each stock. For example, if the Alpha weight (after <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=strategy.-,Neutralization,-Neutralization\">neutralization</a> and scaling) for MSFT is 0.2423, then we’ll have MSFT stocks with the total value 0.2423*book size.</p><p>The <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=W-,Weight,-BRAIN\">weight</a> can be negative, meaning you would take a short position on these stocks. If the value is positive, you would take a long position on these stocks, i.e. buy the stocks. A <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=N-,NaN,-NaN\">NAN</a> value would mean no weight is allocated to that instrument (i.e. no money is allocated). The value of stocks you buy/sell on a particular day is determined by the difference between weights today and weights yesterday. The percentage of your portfolio traded in a day (by dollar value) is called ‘turnover’. The <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Turnover,-Average\">turnover</a> reported in <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=definition.-,Simulation,-Simulation\">simulation</a> results is the average daily turnover over the simulation.</p><p><b><i>Step 7:</i></b><i> Calculate the cumulative PnL of the Alpha from the start of the in-sample period to get the PnL chart of the Alpha.</i></p><p>Based on those daily positions, <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=consultants-,Profit%20and%20Loss%20(PnL),-Profit\">PnL</a> is calculated and displayed. By default, the BRAIN platform will normalize your weights (according to the operations you enter) and create a portfolio of $20 million (total <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Booksize,-Booksize\">booksize</a>) worth of equity. (Note that a portfolio is just a collection of securities.)</p><p>This can be better understood with the help of the PnL chart of the Alpha in our example rank(-returns)</p>",
137
+ "id": "d4b1881d-e8dd-4ec1-99ab-d5b3944ade57"
138
+ },
139
+ {
140
+ "type": "IMAGE",
141
+ "value": {
142
+ "title": "How BRAIN Works PnL Chart.png",
143
+ "width": 871,
144
+ "height": 750,
145
+ "fileSize": 41971,
146
+ "url": "https://api.worldquantbrain.com/content/images/gaxwY6YwJ4u5MI2hkXYt8I7ssBs=/426/original/How_BRAIN_Works_PnL_Chart.png"
147
+ },
148
+ "id": "54890bb7-7426-4b93-ba09-248292268bb9"
149
+ },
150
+ {
151
+ "type": "TEXT",
152
+ "value": "<p>In this chart, we have an IS period of five years, from February 2016 to January 2021. Using the steps from the example, the simulator would calculate the daily PnL of the Alpha and derive the cumulative PnL chart, as we see here. Note that the two years from February 2021 to January 2023 are not visible to us in the simulation window. That’s called the out-of-sample, or the OS, period. After you submit an Alpha, several tests are run to analyze the Alpha’s performance in the OS period. An Alpha that passes both the in-sample and out-of-sample tests can be said to be a robust Alpha.</p><p>This is how the BRAIN simulator creates the PnL chart from an Alpha.</p><p>In our example, we’ve assumed that we’re using market neutralization and Decay 0 settings. But if we used any other neutralization settings, the same operations would be performed on the Alpha.</p><p>Say we have 80 stocks in our simulation universe — ten industries with eight stocks each. The simulator would perform the same operations (first Step 1 to Step 5) on each of the ten groups and finally add the PnL from each group to get the daily PnL of the Alpha and create the cumulative PnL chart (Step 6 and Step 7)</p><p>However, if we introduce decay into our Alpha settings, an additional step must be performed to get the final Alpha vector.</p><p>Suppose we use a decay of 3 in our simulation settings. The final vector of weights in the Alpha would be calculated by combining today’s value with the previous day’s decayed value. In our example, we calculated the normalized weights in the Alpha as of February 2nd. Let’s assume that the normalized weights of stocks in the Alpha vector on February 1st and January 31st are as shown in Columns N and O, respectively.</p>",
153
+ "id": "93392b4a-4711-4208-8e4a-003ea2bb9e0d"
154
+ },
155
+ {
156
+ "type": "IMAGE",
157
+ "value": {
158
+ "title": "10 table.png",
159
+ "width": 700,
160
+ "height": 224,
161
+ "fileSize": 114830,
162
+ "url": "https://api.worldquantbrain.com/content/images/RC4miaFltfYX2hKtqxeCgKLZe1M=/256/original/10_table.png"
163
+ },
164
+ "id": "888941e5-7385-415c-8e62-5e9951b6a3c5"
165
+ },
166
+ {
167
+ "type": "TEXT",
168
+ "value": "<p>Then the final weights in the Alpha would be calculated using the given weighted average formula:</p><p></p><p></p>",
169
+ "id": "6b86221f-eeb9-487f-9ed8-edb8f17889cc"
170
+ },
171
+ {
172
+ "type": "EQUATION",
173
+ "value": "Decay\\_linear(x,n)=\\frac{x[date]*n +x[date-1]*(n-1)+...+x[date-n-1]}{n+(n-1)+...+1}",
174
+ "id": "ac7b99b3-f293-4fe5-848e-659c6aabad91"
175
+ },
176
+ {
177
+ "type": "TEXT",
178
+ "value": "<p></p><p>which is implemented in Column P. Using this new derived vector, the simulator would calculate the daily PnL and consequently the cumulative PnL chart. Note that even if decay is used, more weight is assigned to the most recent values. So decay is an important factor in reducing transaction costs or turnover, as it includes information from previous days, preventing the Alpha from being reactive.</p><p>To summarize, once we input the Alpha expression and simulation settings in the BRAIN simulator, it performs the operations discussed above to take long or short positions for each financial instrument and generates the PnL chart.</p>",
179
+ "id": "a3f09ffe-fc51-40be-b46d-af6f507f4d55"
180
+ }
181
+ ],
182
+ "sequence": 26,
183
+ "category": "Getting Started"
184
+ }