cnhkmcp 2.3.1__py3-none-any.whl → 2.3.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. cnhkmcp/__init__.py +1 -1
  2. cnhkmcp/untracked/AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221/BRAIN_AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221Mac_Linux/321/207/320/231/320/230/321/206/320/254/320/274.zip +0 -0
  3. cnhkmcp/untracked/AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221//321/205/320/237/320/234/321/205/320/227/342/225/227/321/205/320/276/320/231/321/210/320/263/320/225AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221_Windows/321/207/320/231/320/230/321/206/320/254/320/274.exe +0 -0
  4. cnhkmcp/untracked/APP/Tranformer/parsetab.py +60 -0
  5. cnhkmcp/untracked/APP/Tranformer/validator.py +78 -4
  6. cnhkmcp/untracked/APP/static/inspiration.js +41 -3
  7. cnhkmcp/untracked/APP/templates/index.html +26 -0
  8. cnhkmcp/untracked/APP/trailSomeAlphas/ace.log +1 -0
  9. cnhkmcp/untracked/APP/trailSomeAlphas/enhance_template.py +132 -6
  10. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/SKILL.md +17 -0
  11. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental28_ideas.md +384 -0
  12. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental72_ideas.md +292 -239
  13. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/final_expressions.json +41 -0
  14. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844124598400.json +7 -0
  15. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844589448700.json +8 -0
  16. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845048996700.json +8 -0
  17. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845510819100.json +12 -0
  18. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845978315000.json +10 -0
  19. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846459411100.json +10 -0
  20. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846924915700.json +8 -0
  21. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847399137200.json +8 -0
  22. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847858960800.json +10 -0
  23. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848327921300.json +8 -0
  24. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848810818000.json +8 -0
  25. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849327754300.json +7 -0
  26. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849795807500.json +8 -0
  27. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850272279500.json +8 -0
  28. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850757124200.json +7 -0
  29. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874851224506800.json +8 -0
  30. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_delay1.csv +930 -0
  31. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/final_expressions.json +74 -136
  32. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468022627100.json +22 -0
  33. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468554457600.json +14 -0
  34. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469133324600.json +8 -0
  35. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469704433900.json +10 -0
  36. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470248911900.json +10 -0
  37. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470805192900.json +8 -0
  38. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471380158000.json +10 -0
  39. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471944247400.json +22 -0
  40. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852472483548800.json +14 -0
  41. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473053891800.json +22 -0
  42. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473617716000.json +22 -0
  43. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474172815700.json +14 -0
  44. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474735778500.json +10 -0
  45. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475315478500.json +14 -0
  46. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475912897000.json +8 -0
  47. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852476474911100.json +10 -0
  48. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852978914367200.json +10 -0
  49. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979426164800.json +10 -0
  50. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979945511100.json +10 -0
  51. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852980480251500.json +10 -0
  52. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852981007315500.json +10 -0
  53. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854621979784200.json +10 -0
  54. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854622483457900.json +10 -0
  55. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623010559800.json +10 -0
  56. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623572902300.json +5 -0
  57. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854624091016000.json +10 -0
  58. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769852868 +330 -0
  59. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769854511 +330 -0
  60. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/ace.log +13 -0
  61. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py +80 -4
  62. cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/op/321/206/320/220/342/225/227/321/207/342/225/227/320/243.md +24 -18
  63. 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 +14 -0
  64. cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/parsetab.py +60 -0
  65. cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/validator.py +78 -4
  66. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/.gitignore +14 -0
  67. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/SKILL.md +76 -0
  68. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/ace.log +0 -0
  69. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/ace_lib.py +1512 -0
  70. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/config.json +6 -0
  71. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/fundamental28_GLB_1_idea_1769874845978315000.json +10 -0
  72. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/helpful_functions.py +180 -0
  73. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/__init__.py +0 -0
  74. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/build_alpha_list.py +86 -0
  75. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/fetch_sim_options.py +51 -0
  76. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/load_credentials.py +93 -0
  77. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/parse_idea_file.py +85 -0
  78. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/process_template.py +80 -0
  79. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts/resolve_settings.py +94 -0
  80. cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/sim_options_snapshot.json +414 -0
  81. {cnhkmcp-2.3.1.dist-info → cnhkmcp-2.3.3.dist-info}/METADATA +1 -1
  82. {cnhkmcp-2.3.1.dist-info → cnhkmcp-2.3.3.dist-info}/RECORD +86 -41
  83. cnhkmcp/untracked/APP/simulator/wqb20260130130030.log +0 -210
  84. cnhkmcp/untracked/APP/simulator/wqb20260130131757.log +0 -104
  85. cnhkmcp/untracked/APP/simulator/wqb20260130172245.log +0 -70
  86. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759441444909600.json +0 -38
  87. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759441920092000.json +0 -14
  88. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759442418767100.json +0 -14
  89. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759442902507600.json +0 -14
  90. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759443377036200.json +0 -10
  91. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759443845377000.json +0 -14
  92. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759444313546700.json +0 -10
  93. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759444784598600.json +0 -14
  94. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759445274311200.json +0 -14
  95. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759445747421700.json +0 -10
  96. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759446222137800.json +0 -22
  97. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759446686222600.json +0 -14
  98. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759447154698500.json +0 -10
  99. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759447629677000.json +0 -10
  100. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759448102331200.json +0 -10
  101. cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769759448573382000.json +0 -14
  102. {cnhkmcp-2.3.1.dist-info → cnhkmcp-2.3.3.dist-info}/WHEEL +0 -0
  103. {cnhkmcp-2.3.1.dist-info → cnhkmcp-2.3.3.dist-info}/entry_points.txt +0 -0
  104. {cnhkmcp-2.3.1.dist-info → cnhkmcp-2.3.3.dist-info}/licenses/LICENSE +0 -0
  105. {cnhkmcp-2.3.1.dist-info → cnhkmcp-2.3.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,94 @@
1
+ from __future__ import annotations
2
+
3
+ import argparse
4
+ import json
5
+ import sys
6
+ from dataclasses import dataclass, asdict
7
+ from pathlib import Path
8
+ from typing import Any
9
+
10
+ SKILL_DIR = Path(__file__).resolve().parents[1]
11
+ if str(SKILL_DIR) not in sys.path:
12
+ sys.path.insert(0, str(SKILL_DIR))
13
+
14
+
15
+ @dataclass(frozen=True)
16
+ class ResolvedSettings:
17
+ instrumentType: str
18
+ region: str
19
+ delay: int
20
+ universe: str
21
+ neutralization: str
22
+ decay: int = 0
23
+ truncation: float = 0.08
24
+ pasteurization: str = "ON"
25
+ testPeriod: str = "P0Y0M0D"
26
+ unitHandling: str = "VERIFY"
27
+ nanHandling: str = "OFF"
28
+ maxTrade: str = "OFF"
29
+ language: str = "FASTEXPR"
30
+ visualization: bool = False
31
+
32
+
33
+ def _load_json(path: Path) -> dict[str, Any]:
34
+ return json.loads(path.read_text(encoding="utf-8"))
35
+
36
+
37
+ def resolve_candidates(idea_ctx: dict[str, Any], options_snapshot: dict[str, Any]) -> dict[str, Any]:
38
+ region = str(idea_ctx["region"])
39
+ delay = int(idea_ctx["delay"])
40
+
41
+ rows = options_snapshot.get("rows") or []
42
+ if not isinstance(rows, list):
43
+ raise ValueError("options snapshot 'rows' must be a list")
44
+
45
+ # Filter for matching Instrument/Region/Delay
46
+ candidates = [
47
+ r
48
+ for r in rows
49
+ if r.get("InstrumentType") == "EQUITY" and r.get("Region") == region and int(r.get("Delay")) == delay
50
+ ]
51
+
52
+ if not candidates:
53
+ raise RuntimeError(
54
+ f"No valid settings found for InstrumentType=EQUITY, Region={region}, Delay={delay}. "
55
+ "Re-fetch options or adjust region/delay."
56
+ )
57
+
58
+ # In practice, usually there's only one 'row' per (Instrument, Region, Delay) combination
59
+ # that contains the lists of valid Universes and Neutralizations.
60
+ # But we'll return all matches just in case.
61
+
62
+ return {
63
+ "context": {
64
+ "dataset": idea_ctx.get("dataset_id"),
65
+ "region": region,
66
+ "delay": delay
67
+ },
68
+ "valid_options": candidates
69
+ }
70
+
71
+
72
+ def main() -> None:
73
+ ap = argparse.ArgumentParser()
74
+ ap.add_argument("--idea", required=True, help="idea_context.json")
75
+ ap.add_argument("--options", required=True, help="sim_options_snapshot.json")
76
+ ap.add_argument("--out", required=True, help="Output settings_candidates.json")
77
+ args = ap.parse_args()
78
+
79
+ idea_path = Path(args.idea).resolve()
80
+ opt_path = Path(args.options).resolve()
81
+ out_path = Path(args.out).resolve()
82
+
83
+ idea_ctx = _load_json(idea_path)
84
+ options = _load_json(opt_path)
85
+
86
+ payload = resolve_candidates(idea_ctx, options)
87
+
88
+ out_path.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8")
89
+ print(f"Wrote candidates: {out_path}")
90
+ print("Next step: AI should inspect these candidates and the 'idea' text to choose specific settings.")
91
+
92
+
93
+ if __name__ == "__main__":
94
+ main()
@@ -0,0 +1,414 @@
1
+ {
2
+ "brain_api_url": "https://api.worldquantbrain.com",
3
+ "rows": [
4
+ {
5
+ "InstrumentType": "EQUITY",
6
+ "Region": "USA",
7
+ "Delay": 1,
8
+ "Universe": [
9
+ "TOP3000",
10
+ "TOP1000",
11
+ "TOP500",
12
+ "TOP200",
13
+ "ILLIQUID_MINVOL1M",
14
+ "TOPSP500"
15
+ ],
16
+ "Neutralization": [
17
+ "NONE",
18
+ "REVERSION_AND_MOMENTUM",
19
+ "STATISTICAL",
20
+ "STATISTICAL_Q",
21
+ "CROWDING",
22
+ "CROWDING_Q",
23
+ "FAST",
24
+ "FAST_Q",
25
+ "SLOW",
26
+ "SLOW_Q",
27
+ "MARKET",
28
+ "SECTOR",
29
+ "INDUSTRY",
30
+ "SUBINDUSTRY",
31
+ "SLOW_AND_FAST",
32
+ "SLOW_AND_FAST_Q"
33
+ ]
34
+ },
35
+ {
36
+ "InstrumentType": "EQUITY",
37
+ "Region": "USA",
38
+ "Delay": 0,
39
+ "Universe": [
40
+ "TOP3000",
41
+ "TOP1000",
42
+ "TOP500",
43
+ "TOP200",
44
+ "ILLIQUID_MINVOL1M",
45
+ "TOPSP500"
46
+ ],
47
+ "Neutralization": [
48
+ "NONE",
49
+ "REVERSION_AND_MOMENTUM",
50
+ "STATISTICAL",
51
+ "STATISTICAL_Q",
52
+ "CROWDING",
53
+ "CROWDING_Q",
54
+ "FAST",
55
+ "FAST_Q",
56
+ "SLOW",
57
+ "SLOW_Q",
58
+ "MARKET",
59
+ "SECTOR",
60
+ "INDUSTRY",
61
+ "SUBINDUSTRY",
62
+ "SLOW_AND_FAST",
63
+ "SLOW_AND_FAST_Q"
64
+ ]
65
+ },
66
+ {
67
+ "InstrumentType": "EQUITY",
68
+ "Region": "TWN",
69
+ "Delay": 1,
70
+ "Universe": [
71
+ "TOP500",
72
+ "TOP100"
73
+ ],
74
+ "Neutralization": [
75
+ "NONE",
76
+ "REVERSION_AND_MOMENTUM",
77
+ "CROWDING",
78
+ "CROWDING_Q",
79
+ "FAST",
80
+ "FAST_Q",
81
+ "SLOW",
82
+ "SLOW_Q",
83
+ "MARKET",
84
+ "SECTOR",
85
+ "INDUSTRY",
86
+ "SUBINDUSTRY",
87
+ "SLOW_AND_FAST",
88
+ "SLOW_AND_FAST_Q"
89
+ ]
90
+ },
91
+ {
92
+ "InstrumentType": "EQUITY",
93
+ "Region": "KOR",
94
+ "Delay": 1,
95
+ "Universe": [
96
+ "TOP600"
97
+ ],
98
+ "Neutralization": [
99
+ "NONE",
100
+ "REVERSION_AND_MOMENTUM",
101
+ "CROWDING",
102
+ "CROWDING_Q",
103
+ "FAST",
104
+ "FAST_Q",
105
+ "SLOW",
106
+ "SLOW_Q",
107
+ "MARKET",
108
+ "SECTOR",
109
+ "INDUSTRY",
110
+ "SUBINDUSTRY",
111
+ "SLOW_AND_FAST",
112
+ "SLOW_AND_FAST_Q"
113
+ ]
114
+ },
115
+ {
116
+ "InstrumentType": "EQUITY",
117
+ "Region": "JPN",
118
+ "Delay": 1,
119
+ "Universe": [
120
+ "TOP1600",
121
+ "TOP1200"
122
+ ],
123
+ "Neutralization": [
124
+ "NONE",
125
+ "REVERSION_AND_MOMENTUM",
126
+ "CROWDING",
127
+ "CROWDING_Q",
128
+ "FAST",
129
+ "FAST_Q",
130
+ "SLOW",
131
+ "SLOW_Q",
132
+ "MARKET",
133
+ "SECTOR",
134
+ "INDUSTRY",
135
+ "SUBINDUSTRY",
136
+ "SLOW_AND_FAST",
137
+ "SLOW_AND_FAST_Q"
138
+ ]
139
+ },
140
+ {
141
+ "InstrumentType": "EQUITY",
142
+ "Region": "JPN",
143
+ "Delay": 0,
144
+ "Universe": [
145
+ "TOP1600",
146
+ "TOP1200"
147
+ ],
148
+ "Neutralization": [
149
+ "NONE",
150
+ "REVERSION_AND_MOMENTUM",
151
+ "CROWDING",
152
+ "CROWDING_Q",
153
+ "FAST",
154
+ "FAST_Q",
155
+ "SLOW",
156
+ "SLOW_Q",
157
+ "MARKET",
158
+ "SECTOR",
159
+ "INDUSTRY",
160
+ "SUBINDUSTRY",
161
+ "SLOW_AND_FAST",
162
+ "SLOW_AND_FAST_Q"
163
+ ]
164
+ },
165
+ {
166
+ "InstrumentType": "EQUITY",
167
+ "Region": "IND",
168
+ "Delay": 1,
169
+ "Universe": [
170
+ "TOP500"
171
+ ],
172
+ "Neutralization": [
173
+ "NONE",
174
+ "REVERSION_AND_MOMENTUM",
175
+ "CROWDING",
176
+ "CROWDING_Q",
177
+ "FAST",
178
+ "FAST_Q",
179
+ "SLOW",
180
+ "SLOW_Q",
181
+ "MARKET",
182
+ "SECTOR",
183
+ "INDUSTRY",
184
+ "SUBINDUSTRY",
185
+ "SLOW_AND_FAST",
186
+ "SLOW_AND_FAST_Q"
187
+ ]
188
+ },
189
+ {
190
+ "InstrumentType": "EQUITY",
191
+ "Region": "HKG",
192
+ "Delay": 1,
193
+ "Universe": [
194
+ "TOP800",
195
+ "TOP500"
196
+ ],
197
+ "Neutralization": [
198
+ "NONE",
199
+ "REVERSION_AND_MOMENTUM",
200
+ "CROWDING",
201
+ "CROWDING_Q",
202
+ "FAST",
203
+ "FAST_Q",
204
+ "SLOW",
205
+ "SLOW_Q",
206
+ "MARKET",
207
+ "SECTOR",
208
+ "INDUSTRY",
209
+ "SUBINDUSTRY",
210
+ "SLOW_AND_FAST",
211
+ "SLOW_AND_FAST_Q"
212
+ ]
213
+ },
214
+ {
215
+ "InstrumentType": "EQUITY",
216
+ "Region": "GLB",
217
+ "Delay": 1,
218
+ "Universe": [
219
+ "TOP3000",
220
+ "MINVOL1M",
221
+ "TOPDIV3000"
222
+ ],
223
+ "Neutralization": [
224
+ "NONE",
225
+ "REVERSION_AND_MOMENTUM",
226
+ "STATISTICAL",
227
+ "STATISTICAL_Q",
228
+ "CROWDING",
229
+ "CROWDING_Q",
230
+ "FAST",
231
+ "FAST_Q",
232
+ "SLOW",
233
+ "SLOW_Q",
234
+ "MARKET",
235
+ "SECTOR",
236
+ "INDUSTRY",
237
+ "SUBINDUSTRY",
238
+ "COUNTRY",
239
+ "SLOW_AND_FAST",
240
+ "SLOW_AND_FAST_Q"
241
+ ]
242
+ },
243
+ {
244
+ "InstrumentType": "EQUITY",
245
+ "Region": "EUR",
246
+ "Delay": 1,
247
+ "Universe": [
248
+ "TOP2500",
249
+ "TOP1200",
250
+ "TOP800",
251
+ "TOP400",
252
+ "ILLIQUID_MINVOL1M"
253
+ ],
254
+ "Neutralization": [
255
+ "NONE",
256
+ "REVERSION_AND_MOMENTUM",
257
+ "STATISTICAL",
258
+ "STATISTICAL_Q",
259
+ "CROWDING",
260
+ "CROWDING_Q",
261
+ "FAST",
262
+ "FAST_Q",
263
+ "SLOW",
264
+ "SLOW_Q",
265
+ "MARKET",
266
+ "SECTOR",
267
+ "INDUSTRY",
268
+ "SUBINDUSTRY",
269
+ "COUNTRY",
270
+ "SLOW_AND_FAST",
271
+ "SLOW_AND_FAST_Q"
272
+ ]
273
+ },
274
+ {
275
+ "InstrumentType": "EQUITY",
276
+ "Region": "EUR",
277
+ "Delay": 0,
278
+ "Universe": [
279
+ "TOP2500",
280
+ "TOP1200",
281
+ "TOP800",
282
+ "TOP400",
283
+ "ILLIQUID_MINVOL1M"
284
+ ],
285
+ "Neutralization": [
286
+ "NONE",
287
+ "REVERSION_AND_MOMENTUM",
288
+ "STATISTICAL",
289
+ "STATISTICAL_Q",
290
+ "CROWDING",
291
+ "CROWDING_Q",
292
+ "FAST",
293
+ "FAST_Q",
294
+ "SLOW",
295
+ "SLOW_Q",
296
+ "MARKET",
297
+ "SECTOR",
298
+ "INDUSTRY",
299
+ "SUBINDUSTRY",
300
+ "COUNTRY",
301
+ "SLOW_AND_FAST",
302
+ "SLOW_AND_FAST_Q"
303
+ ]
304
+ },
305
+ {
306
+ "InstrumentType": "EQUITY",
307
+ "Region": "CHN",
308
+ "Delay": 1,
309
+ "Universe": [
310
+ "TOP2000U"
311
+ ],
312
+ "Neutralization": [
313
+ "NONE",
314
+ "REVERSION_AND_MOMENTUM",
315
+ "CROWDING",
316
+ "CROWDING_Q",
317
+ "FAST",
318
+ "FAST_Q",
319
+ "SLOW",
320
+ "SLOW_Q",
321
+ "MARKET",
322
+ "SECTOR",
323
+ "INDUSTRY",
324
+ "SUBINDUSTRY",
325
+ "SLOW_AND_FAST",
326
+ "SLOW_AND_FAST_Q"
327
+ ]
328
+ },
329
+ {
330
+ "InstrumentType": "EQUITY",
331
+ "Region": "CHN",
332
+ "Delay": 0,
333
+ "Universe": [
334
+ "TOP2000U"
335
+ ],
336
+ "Neutralization": [
337
+ "NONE",
338
+ "REVERSION_AND_MOMENTUM",
339
+ "CROWDING",
340
+ "CROWDING_Q",
341
+ "FAST",
342
+ "FAST_Q",
343
+ "SLOW",
344
+ "SLOW_Q",
345
+ "MARKET",
346
+ "SECTOR",
347
+ "INDUSTRY",
348
+ "SUBINDUSTRY",
349
+ "SLOW_AND_FAST",
350
+ "SLOW_AND_FAST_Q"
351
+ ]
352
+ },
353
+ {
354
+ "InstrumentType": "EQUITY",
355
+ "Region": "ASI",
356
+ "Delay": 1,
357
+ "Universe": [
358
+ "MINVOL1M",
359
+ "ILLIQUID_MINVOL1M"
360
+ ],
361
+ "Neutralization": [
362
+ "NONE",
363
+ "REVERSION_AND_MOMENTUM",
364
+ "STATISTICAL",
365
+ "STATISTICAL_Q",
366
+ "CROWDING",
367
+ "CROWDING_Q",
368
+ "FAST",
369
+ "FAST_Q",
370
+ "SLOW",
371
+ "SLOW_Q",
372
+ "MARKET",
373
+ "SECTOR",
374
+ "INDUSTRY",
375
+ "SUBINDUSTRY",
376
+ "COUNTRY",
377
+ "SLOW_AND_FAST",
378
+ "SLOW_AND_FAST_Q"
379
+ ]
380
+ },
381
+ {
382
+ "InstrumentType": "EQUITY",
383
+ "Region": "AMR",
384
+ "Delay": 1,
385
+ "Universe": [
386
+ "TOP600"
387
+ ],
388
+ "Neutralization": [
389
+ "NONE",
390
+ "MARKET",
391
+ "SECTOR",
392
+ "INDUSTRY",
393
+ "SUBINDUSTRY",
394
+ "COUNTRY"
395
+ ]
396
+ },
397
+ {
398
+ "InstrumentType": "EQUITY",
399
+ "Region": "AMR",
400
+ "Delay": 0,
401
+ "Universe": [
402
+ "TOP600"
403
+ ],
404
+ "Neutralization": [
405
+ "NONE",
406
+ "MARKET",
407
+ "SECTOR",
408
+ "INDUSTRY",
409
+ "SUBINDUSTRY",
410
+ "COUNTRY"
411
+ ]
412
+ }
413
+ ]
414
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cnhkmcp
3
- Version: 2.3.1
3
+ Version: 2.3.3
4
4
  Summary: A comprehensive Model Context Protocol (MCP) server for quantitative trading platform integration
5
5
  Home-page: https://github.com/cnhk/cnhkmcp
6
6
  Author: CNHK