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.
- cnhkmcp/__init__.py +126 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- cnhkmcp/untracked/APP/.gitignore +32 -0
- cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +112 -0
- cnhkmcp/untracked/APP/README.md +309 -0
- cnhkmcp/untracked/APP/Tranformer/Transformer.py +4989 -0
- cnhkmcp/untracked/APP/Tranformer/ace.log +0 -0
- cnhkmcp/untracked/APP/Tranformer/ace_lib.py +1514 -0
- cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +180 -0
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +7187 -0
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/321/207/320/264/342/225/221/321/204/342/225/233/320/233.json +654 -0
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +1 -0
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +47312 -0
- 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
- cnhkmcp/untracked/APP/Tranformer/parsetab.py +60 -0
- cnhkmcp/untracked/APP/Tranformer/template_summary.txt +3182 -0
- cnhkmcp/untracked/APP/Tranformer/transformer_config.json +7 -0
- cnhkmcp/untracked/APP/Tranformer/validator.py +889 -0
- cnhkmcp/untracked/APP/ace.log +69 -0
- cnhkmcp/untracked/APP/ace_lib.py +1514 -0
- cnhkmcp/untracked/APP/blueprints/__init__.py +6 -0
- cnhkmcp/untracked/APP/blueprints/feature_engineering.py +347 -0
- cnhkmcp/untracked/APP/blueprints/idea_house.py +221 -0
- cnhkmcp/untracked/APP/blueprints/inspiration_house.py +432 -0
- cnhkmcp/untracked/APP/blueprints/paper_analysis.py +570 -0
- cnhkmcp/untracked/APP/custom_templates/templates.json +1257 -0
- cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +400 -0
- cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +1514 -0
- cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +252 -0
- cnhkmcp/untracked/APP/give_me_idea/fetch_all_datasets.py +157 -0
- cnhkmcp/untracked/APP/give_me_idea/fetch_all_operators.py +99 -0
- cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +180 -0
- cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +11 -0
- cnhkmcp/untracked/APP/helpful_functions.py +180 -0
- cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +1501 -0
- cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +447 -0
- cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +180 -0
- cnhkmcp/untracked/APP/mirror_config.txt +20 -0
- cnhkmcp/untracked/APP/operaters.csv +129 -0
- cnhkmcp/untracked/APP/requirements.txt +53 -0
- cnhkmcp/untracked/APP/run_app.bat +28 -0
- cnhkmcp/untracked/APP/run_app.sh +34 -0
- cnhkmcp/untracked/APP/setup_tsinghua.bat +39 -0
- cnhkmcp/untracked/APP/setup_tsinghua.sh +43 -0
- cnhkmcp/untracked/APP/simulator/alpha_submitter.py +404 -0
- cnhkmcp/untracked/APP/simulator/simulator_wqb.py +618 -0
- cnhkmcp/untracked/APP/ssrn-3332513.pdf +109188 -19
- cnhkmcp/untracked/APP/static/brain.js +589 -0
- cnhkmcp/untracked/APP/static/decoder.js +1540 -0
- cnhkmcp/untracked/APP/static/feature_engineering.js +1729 -0
- cnhkmcp/untracked/APP/static/idea_house.js +937 -0
- cnhkmcp/untracked/APP/static/inspiration.js +465 -0
- cnhkmcp/untracked/APP/static/inspiration_house.js +868 -0
- cnhkmcp/untracked/APP/static/paper_analysis.js +390 -0
- cnhkmcp/untracked/APP/static/script.js +3082 -0
- cnhkmcp/untracked/APP/static/simulator.js +597 -0
- cnhkmcp/untracked/APP/static/styles.css +3127 -0
- cnhkmcp/untracked/APP/static/usage_widget.js +508 -0
- cnhkmcp/untracked/APP/templates/alpha_inspector.html +511 -0
- cnhkmcp/untracked/APP/templates/feature_engineering.html +960 -0
- cnhkmcp/untracked/APP/templates/idea_house.html +564 -0
- cnhkmcp/untracked/APP/templates/index.html +932 -0
- cnhkmcp/untracked/APP/templates/inspiration_house.html +861 -0
- cnhkmcp/untracked/APP/templates/paper_analysis.html +91 -0
- cnhkmcp/untracked/APP/templates/simulator.html +343 -0
- cnhkmcp/untracked/APP/templates/transformer_web.html +580 -0
- cnhkmcp/untracked/APP/usage.md +351 -0
- 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
- 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
- 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
- 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
- cnhkmcp/untracked/__init__.py +0 -0
- cnhkmcp/untracked/arXiv_API_Tool_Manual.md +490 -0
- cnhkmcp/untracked/arxiv_api.py +229 -0
- cnhkmcp/untracked/back_up/forum_functions.py +998 -0
- cnhkmcp/untracked/back_up/platform_functions.py +2886 -0
- cnhkmcp/untracked/brain-consultant.md +31 -0
- cnhkmcp/untracked/forum_functions.py +407 -0
- 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
- 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
- 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
- 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
- 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
- cnhkmcp/untracked/platform_functions.py +2601 -0
- cnhkmcp/untracked/sample_mcp_config.json +11 -0
- cnhkmcp/untracked/user_config.json +31 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/METADATA +1 -1
- cnhkmcp-2.1.5.dist-info/RECORD +192 -0
- cnhkmcp-2.1.5.dist-info/top_level.txt +1 -0
- cnhkmcp-2.1.3.dist-info/RECORD +0 -6
- cnhkmcp-2.1.3.dist-info/top_level.txt +0 -1
- {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/WHEEL +0 -0
- {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/entry_points.txt +0 -0
- {cnhkmcp-2.1.3.dist-info → cnhkmcp-2.1.5.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "alpha-submission",
|
|
3
|
+
"title": "Clear these tests before submitting an Alpha",
|
|
4
|
+
"lastModified": "2025-12-01T06:25:03.090749-05:00",
|
|
5
|
+
"content": [
|
|
6
|
+
{
|
|
7
|
+
"type": "TEXT",
|
|
8
|
+
"value": "<p></p><ul><li>The following performance tests are run till the end of the In-Sample Period.</li><li>The 'Submit Alpha' button (in the Submission tab of the <a href=\"https://platform.worldquantbrain.com/simulate\">simulation results</a> panel) is used to start <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Out-of-sample%20(OS),-Out\">out-of-sample (OS)</a> testing for Alphas meeting the performance and correlation cutoffs</li><li><b>Only submitted</b> <b>Alphas are considered for scoring.</b> Submitted Alphas show up on the <a href=\"https://platform.worldquantbrain.com/alphas/os\">Out-of-Sample tab</a> of the Alphas page.</li></ul><p>Below table is for submission test for Alphas</p><p></p>",
|
|
9
|
+
"id": "3533ca34-fa08-4b57-889b-3cc90cb1c223"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "HEADING",
|
|
13
|
+
"value": {
|
|
14
|
+
"level": "1",
|
|
15
|
+
"content": "Submission Tests for Alphas"
|
|
16
|
+
},
|
|
17
|
+
"id": "e0456bb5-b83b-42b2-85d6-e3f7d5fa0dc1"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "IMAGE",
|
|
21
|
+
"value": {
|
|
22
|
+
"title": "article_6_core_requirements.png",
|
|
23
|
+
"width": 857,
|
|
24
|
+
"height": 463,
|
|
25
|
+
"fileSize": 33444,
|
|
26
|
+
"url": "https://api.worldquantbrain.com/content/images/5JPEbrEy2wnZKC_Gvp4oQRTNrNQ=/439/original/article_6_core_requirements.png"
|
|
27
|
+
},
|
|
28
|
+
"id": "f70abfd6-3dc2-487f-9acc-8f2f7d9c30e4"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "TABLE",
|
|
32
|
+
"value": {
|
|
33
|
+
"data": [
|
|
34
|
+
[
|
|
35
|
+
"SUBMISSION CRITERIA",
|
|
36
|
+
"THRESHOLDS FOR USERS"
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
"Fitness",
|
|
40
|
+
"At least “Average”:\nGreater than 1.3 for Delay-0 or Greater than 1 for Delay-1"
|
|
41
|
+
],
|
|
42
|
+
[
|
|
43
|
+
"Sharpe",
|
|
44
|
+
"Greater than 2 for Delay-0 Alphas or Greater than 1.25 for Delay-1 Alphas"
|
|
45
|
+
],
|
|
46
|
+
[
|
|
47
|
+
"Turnover",
|
|
48
|
+
"1% < Turnover < 70%"
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
"Weight test",
|
|
52
|
+
"Max weight in any stock < 10%. This measures if sufficient number of stocks are assigned weight for sufficient days in a year. Number varies with simulation universe (Top 3000, Top 2000 etc.)"
|
|
53
|
+
],
|
|
54
|
+
[
|
|
55
|
+
"Sub universe test",
|
|
56
|
+
"The Sharpe in the sub universe must be higher than at least one threshold. \nThese thresholds scale down Sharpe with sub universe size. You can find detailed example below."
|
|
57
|
+
],
|
|
58
|
+
[
|
|
59
|
+
"Self-Correlation",
|
|
60
|
+
"<0.7 PnL correlation. Or Sharpe at least 10% greater than other correlated Alphas submitted by user"
|
|
61
|
+
]
|
|
62
|
+
],
|
|
63
|
+
"firstRowIsTableHeader": true,
|
|
64
|
+
"firstColIsHeader": false
|
|
65
|
+
},
|
|
66
|
+
"id": "02499847-5e8e-4276-a10e-d2b7984fb0ca"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"type": "HEADING",
|
|
70
|
+
"value": {
|
|
71
|
+
"level": "2",
|
|
72
|
+
"content": "Self-correlation"
|
|
73
|
+
},
|
|
74
|
+
"id": "f01bb20d-0b01-4370-a735-e159eb335d7f"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "TEXT",
|
|
78
|
+
"value": "<ul><li>Alphas can also qualify if their Sharpe is greater, by 10% or more, than that of all Alphas with which their correlation is higher than the cutoff.<ul><li>For example, if your earlier submitted Alpha X has a Sharpe of 3.18, you can submit a highly correlated Alpha Y, if its Sharpe is 3.5 or more</li><li>This allows for making improvements to an existing Alpha.</li><li>The Sharpe value used for this comparison (3.18) is visible in the correlation summary table in the simulation results.</li></ul></li><li><a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details%C2%A0*).-,Self%20correlation,-Maximum\">Self correlation</a> operates on a four-year window whereas the inner <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=locations.-,Correlation,-Correlation\">correlation</a> operates on the intersect of the selected Alpha's <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> time periods.</li></ul>",
|
|
79
|
+
"id": "660599ae-2de4-4c17-b608-77ad793ca27f"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "HEADING",
|
|
83
|
+
"value": {
|
|
84
|
+
"level": "2",
|
|
85
|
+
"content": "Weight"
|
|
86
|
+
},
|
|
87
|
+
"id": "d447adcd-99e0-435e-bfd8-cd71f12703e1"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"type": "TEXT",
|
|
91
|
+
"value": "<p></p><p>Alphas are also tested on the distribution of Alpha <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\">weights</a> across stocks. Alphas can fail this test if:</p><ul><li><a href=\"https://support.worldquantbrain.com/hc/en-us/community/posts/8394917303575-Why-fundamental-alphas-always-show-Weight-is-too-strongly-concentrated-or-too-few-instruments-are-assigned-weight-\">Too few stocks are assigned</a> weight for significant number of days in a year. Note that assigning zero weights to all stocks at the start of the <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> does not fail this condition, it only applies after the Alpha starts assigning weights. The exact number of minimum stocks varies with the simulation <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>.</li><li>Alpha weight is too concentrated in any one stock. For example, if one stock has 30 percent of all Alpha weight, it will fail this test.</li></ul>",
|
|
92
|
+
"id": "3ced3f8d-c3ec-4bf0-8caf-e0ed13d34d9b"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"type": "HEADING",
|
|
96
|
+
"value": {
|
|
97
|
+
"level": "2",
|
|
98
|
+
"content": "Sub Universe Test"
|
|
99
|
+
},
|
|
100
|
+
"id": "b6f3f759-dd32-4fcc-a6e8-d0aea951392f"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "TEXT",
|
|
104
|
+
"value": "<p></p><p><b>Sub-universe test</b> is one of the robustness tests performed on an Alpha by the BRAIN platform before submission. In simple words, it ensures that your Alpha works not only in the universe you are trying to submit, but that it would also work in the next more liquid (or smaller) universe to some extent.</p><p>E. g. if you are trying to submit an Alpha on USA TOP3000, the platform will also check its performance on USA TOP1000. If it performs poorly, then it means that your Alpha is generating most of the profit on the non-liquid portion of stocks, which is one of the signs that your Alpha is not robust enough and most likely will not perform as well as expected in out-of-sample testing. That’s why such Alphas are not allowed to be submitted on Brain.</p><p>Technical details:</p><ul><li>The threshold to pass the sub-universe test is defined by the formula:</li></ul><p>subuniverse_sharpe >= 0.75 * sqrt(subuniverse_size / alpha_universe_size) * alpha_sharpe</p><ul><li>Sub-Universe Sharpe is calculated using PnL of Alpha obtained through the following process (notice that it is similar to the Sharpe of an Alpha simulated in the sub-universe, but not exactly the same, as you will see in the example below):<ul><li><a href=\"https://platform.worldquantbrain.com/learn/data-and-operators/operators#:~:text=constant.%20Detailed%20description-,pasteurize(x),-Set%20to%20NaN\">Pasteurize</a> to the target universe, that is, for all stocks not in the sub-universe, assign value of NaN</li><li>Apply <a href=\"https://platform.worldquantbrain.com/learn/documentation/create-alphas/simulation-settings#7-neutralization\">market neutralization</a> to resulting set (subtract mean of all values from each value) and then scale Alpha back to original size.</li><li>Calculate PnL using resulting Alpha values</li></ul></li></ul><p>Consider an Alpha in USA TOP3000 which fails sub-universe test:</p><p></p>",
|
|
105
|
+
"id": "3ad5ea53-8a2e-4f06-beb6-76efde5404ab"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"type": "IMAGE",
|
|
109
|
+
"value": {
|
|
110
|
+
"title": "check111.png",
|
|
111
|
+
"width": 1247,
|
|
112
|
+
"height": 917,
|
|
113
|
+
"fileSize": 66041,
|
|
114
|
+
"url": "https://api.worldquantbrain.com/content/images/1wfhNpE5XxOjla9kRCkMef4-U6w=/262/original/check111.png"
|
|
115
|
+
},
|
|
116
|
+
"id": "77d12b34-9bde-4259-8720-7c7638443e2c"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "IMAGE",
|
|
120
|
+
"value": {
|
|
121
|
+
"title": "subinverse 6.png",
|
|
122
|
+
"width": 1238,
|
|
123
|
+
"height": 120,
|
|
124
|
+
"fileSize": 16163,
|
|
125
|
+
"url": "https://api.worldquantbrain.com/content/images/j0s5ua5v4ni94ys_tskBOA9TYBM=/265/original/subinverse_6.png"
|
|
126
|
+
},
|
|
127
|
+
"id": "3972e393-64c3-4e67-b87e-035ae175802e"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"type": "TEXT",
|
|
131
|
+
"value": "<p>Notice cutoff 0.75 * sqrt(subuniverse_size / alpha_universe_size) * alpha_sharpe = 0.75 * sqrt(1000 / 3000) * 2.73 = 1.18</p><p>Let’s check this Alpha performance on next more liquid universe, TOP1000</p>",
|
|
132
|
+
"id": "fd3e6ef2-bb49-4140-ba52-7aa616a1601c"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"type": "IMAGE",
|
|
136
|
+
"value": {
|
|
137
|
+
"title": "subuniverse 5.png",
|
|
138
|
+
"width": 1237,
|
|
139
|
+
"height": 882,
|
|
140
|
+
"fileSize": 68558,
|
|
141
|
+
"url": "https://api.worldquantbrain.com/content/images/RyI4S_xylf7vnzH7LYZhlI4-Oc8=/264/original/subuniverse_5.png"
|
|
142
|
+
},
|
|
143
|
+
"id": "19374d0b-88f2-4866-ac85-039ca665b045"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"type": "IMAGE",
|
|
147
|
+
"value": {
|
|
148
|
+
"title": "subinverse 6.png",
|
|
149
|
+
"width": 1238,
|
|
150
|
+
"height": 120,
|
|
151
|
+
"fileSize": 16163,
|
|
152
|
+
"url": "https://api.worldquantbrain.com/content/images/j0s5ua5v4ni94ys_tskBOA9TYBM=/265/original/subinverse_6.png"
|
|
153
|
+
},
|
|
154
|
+
"id": "53c97aa9-5438-4222-833e-e600e81b80dc"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"type": "TEXT",
|
|
158
|
+
"value": "<p>As you see, Sharpe ratio degraded significantly to 1.17, less than the cutoff of 1.18.</p>",
|
|
159
|
+
"id": "6636a010-842e-4f8d-b441-1ddc8b3d57f9"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"type": "IMAGE",
|
|
163
|
+
"value": {
|
|
164
|
+
"title": "article_6_subuniverse_test.png",
|
|
165
|
+
"width": 1141,
|
|
166
|
+
"height": 568,
|
|
167
|
+
"fileSize": 37665,
|
|
168
|
+
"url": "https://api.worldquantbrain.com/content/images/zi-tl7bvwSnTZN4NWZIVcRJ3tMk=/447/original/article_6_subuniverse_test.png"
|
|
169
|
+
},
|
|
170
|
+
"id": "37b35dc2-370a-4078-afc8-8205b684964d"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"type": "TEXT",
|
|
174
|
+
"value": "<p>Tips to help you improve your Alpha(s) and pass the sub-universe test:</p><ul><li>Avoid using multipliers related to the size of the company in your Alphas, e.g. rank(-assets), 1 – rank(cap), etc. These multipliers may significantly shift the distribution of your Alpha weights to more/less liquid side and it may affect the sub-universe performance</li><li>Try decaying separately the liquid and non-liquid parts of your signal. As a proxy for liquidity you can use cap or volume*close, for example instead of<br/>“ts_decay_linear(signal, 10)”<br/>you can try<br/>“ts_decay_linear(signal, 5) * rank(volume*close) + ts_decay_linear(signal, 10) * (1 – rank(volume*close))”</li><li>Check out your Alpha improvements step by step, maybe one of them resulted in better stats, but at the same time Alpha started to fail sub-universe test?</li><li>Try these <a href=\"https://support.worldquantbrain.com/hc/en-us/community/posts/8123350778391-How-do-you-get-a-higher-Sharpe-\">tips</a> to improve overall Sharpe of your Alpha</li><li>If nothing helps - don’t get upset. Some signals are just not robust. It is always sad to discard an Alpha with good IS performance, but remember: your long-term success as a quant depends on how your Alphas will perform in out-of-sample, not during in-sample simulation. Most likely, you just dodged a bad Alpha.</li></ul>",
|
|
175
|
+
"id": "ec85b21b-34fd-443a-bbb7-1c8757e03e85"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"type": "HEADING",
|
|
179
|
+
"value": {
|
|
180
|
+
"level": "1",
|
|
181
|
+
"content": "Special Alpha Types"
|
|
182
|
+
},
|
|
183
|
+
"id": "cb439dfc-e628-4e3b-bf61-44d807c02c57"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"type": "IMAGE",
|
|
187
|
+
"value": {
|
|
188
|
+
"title": "article_6_special_alpha_types.png",
|
|
189
|
+
"width": 1149,
|
|
190
|
+
"height": 505,
|
|
191
|
+
"fileSize": 59144,
|
|
192
|
+
"url": "https://api.worldquantbrain.com/content/images/xmfHGN_OrCNLYB9Y8C-BWKbD4-Y=/446/original/article_6_special_alpha_types.png"
|
|
193
|
+
},
|
|
194
|
+
"id": "004886cf-df45-4b97-a6b8-52107be798b6"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"type": "HEADING",
|
|
198
|
+
"value": {
|
|
199
|
+
"level": "2",
|
|
200
|
+
"content": "ATOM Alphas"
|
|
201
|
+
},
|
|
202
|
+
"id": "832a3c8e-fb0c-4aa5-ab3a-8ff141cdddb5"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"type": "TEXT",
|
|
206
|
+
"value": "<ul><li>ATOM Alphas are Alphas that use fields from only 1 dataset. The following grouping fields are excluded when counting datasets and do not disqualify an Alpha from being an ATOM: currency, country, exchange, sector, industry, subindustry, market</li><li>Using the inst_pnl operator will be counted as using the pv1 dataset. Therefore, inst_pnl(<field_from_non_pv1_dataset>) will not qualify as an ATOM Alpha</li><li>ATOM Alphas can skip the IS Ladder Sharpe test. ATOM Alphas must pass regular IS tests and the 2Y Sharpe test.</li></ul>",
|
|
207
|
+
"id": "d3962f9e-e379-4d5a-a852-e6b4b10c19fe"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"type": "HEADING",
|
|
211
|
+
"value": {
|
|
212
|
+
"level": "2",
|
|
213
|
+
"content": "Pyramid Alphas"
|
|
214
|
+
},
|
|
215
|
+
"id": "970fd534-7436-428d-b4ec-f370f18471b1"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"type": "TEXT",
|
|
219
|
+
"value": "<ul><li>Pyramids are defined as a combination of region, delay, and dataset category. Example: USA-D1-analyst represents a pyramid for USA region, Delay-1, and analyst dataset category</li><li>A single Alpha can belong to multiple pyramids if the Alpha uses multiple data fields from different categories. Pyramid Alphas are Alphas that contribute to a maximum of 2 pyramids.</li><li>The following grouping fields are excluded when counting pyramids and do not disqualify an Alpha from being a pyramid: currency, country, exchange, sector, industry, subindustry, market. Example: An Alpha using two pyramids + neutralization fields will still count as contributing to only 2 pyramids and qualifies as a Pyramid Alpha</li></ul>",
|
|
220
|
+
"id": "95d61808-03b1-450a-bda3-b06875ee6279"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"type": "HEADING",
|
|
224
|
+
"value": {
|
|
225
|
+
"level": "2",
|
|
226
|
+
"content": "Power Pool Alphas"
|
|
227
|
+
},
|
|
228
|
+
"id": "8528258e-aa1d-4981-977e-dd60dc28557c"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"type": "TEXT",
|
|
232
|
+
"value": "<p>Criteria for Power Pool Alphas:</p><ul><li>Sharpe >= 1.0</li><li>Number of unique operators <= 8</li><li>Number of unique data fields (excluding grouping fields) <= 3</li><li>Grouping fields: country, industry, subindustry, currency, market, sector, exchange</li><li>Self-Correlation of just your Power Pool Alphas <= 0.5.</li><li>Once you tag an Alpha as power pool, it stays in the self-correlation pool even if you untag it later</li><li>Turnover should be between 1%-70% (both inclusive)</li><li>USA Delay 1</li></ul><p>You may find out more about Power Pool Alphas <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/30786433958039-Which-Alphas-are-eligible-for-Power-Pool-Alphas-Competition\">here</a>.</p>",
|
|
233
|
+
"id": "ceb44f8f-d95a-402f-b000-23c1af18398c"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"type": "HEADING",
|
|
237
|
+
"value": {
|
|
238
|
+
"level": "1",
|
|
239
|
+
"content": "Sub-Geography Sharpe Cutoff for GLB Alphas"
|
|
240
|
+
},
|
|
241
|
+
"id": "8e262917-1e01-4920-b317-470984d3d424"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"type": "TABLE",
|
|
245
|
+
"value": {
|
|
246
|
+
"data": [
|
|
247
|
+
[
|
|
248
|
+
"Submission Criteria",
|
|
249
|
+
"Threshold"
|
|
250
|
+
],
|
|
251
|
+
[
|
|
252
|
+
"AMER Sharpe ",
|
|
253
|
+
"≥ 1"
|
|
254
|
+
],
|
|
255
|
+
[
|
|
256
|
+
"APAC Sharpe",
|
|
257
|
+
"≥ 1"
|
|
258
|
+
],
|
|
259
|
+
[
|
|
260
|
+
"EMEA Sharpe ",
|
|
261
|
+
"≥ 1"
|
|
262
|
+
]
|
|
263
|
+
],
|
|
264
|
+
"firstRowIsTableHeader": false,
|
|
265
|
+
"firstColIsHeader": true
|
|
266
|
+
},
|
|
267
|
+
"id": "4ac872d4-6941-4875-875a-4cb503170f5e"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"type": "TEXT",
|
|
271
|
+
"value": "<p></p><p>GLB Alphas are subject to additional sub-geography Sharpe cutoff criteria. These criteria ensure that your Alpha isn’t just performing well globally but is also delivering consistent returns across all three geographies. The goal is to avoid over-reliance on a single geography and encourage a more balanced contribution to your overall PnL.</p><p></p><p><b>Tips to Improve Sharpe Across Geographies</b></p><ul><li><b>AMER</b>: Focus on high-liquidity equities and consider incorporating earnings-related signals, as the stocks in these markets are highly responsive to earnings announcements.</li><li><b>APAC</b>: Pay attention to market microstructure data, as price-volume patterns in APAC markets often differ due to shorter market hours and unique market regulations.</li><li><b>EMEA</b>: Explore macroeconomic indicators, as EMEA stocks are often influenced by geopolitical events and currency fluctuations.</li><li>GLB Alphas also include a breakdown of global PnL by geography in their PnL chart, making it easy to see how much each geography is contributing. This helps you identify imbalances and determine areas for improvement.</li></ul>",
|
|
272
|
+
"id": "8ace0cb8-6180-4ae5-8c89-1d659c092ff3"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"type": "IMAGE",
|
|
276
|
+
"value": {
|
|
277
|
+
"title": "Picture1.png",
|
|
278
|
+
"width": 624,
|
|
279
|
+
"height": 442,
|
|
280
|
+
"fileSize": 84498,
|
|
281
|
+
"url": "https://api.worldquantbrain.com/content/images/XRKUfH1WF2_5hHtfWieOJ37eCIY=/422/original/Picture1.png"
|
|
282
|
+
},
|
|
283
|
+
"id": "94da55ea-933b-4bad-bf6d-534869cd5f28"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"type": "HEADING",
|
|
287
|
+
"value": {
|
|
288
|
+
"level": "1",
|
|
289
|
+
"content": "Japan Robustness Sharpe Test for ASI Alphas Submission"
|
|
290
|
+
},
|
|
291
|
+
"id": "1d16f3e7-1927-43b4-93e6-ab2523b2caa0"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"type": "TEXT",
|
|
295
|
+
"value": "<p></p><p><b>Criteria: Japan Robustness Sharpe ≥ 1</b></p><p>ASI Alphas are subject to an additional country-specific robustness check focused on Japan. This criterion ensures that your Alpha delivers consistent, scalable performance within Japan, one of most liquid markets in ASI. Japan market provides and enhance executable capacity for live trading. If an ASI alpha is weak in Japan and derives most of its PnL outside JPN, it becomes difficult to realize due to lower liquidity, higher slippage, and limited capacity in other markets. Ensuring each ASI alpha achieves a minimum 1 Sharpe performance in Japan increases the realizability and scalability of PnL across ASI.</p><p><b>Note on Japan Sharpe shown in Visualization Tool versus this Test</b></p><ul><li>The Japan Robustness Sharpe Test and the Visualization Tool use different Japan universes. Consequently, the test result may differ from the Japan Sharpe displayed in the Visualization Tool.</li><li>The Visualization Tool remains highly useful for diagnosing Japan-specific PnL, turnover dynamics, sector/industry and capitalization breakdowns, and coverage trends, which can guide improvements to Japan robustness.</li></ul>",
|
|
296
|
+
"id": "1d7902d4-b883-4492-8e63-ec1dba9fb3a3"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"type": "IMAGE",
|
|
300
|
+
"value": {
|
|
301
|
+
"title": "Picture1.png",
|
|
302
|
+
"width": 362,
|
|
303
|
+
"height": 344,
|
|
304
|
+
"fileSize": 27689,
|
|
305
|
+
"url": "https://api.worldquantbrain.com/content/images/Sn88d4bs2GHr8DWkYNNwoAz7vRg=/448/original/Picture1.png"
|
|
306
|
+
},
|
|
307
|
+
"id": "fa7181ad-850c-4366-ba3c-e91b1f5eeb62"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"type": "TEXT",
|
|
311
|
+
"value": "<p></p><p><b>Tips to Improve Japan Sharpe</b></p><ul><li>Strengthen economic rationale: Favor signals with clear intuition that plausibly hold in Japan (e.g., earnings revision persistence, conservative accruals, quality/low-risk tilts, liquidity-aware momentum). For example, you can improve your Alpha in JPN Region and re-simulate it to finally submit it in ASI region if alpha initially has <1 sharpe in JPN. Nonetheless, pass the Japan test with margin signals an economically grounded mechanism rather than country-specific overfitting.</li><li>Liquidity-aware construction: Emphasize large- and mid-cap breadth; avoid over-reliance on micro-caps where slippage/impact erode realized performance. Keep single-instrument weights well below 10%.</li><li>Avoid excessive size-only tilts: Unbounded cap or illiquidity multipliers can degrade robustness. If using cap/volume scalers, keep them bounded and balanced to prevent over-concentration.</li><li>Control sector/industry exposures: Use neutralization sensibly to avoid dominance by one industry. Inspect industry/sector-level PnL and Sharpe in the Visualization Tool to detect imbalances.</li><li>Stabilize turnover: Choose decay and smoothing that reduce churn without killing responsiveness. Very high turnover increases fragility under realistic costs; very low turnover may reduce adaptability.</li><li>Stress-test via Visualization Tool: Review Japan breakdowns for Coverage, Size, PnL, and Sharpe by Capitalization/Industry/Sector; analyze rolling performance, and seasonality. Even with universe differences, these diagnostics remain informative for improving Japan performance.</li></ul>",
|
|
312
|
+
"id": "885d71d4-9417-441c-b5a6-f8aeff6b6217"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"type": "HEADING",
|
|
316
|
+
"value": {
|
|
317
|
+
"level": "1",
|
|
318
|
+
"content": "Interpreting Status Messages in Simulation Results"
|
|
319
|
+
},
|
|
320
|
+
"id": "89944b33-2725-4491-be77-65b783cfd115"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"type": "TEXT",
|
|
324
|
+
"value": "<p>When “Check Submission” or “Submit Alpha” button is pressed, tests are performed in the order described below. In case Alpha fails any of the tests, respective Test Message is displayed.</p>",
|
|
325
|
+
"id": "8e94c619-531c-441a-8587-a50bf87f972f"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"type": "TABLE",
|
|
329
|
+
"value": {
|
|
330
|
+
"data": [
|
|
331
|
+
[
|
|
332
|
+
"SR. NO.",
|
|
333
|
+
"TEST RESULT",
|
|
334
|
+
"TEST MESSAGE"
|
|
335
|
+
],
|
|
336
|
+
[
|
|
337
|
+
"1",
|
|
338
|
+
"Alpha fails Weight test",
|
|
339
|
+
"Maximum weight on an instrument is greater than 10% OR Weight is too strongly concentrated or too few instruments are assigned weight."
|
|
340
|
+
],
|
|
341
|
+
[
|
|
342
|
+
"2",
|
|
343
|
+
"Alpha fails Correlation test",
|
|
344
|
+
"Reduce max correlation"
|
|
345
|
+
],
|
|
346
|
+
[
|
|
347
|
+
"3",
|
|
348
|
+
"Alpha fails fitness test",
|
|
349
|
+
"Improve fitness"
|
|
350
|
+
],
|
|
351
|
+
[
|
|
352
|
+
"4",
|
|
353
|
+
"Delay 0 Alpha fails checkDelay1Sharpe",
|
|
354
|
+
"Alpha better suited for Delay 1"
|
|
355
|
+
],
|
|
356
|
+
[
|
|
357
|
+
"5",
|
|
358
|
+
"Alpha fails SubUniverse test",
|
|
359
|
+
"Improve Sharpe in SubUniverse"
|
|
360
|
+
]
|
|
361
|
+
],
|
|
362
|
+
"firstRowIsTableHeader": true,
|
|
363
|
+
"firstColIsHeader": false
|
|
364
|
+
},
|
|
365
|
+
"id": "a7563a3d-d214-4887-876a-d622b86bf381"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"type": "TEXT",
|
|
369
|
+
"value": "<p></p><ul><li>Example: if an Alpha clears criteria 1, 2 and 3 but fails at criteria 4, recommendation would be “Improve Sharpe or reduce turnover”.</li></ul>",
|
|
370
|
+
"id": "7cb43ed4-2a90-4634-842e-5752581d4307"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"type": "HEADING",
|
|
374
|
+
"value": {
|
|
375
|
+
"level": "1",
|
|
376
|
+
"content": "Selecting Alphas For Submission"
|
|
377
|
+
},
|
|
378
|
+
"id": "4a4b2bca-7cf7-442c-b302-e9e4f0c0746c"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"type": "TEXT",
|
|
382
|
+
"value": "<p></p><p></p><ul><li>Do not submit Alphas as soon they clear the performance cutoff. Improve the idea until you have the best version: in terms of both performance and correlation.</li><li>However, do not spend extraordinary amount of time improving a single idea either:<ul><li>It is generally better to try out new ideas with low correlation to previous ones than to improve performance of Alphas with high correlation.</li><li>Generally, low correlation is more important than minor increase in performance. Example: An Alpha with slightly better performance but high correlation is worse that an Alpha with slightly lower performance but much lower correlation</li></ul></li></ul>",
|
|
383
|
+
"id": "e5cfe7ab-c70f-4a5f-856a-646f98ffa5d0"
|
|
384
|
+
}
|
|
385
|
+
],
|
|
386
|
+
"sequence": 0,
|
|
387
|
+
"category": "Getting Started"
|
|
388
|
+
}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "parameters-simulation-results",
|
|
3
|
+
"title": "Parameters in the Simulation results",
|
|
4
|
+
"lastModified": "2025-04-04T04:35:07.278227-04:00",
|
|
5
|
+
"content": [
|
|
6
|
+
{
|
|
7
|
+
"type": "TEXT",
|
|
8
|
+
"value": "<iframe width=\"743\" height=\"333\" src=\"https://www.youtube.com/embed/fjc1M92MPSc?start=69&end=236\" title=\"Learn2Quant: How Good is Your Alpha? A Metrics-Based Approach | Lesson 3\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></framed>",
|
|
9
|
+
"id": "06f160cc-a010-4e51-b42c-f15eaeaeb562"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "TEXT",
|
|
13
|
+
"value": "<p>In the <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> result page, you will find a ratings panel in the Stats tab of Results that says Spectacular, Excellent, Good, Average or Needs Improvement depending on your Alpha’s Fitness as shown below:</p>",
|
|
14
|
+
"id": "0f0fdc9f-2d3c-4178-803b-ffaec838220c"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "TABLE",
|
|
18
|
+
"value": {
|
|
19
|
+
"data": [
|
|
20
|
+
[
|
|
21
|
+
"Label",
|
|
22
|
+
"Fitness for Delay 1",
|
|
23
|
+
"Fitness for Delay 0"
|
|
24
|
+
],
|
|
25
|
+
[
|
|
26
|
+
"Spectacular",
|
|
27
|
+
"> 2.5",
|
|
28
|
+
"> 3.25"
|
|
29
|
+
],
|
|
30
|
+
[
|
|
31
|
+
"Excellent",
|
|
32
|
+
"> 2",
|
|
33
|
+
"> 2.6"
|
|
34
|
+
],
|
|
35
|
+
[
|
|
36
|
+
"Good",
|
|
37
|
+
"> 1.5",
|
|
38
|
+
"> 1.95"
|
|
39
|
+
],
|
|
40
|
+
[
|
|
41
|
+
"Average",
|
|
42
|
+
"> 1",
|
|
43
|
+
"> 1.3"
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
"Needs Improvement",
|
|
47
|
+
"<= 1",
|
|
48
|
+
"<= 1.3"
|
|
49
|
+
]
|
|
50
|
+
],
|
|
51
|
+
"firstRowIsTableHeader": true,
|
|
52
|
+
"firstColIsHeader": false
|
|
53
|
+
},
|
|
54
|
+
"id": "2b2b2466-8868-4c20-b1ff-d79cd87e2219"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "HEADING",
|
|
58
|
+
"value": {
|
|
59
|
+
"level": "1",
|
|
60
|
+
"content": "Return"
|
|
61
|
+
},
|
|
62
|
+
"id": "fff1c4d7-6f3b-4e22-b013-d5674213ded0"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "TEXT",
|
|
66
|
+
"value": "<p></p><p>Return is the gain or loss of a security or portfolio in a particular period. Return consists of the income received plus capital gains, relative to the amount of the investment. In BRAIN, return = annualized PnL / half of book size.</p><p></p><p></p>",
|
|
67
|
+
"id": "42c42cb2-677d-4589-90fe-927a3488f47f"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "HEADING",
|
|
71
|
+
"value": {
|
|
72
|
+
"level": "1",
|
|
73
|
+
"content": "Sharpe and IR"
|
|
74
|
+
},
|
|
75
|
+
"id": "4b75726e-b9c8-4d94-a000-e9b04c4ad354"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "TEXT",
|
|
79
|
+
"value": "<p><a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details%C2%A0*).-,Information%20ratio,-Information\">Information ratio (IR)</a> measures the prediction ability of a model. In BRAIN, it is defined as <i>the ratio of a portfolio’s mean daily</i> <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Returns,-Returns\"><i>returns</i></a><i> to the volatility of those returns:</i></p>",
|
|
80
|
+
"id": "fb1b9aae-386e-498f-846f-2d41b801298d"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "EQUATION",
|
|
84
|
+
"value": "IR = \\frac{mean(PnL)}{stdev(PnL)}",
|
|
85
|
+
"id": "54911c08-643f-40de-8ca2-ec7e4a313b8f"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "TEXT",
|
|
89
|
+
"value": "<p>where <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 the daily profit and loss, in dollars.</p><p><a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Sharpe%20ratio,-Sharpe\">Sharpe</a> is the annualized version of the IR statistic, i.e. Sharpe = sqrt (252)*IR ≈ 15.8*IR; where 252 is the average number of trading days (days the markets are open) in the USA in a year.</p><p>Sharpe or IR measures the returns of an Alpha while attempting to identify its consistency. The higher the IR, the more consistent the Alpha’s returns are, and consistency is an ideal trait. High Sharpe (or IR) is more desirable than just high return.</p><p><i>Note: Sharpe and</i> <i>IR</i> <i>may be defined somewhat differently elsewhere than in</i> BRAIN<i>.</i></p>",
|
|
90
|
+
"id": "45b636e2-004b-4a26-8eea-221e6ac5d5e0"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "HEADING",
|
|
94
|
+
"value": {
|
|
95
|
+
"level": "1",
|
|
96
|
+
"content": "Fitness"
|
|
97
|
+
},
|
|
98
|
+
"id": "cd9183be-52d4-44e8-85dc-ca0aa4edb81a"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "TEXT",
|
|
102
|
+
"value": "<p><a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=ratios.-,Fitness,-Fitness\">Fitness</a> of an <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=A-,Alpha,-An\">Alpha</a> is a function of Returns, <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> and Sharpe:</p>",
|
|
103
|
+
"id": "e1f186f0-79ab-4639-a99a-4d289467eb36"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"type": "EQUATION",
|
|
107
|
+
"value": "Fitness = Sharpe \\cdot \\sqrt{\\frac{abs(Returns)}{max(Turnover,0.125)}}",
|
|
108
|
+
"id": "b70a33db-3d1f-4364-bf81-9e224ae46aa3"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"type": "TEXT",
|
|
112
|
+
"value": "<p></p><p>Good Alphas have high fitness. You can optimize the performance of your Alphas by <b>increasing Sharpe (or returns) and reducing turnover</b>. Improving one factor normally has an adverse impact on the other factor. As you work on optimizing your Alpha, an improvement in its fitness is an indication that your changes are having a positive impact.</p>",
|
|
113
|
+
"id": "ea5128af-61a3-4151-9f58-bb3c589d6ece"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"type": "HEADING",
|
|
117
|
+
"value": {
|
|
118
|
+
"level": "1",
|
|
119
|
+
"content": "Cumulative PnL Chart"
|
|
120
|
+
},
|
|
121
|
+
"id": "b12eead8-0b24-4e49-9f4f-23c05ba304be"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"type": "TEXT",
|
|
125
|
+
"value": "<p></p><p><b>Cumulative PnL Chart:</b> A graph (shown below) of an Alpha’s performance (<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>) over entire <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>. This graph can be zoomed in by clicking and dragging below the plot area. Start and end dates for PnL plotting can also be changed here. Clicking the <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Sharpe%20ratio,-Sharpe\">Sharpe Ratio</a> in dropdown menu at the upper right from PnL graph displays the Sharpe ratio graph (Sharpe over time). Make sure that the PnL graph has an upward trend, the Sharpe is high and the <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=today-,Drawdown,-Drawdown\">Drawdown</a> is kept to a minimum.</p>",
|
|
126
|
+
"id": "c70bdd8a-6a6a-4efc-ae10-fda940e52ff1"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"type": "IMAGE",
|
|
130
|
+
"value": {
|
|
131
|
+
"title": "Cumulative PnL",
|
|
132
|
+
"width": 525,
|
|
133
|
+
"height": 360,
|
|
134
|
+
"fileSize": 48049,
|
|
135
|
+
"url": "https://api.worldquantbrain.com/content/images/q9drQriu1gSqBNnw2eoWE6U88VY=/9/original/Cumulative_PnL.png"
|
|
136
|
+
},
|
|
137
|
+
"id": "a5330388-1051-4477-bf46-17f1b57f33ec"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"type": "HEADING",
|
|
141
|
+
"value": {
|
|
142
|
+
"level": "1",
|
|
143
|
+
"content": "IS Summary"
|
|
144
|
+
},
|
|
145
|
+
"id": "b04368a6-09cf-4109-98ba-4cda5b240b73"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"type": "TEXT",
|
|
149
|
+
"value": "<p><b>IS Summary:</b> Scrolling down to the Stats block (shown below) of the simulation results shows various metrics about the Alpha's performance.</p>",
|
|
150
|
+
"id": "a108a289-ed52-4c51-8bb0-b20d42e5b0bc"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"type": "IMAGE",
|
|
154
|
+
"value": {
|
|
155
|
+
"title": "IS_Result.PNG",
|
|
156
|
+
"width": 1187,
|
|
157
|
+
"height": 388,
|
|
158
|
+
"fileSize": 32259,
|
|
159
|
+
"url": "https://api.worldquantbrain.com/content/images/Mo8HCP_leffAynw_hsX6NAj4XKc=/260/original/IS_Result.PNG"
|
|
160
|
+
},
|
|
161
|
+
"id": "c8d64673-fc35-4a1b-bca0-53009efa0fa8"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"type": "TEXT",
|
|
165
|
+
"value": "<p><b>Year:</b> The year on which the data was simulated. The last row shows the Alpha’s performance over all years.</p><p><b>Long/Short Count:</b> The number of <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Instrument,-Instrument\">instruments</a> in long or short positions, respectively.</p><p><b>Sharpe</b>: Sharpe = IR * Sqrt(252), where IR = Avg(PnL)/Std_dev(PnL) over the observed time period.</p><p><b>Fitness</b> is defined in the <a href=\"$tutorialpage/interpret-results/alpha-performance\">Alpha Performance</a> help page: Fitness = Sharpe * sqrt(abs(<a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Returns,-Returns\">Returns</a>) / max(<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>, 0.125)).</p><p><b>Returns:</b> The return on capital traded: Annual Return = Annualized PnL / Half of Book Size. It signifies the amount you made or lost during the period observed and is expressed in %. Book size refers to the amount of capital (money) used to trade during the simulation. Book size is constant and is set to $20 million every day throughout the simulation. Profit is not reinvested, and losses are replaced by cash injection into the portfolio. BRAIN assumes you have $10 million and will invest in assets up to $20 million. This is called leverage. Performance (like Returns, Sharpe) is computed on a base of $10 million.</p><p><b>Turnover:</b> Turnover signifies how often one trades. It can be defined as the ratio of value traded to book size. Daily Turnover = Dollar trading <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=time.-,Volume,-Volume\">volume</a>/Book size. Good Alphas have low turnover, since low turnover means lower transaction costs.</p><p><b>Margin:</b> The profit per dollar traded; calculated as PnL divided by total dollars traded for a given time period.</p><p><b>PnL</b>: Profit and Loss (PnL) is the money that the positions and trades generate (which means it is the amount of money you lost or made during the year), expressed in dollars.</p><p>daily_PnL = sum of (size of position * daily_return) for all instruments, where the daily return per instrument = (today’s close / yesterday’s close) – 1.0.</p><p><b>Drawdown</b> - the largest reduction in PnL during a time period, expressed as a percentage. It is calculated as follows: find the largest peak to trough drawdown in PnL, and divide its dollar amount by half of book size ($1</p>",
|
|
166
|
+
"id": "f2f2bce9-7bd3-4fc5-9db7-81579eb21616"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"type": "HEADING",
|
|
170
|
+
"value": {
|
|
171
|
+
"level": "1",
|
|
172
|
+
"content": "Self-Correlation"
|
|
173
|
+
},
|
|
174
|
+
"id": "a525aa4e-b5c9-444e-bd81-e2ba11cb9dde"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"type": "TEXT",
|
|
178
|
+
"value": "<p><b>Generate Self Correlation:</b> Clicking the Down Arrow button in a <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details%C2%A0*).-,Self%20correlation,-Maximum\">Self Correlation</a> row will produce a table with the performance statistics of up to the 5 most correlated Alphas you submitted that qualified for OS testing. This information is meant to help the user ensure they have a diverse set of Alphas. This information can also be accessed by clicking on the Alpha in the Alphas page.</p>",
|
|
179
|
+
"id": "9f9600ac-012d-48be-befd-660273d5fbfa"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"type": "IMAGE",
|
|
183
|
+
"value": {
|
|
184
|
+
"title": "Correlation",
|
|
185
|
+
"width": 967,
|
|
186
|
+
"height": 381,
|
|
187
|
+
"fileSize": 21715,
|
|
188
|
+
"url": "https://api.worldquantbrain.com/content/images/6nYq2R2YwLwHF4Vx5OySMgMjbXo=/39/original/Correlation.PNG"
|
|
189
|
+
},
|
|
190
|
+
"id": "94a24d9c-d4e7-41e4-a87f-2e261fc70e6f"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"type": "HEADING",
|
|
194
|
+
"value": {
|
|
195
|
+
"level": "1",
|
|
196
|
+
"content": "IS, Semi-OS & OS"
|
|
197
|
+
},
|
|
198
|
+
"id": "66e2c941-86f7-4755-baa9-3addb0db77b4"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"type": "TEXT",
|
|
202
|
+
"value": "<p>The rolling 5-year In-Sample simulation period begins seven years ago and ends two years ago, updating daily. Using simulation settings, you can divide your In-Sample (IS) period into a Train and Test period. The Train period can be utilized to develop your Alphas and SuperAlphas, while the Test period is ideal for validating them. An Alpha developed based on the simulation results of training period and performs well in both periods is likely a strong candidate for submission and may have avoided overfitting.</p><p>The latest two years of data, the Semi-OS, are hidden for scoring and testing purposes. Consultants have access to a 10-year In-sample period, instead of 5-year.</p><p>Keeping the last 2 years of data hidden leads to higher confidence in the Out-Sample (OS) performance of Alphas and their scores. Statistics shown in the OS Tab of <b>My Alphas</b> page will be populated as data becomes available by each passing day.</p>",
|
|
203
|
+
"id": "69cf81a3-a83e-4ad9-91b1-25af69f20e0a"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"type": "IMAGE",
|
|
207
|
+
"value": {
|
|
208
|
+
"title": "IS, Semi OS and OS",
|
|
209
|
+
"width": 985,
|
|
210
|
+
"height": 239,
|
|
211
|
+
"fileSize": 75388,
|
|
212
|
+
"url": "https://api.worldquantbrain.com/content/images/GBxJv7oA55p6vNjbyby5-t8lTIw=/290/original/image_2.png"
|
|
213
|
+
},
|
|
214
|
+
"id": "61a20597-6736-4c67-8e8d-d334710a8ba9"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"type": "HEADING",
|
|
218
|
+
"value": {
|
|
219
|
+
"level": "1",
|
|
220
|
+
"content": "Alpha Statuses"
|
|
221
|
+
},
|
|
222
|
+
"id": "e57665fe-88b1-4cda-b166-af41aad38801"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"type": "TEXT",
|
|
226
|
+
"value": "<ul><li>Following successful simulation, the Alpha is labeled as \"UNSUBMITTED.\"</li><li>Upon submission, the Alpha is assigned the \"ACTIVE\" status.</li><li>For consultants, ACTIVE Alphas are qualified to accumulate weight and are eligible to contribute to the consultants' quarterly payments, as further described in their respective consulting or service agreements. This ACTIVE status will be kept until the dataset they rely upon is decommissioned or if WorldQuant otherwise decommissions an Alpha, in its discretion.</li><li>In case the dataset in no longer available or there is prolonged underperformance of the Alpha in the Out-Sample period, the Alpha's status is revised to \"DECOMMISSIONED\".</li><li>Decommissioned Alphas do not accrue weight and are not eligible to contribute to your quarterly payment.</li></ul><p></p>",
|
|
227
|
+
"id": "9d011f23-b749-4153-ac4f-2e263df4c75a"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"type": "IMAGE",
|
|
231
|
+
"value": {
|
|
232
|
+
"title": "Alpha Lifecycle",
|
|
233
|
+
"width": 842,
|
|
234
|
+
"height": 110,
|
|
235
|
+
"fileSize": 12321,
|
|
236
|
+
"url": "https://api.worldquantbrain.com/content/images/YmSm8cBVOMDvyDAQbW2aqo7AiaU=/279/original/lifecycle_alpha_latest.png.jpg"
|
|
237
|
+
},
|
|
238
|
+
"id": "bc41754a-c0be-4294-897e-9ca3b3deda24"
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"sequence": 22,
|
|
242
|
+
"category": "Interpreting Results"
|
|
243
|
+
}
|