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.
- cnhkmcp/__init__.py +126 -125
- cnhkmcp/untracked/AI/321/206/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
- cnhkmcp/untracked/AI/321/206/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
- cnhkmcp/untracked/AI/321/206/320/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/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/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/APP/Tranformer/Transformer.py +5 -1
- cnhkmcp/untracked/APP/Tranformer/ace_lib.py +4 -0
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +6008 -1242
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +1 -1034
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +47310 -442
- cnhkmcp/untracked/APP/ace_lib.py +4 -0
- cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +4 -0
- cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +4 -0
- cnhkmcp/untracked/APP/simulator/wqb20260107015647.log +57 -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 +4 -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 +2 -2
- 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
- cnhkmcp/untracked/__init__.py +0 -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 +352 -166
- {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/METADATA +1 -1
- cnhkmcp-2.1.4.dist-info/RECORD +190 -0
- cnhkmcp-2.1.2.dist-info/RECORD +0 -111
- {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/WHEEL +0 -0
- {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/entry_points.txt +0 -0
- {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/licenses/LICENSE +0 -0
- {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "about-brain-platform",
|
|
3
|
+
"title": "Introduction to Alphas",
|
|
4
|
+
"lastModified": "2025-09-12T03:33:37.870415-04:00",
|
|
5
|
+
"content": [
|
|
6
|
+
{
|
|
7
|
+
"type": "TEXT",
|
|
8
|
+
"value": "<p>BRAIN is a web-based tool for <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=operators.-,Backtesting,-Backtesting\">backtesting</a> trading ideas. 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 concrete trading idea that can be simulated historically.</p>",
|
|
9
|
+
"id": "2837a66e-2275-4bdd-9054-7a0206985413"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "HEADING",
|
|
13
|
+
"value": {
|
|
14
|
+
"level": "1",
|
|
15
|
+
"content": "Alphas"
|
|
16
|
+
},
|
|
17
|
+
"id": "8ebed88c-ccb4-44f8-a173-bd42183f4471"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "TEXT",
|
|
21
|
+
"value": "<p>In BRAIN, an 'Alpha' refers to a mathematical model, written as an expression, which places different bets (<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>) on different <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> (stocks), and is expected to be profitable in the long run. After a user enters an Alpha expression that consists of data, <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=O-,Operator,-Operator\">operators</a> and constants, the input code is evaluated for each instrument to construct a portfolio. Then BRAIN makes investments in each instrument for a one-day period in proportion to the values of the expression. The process repeats each day.<br/></p>",
|
|
22
|
+
"id": "b71362d2-9fde-44ab-b868-0f2ff33765fb"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "TEXT",
|
|
26
|
+
"value": "<iframe width=\"743\" height=\"333\" \" src=\"https://www.youtube.com/embed/A3RNoYAz_9U?start=66&end=192&feature=oembed&rel=0\" title=\"Learn2Quant: Creating a Quant Alpha | Lesson 2\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>",
|
|
27
|
+
"id": "1183498a-ba79-4a6b-8d47-efa2074d548c"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "HEADING",
|
|
31
|
+
"value": {
|
|
32
|
+
"level": "1",
|
|
33
|
+
"content": "Alpha Lifecycle"
|
|
34
|
+
},
|
|
35
|
+
"id": "05ecc6cf-b9ac-4a9a-ad3b-d1f484785a06"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "TEXT",
|
|
39
|
+
"value": "<p></p><p>The flow chart below shows the lifecycle 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>:</p>",
|
|
40
|
+
"id": "cd02587f-6908-4b44-99c4-e91214fffaf8"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"type": "TEXT",
|
|
44
|
+
"value": "<img src=https://api.worldquantbrain.com/content/images/sEX-vpQmh1uRWP-BIv3MVrsKI1k=/18/original/ alt=\"alpha_lifecycle\" width=\"700\">",
|
|
45
|
+
"id": "a13d02ab-05ee-4bb2-bf98-4ea146fc7984"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "TEXT",
|
|
49
|
+
"value": "<p>First, one might peruse blogs, journals and research papers on the internet to come up with an idea. The Alpha expression is entered in BRAIN and operations (like truncation,neutralization, decay) are performed on the raw Alpha. BRAIN makes investments (goes long or short) for all the instrumentsof the universe chosen in the Settings panel and the PnL is simulated. Then the performance is calculated (Sharpe, Turnover, Returns) as seen in the Simulation Results page. And if the Alpha is not deemed worthy, the Alpha idea is revised. Else, it enters production.</p>",
|
|
50
|
+
"id": "c0efbee7-456e-4924-9a32-4b9c03b263a0"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "HEADING",
|
|
54
|
+
"value": {
|
|
55
|
+
"level": "1",
|
|
56
|
+
"content": "Weights"
|
|
57
|
+
},
|
|
58
|
+
"id": "e35f3846-8adb-4337-b5e6-e95a57562e55"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"type": "TEXT",
|
|
62
|
+
"value": "<p>In simple terms, BRAIN uses an Alpha to create a vector of weights, with each weight corresponding to one of the stocks in the selected <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>. These weights may or may not be market neutralized, as per your <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> setting (by market, industry, sub-industry or none). This creates a portfolio for each day in the simulation period, which can then be used to calculate that day'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\">Profit and Loss (PnL)</a>.</p>",
|
|
63
|
+
"id": "efbe2911-6063-46b2-8519-3ee6a629c61c"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "TEXT",
|
|
67
|
+
"value": "<iframe width=\"743\" height=\"333\" src=\"https://www.youtube.com/embed/A3RNoYAz_9U?start=193&end=262\" title=\"Long Short Neutrality\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>",
|
|
68
|
+
"id": "3bf6a5f9-88d3-46f0-a9f3-fcc412ead243"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "HEADING",
|
|
72
|
+
"value": {
|
|
73
|
+
"level": "1",
|
|
74
|
+
"content": "Assigning weights"
|
|
75
|
+
},
|
|
76
|
+
"id": "49b1a6dd-e76b-4523-b7af-437774eac8eb"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"type": "TEXT",
|
|
80
|
+
"value": "<p>Suppose in the Expression box, you type in 1/close, and set the simulation settings as follows: <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=details.-,Region,-Set\">Region</a> = US, Universe = TOP3000, Delay = 1, Decay = 0, Neutralization = None, Truncation = 0. Now, once you hit \"Simulate\" button, then for each day in the Simulation Duration (5 years), the simulator does the following:<br/>It calculates 1/close (using the closing price for the previous day), for each <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\">instrument</a> in the basket \"US: TOP3000\" (i.e. top 3000 stocks in the US, by market <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=level.-,Capitalization,-Daily\">capitalization</a>). This creates a vector of 3000 values (one for each stock). This vector is then normalized, i.e. divided by the sum of its values(so that all the values sum up to 1). This creates a vector of \"weights\" for all the stocks, which is called a \"Portfolio\". Each weight represents the fraction of money invested in that stock. If our <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=deviation.-,Booksize,-Booksize\">booksize</a> is $20 Million, then the money invested in each stock is $20M x (weight of that stock in the portfolio). This is done for each day in the simulation period, and at the end of each day the total profit or loss made by our portfolio is calculated.</p>",
|
|
81
|
+
"id": "edf3a2d7-3d8a-4235-9399-0897bfbaa466"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "HEADING",
|
|
85
|
+
"value": {
|
|
86
|
+
"level": "1",
|
|
87
|
+
"content": "Positive and Negative weights"
|
|
88
|
+
},
|
|
89
|
+
"id": "c443631f-6a0d-4125-b09c-8807b6be4d8c"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"type": "TEXT",
|
|
93
|
+
"value": "<p>BRAIN assigns positive weights to indicate long positions in stocks, and negative weights to indicate short positions in stocks. The greater the magnitude of the weight on a stock, the larger the long or short position taken on it.</p><p>It is easy to invest $100 in stock, but negative positions (shorts) are common too. E.g. one can get $100 now by shorting a stock (i.e. investing -$100), which must be bought back later. PnL would be the opposite of $100 invested, as seen in the table below. Negative weights are called short positions and positive weights are called long positions. Typically investors take short positions when they expect stock price to decrease and long positions (i.e. buying stocks) when they expect price to increase. Please refer to <a href=\"http://www.investopedia.com/terms/s/shortselling.asp\">Investopedia</a> for more details on short selling.</p><p>The below table gives an example of payoffs from a $100 short and a $100 long position, for a 1% price change in each direction. For simplicity, it does not account for dividends, margin and financing costs.</p>",
|
|
94
|
+
"id": "499d70dc-d24f-459a-87f1-b8b29de7984d"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"type": "TABLE",
|
|
98
|
+
"value": {
|
|
99
|
+
"data": [
|
|
100
|
+
[
|
|
101
|
+
"Position",
|
|
102
|
+
"Name",
|
|
103
|
+
"PnL if stock price rises 1%",
|
|
104
|
+
"PnL if stock price falls 1%"
|
|
105
|
+
],
|
|
106
|
+
[
|
|
107
|
+
"$100",
|
|
108
|
+
"Long",
|
|
109
|
+
"$1",
|
|
110
|
+
"-$1"
|
|
111
|
+
],
|
|
112
|
+
[
|
|
113
|
+
"-$100",
|
|
114
|
+
"Short",
|
|
115
|
+
"-$1",
|
|
116
|
+
"$1"
|
|
117
|
+
]
|
|
118
|
+
],
|
|
119
|
+
"firstRowIsTableHeader": true,
|
|
120
|
+
"firstColIsHeader": false
|
|
121
|
+
},
|
|
122
|
+
"id": "2902048e-2053-4151-83dd-471bacd76722"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"type": "HEADING",
|
|
126
|
+
"value": {
|
|
127
|
+
"level": "1",
|
|
128
|
+
"content": "BRAIN"
|
|
129
|
+
},
|
|
130
|
+
"id": "72d89a78-777a-4056-bd8e-6939260658a8"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"type": "TEXT",
|
|
134
|
+
"value": "<p>BRAIN is a web-based simulator of global financial markets that was created to explore Alpha research. It accepts an Alpha expression as input and plots its Profit and Loss (PnL) as output. The input expression is evaluated for each financial instrument, every day over historical dates, and a portfolio is constructed accordingly. BRAIN invests in each financial instrument according to the value of the expression. It takes positions (either buying or short selling) and assigns weights to each instrument. The weights are then scaled to book size (amount of money invested), based on which a PnL graph is plotted. These weights are not constant; they change over time based on current information and the history of the changes of some variables (such as prices, volumes, etc.).</p>",
|
|
135
|
+
"id": "c6d82411-29b3-4ea6-8b36-72caeed42e2b"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"type": "TEXT",
|
|
139
|
+
"value": "<img src=\"https://api.worldquantbrain.com/content/images/I_g6YAX-kKGKGKK6ygENw-q6C0I=/53/original/\" alt=\"alphas_and_brain\" width=\"1000\">",
|
|
140
|
+
"id": "d81fc1f4-815a-4e18-9c25-3946d8702e96"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"sequence": 2,
|
|
144
|
+
"category": "Getting Started"
|
|
145
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "introduction-brain-expression-language",
|
|
3
|
+
"title": "Introduction to BRAIN Expression Language",
|
|
4
|
+
"lastModified": "2025-03-12T05:14:01.490538-04:00",
|
|
5
|
+
"content": [
|
|
6
|
+
{
|
|
7
|
+
"type": "HEADING",
|
|
8
|
+
"value": {
|
|
9
|
+
"level": "1",
|
|
10
|
+
"content": "What is Fast Expression?"
|
|
11
|
+
},
|
|
12
|
+
"id": "553a60d0-37e0-4625-8f7d-c5ef86ed30a8"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "TEXT",
|
|
16
|
+
"value": "<p>“Fast expression” is a proprietary programming language used by WorldQuant BRAIN that is designed to make it easier to write and test financial models. The language can be thought as a form of pseudo code, which uses natural language and simple programming constructs to convey the logic of the algorithm.</p><p>The goal of using “Fast expression” on BRAIN is to provide a clear and concise way to express complex ideas and algorithms that can be easily understood by other developers and researchers. By abstracting away the details of the underlying implementation, it can allow BRAIN users to focus on the high-level logic of their algorithms, rather than getting bogged down in the implementation details.</p>",
|
|
17
|
+
"id": "2a54cace-a5e3-4d30-9fe3-e2f976b1e03c"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "HEADING",
|
|
21
|
+
"value": {
|
|
22
|
+
"level": "1",
|
|
23
|
+
"content": "Characteristics of Fast Expression"
|
|
24
|
+
},
|
|
25
|
+
"id": "469a78b4-403e-4204-bbb6-0fabc21f372b"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "TEXT",
|
|
29
|
+
"value": "<p></p><p>Just like how an English sentence consists of a subject, verb and object; Fast expression can include data fields, operators and numerical values.</p><p></p>",
|
|
30
|
+
"id": "74954f01-9581-4355-a926-dfa9347905c8"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "HEADING",
|
|
34
|
+
"value": {
|
|
35
|
+
"level": "2",
|
|
36
|
+
"content": "Data fields"
|
|
37
|
+
},
|
|
38
|
+
"id": "47e55432-bec2-4b7c-b636-6d3f3017d860"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "TEXT",
|
|
42
|
+
"value": "<p><a href=\"$reference/datasets\">Data fields</a> refer to a named collection of data, for example 'open price' or 'close price'.</p><p></p>",
|
|
43
|
+
"id": "d4f5ff04-cdc7-489d-998c-99755cb87179"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "IMAGE",
|
|
47
|
+
"value": {
|
|
48
|
+
"title": "Datasets and data fields",
|
|
49
|
+
"width": 1512,
|
|
50
|
+
"height": 790,
|
|
51
|
+
"fileSize": 74162,
|
|
52
|
+
"url": "https://api.worldquantbrain.com/content/images/IaAoDv9Y8tslj4pCv6M9pFU6TWM=/177/original/dataset_1.png"
|
|
53
|
+
},
|
|
54
|
+
"id": "451c79a7-30d1-4598-8885-cedb44e6ae3e"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "HEADING",
|
|
58
|
+
"value": {
|
|
59
|
+
"level": "2",
|
|
60
|
+
"content": "Operators"
|
|
61
|
+
},
|
|
62
|
+
"id": "6b4a64b9-5252-4fae-9307-3e44171597b4"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "TEXT",
|
|
66
|
+
"value": "<p></p><p><a href=\"$reference/operators\">Operators</a> refer to a set of mathematical techniques required to implement your Alpha ideas.</p><p></p>",
|
|
67
|
+
"id": "d6851e78-9142-4ffa-a645-d22097581b37"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "IMAGE",
|
|
71
|
+
"value": {
|
|
72
|
+
"title": "Operators",
|
|
73
|
+
"width": 1074,
|
|
74
|
+
"height": 373,
|
|
75
|
+
"fileSize": 100643,
|
|
76
|
+
"url": "https://api.worldquantbrain.com/content/images/0kiNQvb4d7dnltnIbeuU-K7zL_4=/178/original/Operators_1.png"
|
|
77
|
+
},
|
|
78
|
+
"id": "8e9f0794-4eac-4953-809f-a677c547c0ef"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "HEADING",
|
|
82
|
+
"value": {
|
|
83
|
+
"level": "1",
|
|
84
|
+
"content": "Further Knowledge of Fast Expression"
|
|
85
|
+
},
|
|
86
|
+
"id": "504523a2-9d2c-4052-ab43-112da93fdb80"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"type": "IMAGE",
|
|
90
|
+
"value": {
|
|
91
|
+
"title": "Punctuation",
|
|
92
|
+
"width": 1072,
|
|
93
|
+
"height": 408,
|
|
94
|
+
"fileSize": 143837,
|
|
95
|
+
"url": "https://api.worldquantbrain.com/content/images/Qvkynvp_PtZnsLtCWadN9FkSEZ4=/179/original/Punctuation.png"
|
|
96
|
+
},
|
|
97
|
+
"id": "bf6b9174-45be-47f8-9374-91af5fa789bb"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"type": "TEXT",
|
|
101
|
+
"value": "<p></p><ul><li><b><i>/*</i></b> helps to create block comments that span multiple lines of text, while<b><i> */</i></b> denotes the end of the comment. Comments consist of explanatory text to help understand what the code does. [1]</li><li><b><i>;</i></b> (semicolon) acts as a semicolon in a sentence, separating the end of one sentence from the beginning of another sentence. For the last line of the code (line 13) ; is not needed. [2]</li><li>The last sentence of the entire expression is the Alpha expression that the BRAIN simulator use to calculate the positions to take in each stock. [3]</li></ul><p>Lastly, Fast expression does not have classes, objects, pointers, or functions.</p><p>In summary, Fast expression provides a clear and concise way for users to express complex ideas and algorithms. Don’t worry if you’re not familiar with Fast expression yet. With a bit of practice, we believe you’ll pick it up in no time!</p>",
|
|
102
|
+
"id": "2eda68a5-3492-4f19-bd59-34f5077d7b7f"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"sequence": 3,
|
|
106
|
+
"category": "Getting Started"
|
|
107
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "challenge-help",
|
|
3
|
+
"title": "WorldQuant Challenge",
|
|
4
|
+
"lastModified": "2025-03-12T05:07:12.194953-04:00",
|
|
5
|
+
"content": [
|
|
6
|
+
{
|
|
7
|
+
"type": "HEADING",
|
|
8
|
+
"value": {
|
|
9
|
+
"level": "1",
|
|
10
|
+
"content": "Overview"
|
|
11
|
+
},
|
|
12
|
+
"id": "cdc32a30-77ce-4eae-94f0-cf38bc1c3a2a"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "TEXT",
|
|
16
|
+
"value": "<p>The WorldQuant Challenge is a perpetual, online, solo competition. Users can submit <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\">Alphas</a> to improve their scores and ranking.</p><p>Individuals who score 10,000 points may be eligible to receive an invitation for the research consultant opportunity, subject to other <a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4418509454999\">criteria</a>(e.g. if they are residents in countries where the BRAIN consultant program is offered). Users who make it to Gold and Silver levels will have access to special training sessions and videos through the Events page.</p><p>New users are automatically enrolled into the challenge. The <a href=\"https://platform.worldquantbrain.com/competition/challenge\">Leaderboard</a> ranks all eligible users and can be filtered by country, university and/or city.</p>",
|
|
17
|
+
"id": "80f9d638-0d83-4a18-86b3-0bfec80051ea"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "HEADING",
|
|
21
|
+
"value": {
|
|
22
|
+
"level": "1",
|
|
23
|
+
"content": "Scoring criteria"
|
|
24
|
+
},
|
|
25
|
+
"id": "8e4bd633-5f75-402b-8d56-398230494545"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "HEADING",
|
|
29
|
+
"value": {
|
|
30
|
+
"level": "2",
|
|
31
|
+
"content": "Summary"
|
|
32
|
+
},
|
|
33
|
+
"id": "5c522633-15e3-4978-ba47-80fe5a3e2fd3"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "TEXT",
|
|
37
|
+
"value": "<p></p><ol><li>Your score is based on the quantity and quality (performance in the 5 year in-sample period) of Alphas that you submit on the platform</li><li>Your score also depends on quantity and quality of Alphas submitted by other users that day</li><li>Score is calculated per day (EST timezone), and not per Alpha</li><li>Highest daily score you can achieve is 2,000. Typically, this involves submitting 1 to 2 Alphas a day</li><li>There are no negative points. Your score cannot decrease</li><li>Scores refresh once every day at 3 AM EST</li><li>Participants with the same score will have the same rank</li><li>You can reach three levels in WorldQuant Challenge:<ol><li>Bronze (score > 1,000)</li><li>Silver (score > 5,000)</li><li>Gold (score > 10,000)</li></ol></li></ol>",
|
|
38
|
+
"id": "0aa80ea1-a32c-4aa3-9fe0-b63c4c06e1b8"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "HEADING",
|
|
42
|
+
"value": {
|
|
43
|
+
"level": "2",
|
|
44
|
+
"content": "Details"
|
|
45
|
+
},
|
|
46
|
+
"id": "305c4488-632e-4d7e-ac12-36dd734f858a"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"type": "TEXT",
|
|
50
|
+
"value": "<p>Each day, all Alphas submitted by a user accumulated and two factors are calculated:</p><p><b>Quantity Factor:</b> Larger the number of Alphas you submit during a day. Larger the factor, higher your score</p><p><b>Quality factor:</b> Quality factor is calculated as an average of the quality factor of all Alphas submitted during the day. Larger the factor, higher your score. It depends on the following settings and results in the in-sample period:</p><ul><li><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> (smaller universes get more score)</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\">SelfCorrelation</a> (the lesser the better)</li><li><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> (the higher the better)</li><li><a href=\"https://support.worldquantbrain.com/hc/en-us/articles/4902349883927-Click-here-for-a-list-of-terms-and-their-definitions#:~:text=days-,Delay,-An\">Delay</a> (D1 Alphas contribute more to the score than D0 Alphas)</li></ul><p>Both factors are then normalized across all the users who submitted at least one Alpha on that particular day. Your final daily score is then function of normalized Quantity and Quality Factors. The daily score is capped at 2,000 points.</p>",
|
|
51
|
+
"id": "05b04df4-3f7b-4152-97ac-f1aef9384697"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"sequence": 31,
|
|
55
|
+
"category": "Getting Started"
|
|
56
|
+
}
|