1 line
16 KiB
JSON
1 line
16 KiB
JSON
{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_sector_strength_factor_py", "label": "sector_strength_factor.py", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L1"}, {"id": "factors_sector_strength_factor_sectorstrengthfactor", "label": "SectorStrengthFactor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L12"}, {"id": "basefactor", "label": "BaseFactor", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "factors_sector_strength_factor_sectorstrengthfactor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L18"}, {"id": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "label": ".calculate()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L27"}, {"id": "factors_sector_strength_factor_rationale_1", "label": "\u677f\u5757\u5f3a\u5ea6\u56e0\u5b50 \u9002\u914dA\u80a1\u7ed3\u6784\u5316\u884c\u60c5/\u677f\u5757\u8f6e\u52a8 \u5f3a\u5ea6 = \u677f\u5757\u8fd1\u671f\u6da8\u5e45 / \u5168\u5e02\u573a\u5e73\u5747\u6da8\u5e45 \u5f3a\u5ea6\u8d8a\u9ad8\uff0c\u5f97\u5206\u8d8a\u9ad8", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L1"}, {"id": "factors_sector_strength_factor_rationale_13", "label": "\u677f\u5757\u5f3a\u5ea6\u56e0\u5b50 \u8ba1\u7b97\u6700\u8fd1\u4e00\u4e2a\u6708\u677f\u5757\u6da8\u5e45\uff0c\u76f8\u5bf9\u4e8e\u5168\u5e02\u573a\uff0c\u5f3a\u5ea6\u8d8a\u9ad8\u5f97\u5206\u8d8a\u9ad8", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L13"}, {"id": "factors_sector_strength_factor_rationale_19", "label": "\u53c2\u6570: periods: \u8ba1\u7b97\u677f\u5757\u5f3a\u5ea6\u7684\u5468\u671f\uff08\u4ea4\u6613\u65e5\uff09\uff0c\u9ed8\u8ba421\u22481\u4e2a\u6708 name: \u56e0\u5b50\u540d\u79f0", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L19"}, {"id": "factors_sector_strength_factor_rationale_28", "label": "\u8ba1\u7b97\u677f\u5757\u5f3a\u5ea6\u56e0\u5b50 \u8981\u6c42df\u4e2d\u5305\u542b: - close: \u6536\u76d8\u4ef7 - sector: \u677f\u5757\u540d\u79f0\u6216\u677f\u5757\u4ee3\u7801\uff08\u6bcf\u4e2a\u80a1\u7968\u6240", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L28"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_sector_strength_factor_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L7", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_sector_strength_factor_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L8", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_sector_strength_factor_py", "target": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_factor_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L9", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_sector_strength_factor_py", "target": "factors_sector_strength_factor_sectorstrengthfactor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L12", "weight": 1.0}, {"source": "factors_sector_strength_factor_sectorstrengthfactor", "target": "basefactor", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L12", "weight": 1.0}, {"source": "factors_sector_strength_factor_sectorstrengthfactor", "target": "factors_sector_strength_factor_sectorstrengthfactor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L18", "weight": 1.0}, {"source": "factors_sector_strength_factor_sectorstrengthfactor", "target": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L27", "weight": 1.0}, {"source": "factors_sector_strength_factor_rationale_1", "target": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_sector_strength_factor_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L1", "weight": 1.0}, {"source": "factors_sector_strength_factor_rationale_13", "target": "factors_sector_strength_factor_sectorstrengthfactor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L13", "weight": 1.0}, {"source": "factors_sector_strength_factor_rationale_19", "target": "factors_sector_strength_factor_sectorstrengthfactor_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L19", "weight": 1.0}, {"source": "factors_sector_strength_factor_rationale_28", "target": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L28", "weight": 1.0}], "raw_calls": [{"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_init", "callee": "super", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L24"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L36"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L39"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L40"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "pct_change", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L44"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "groupby", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L44"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "pct_change", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L46"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "groupby", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L46"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L50"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "max", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L51"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "get_level_values", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L51"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "xs", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L52"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "dropna", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L55"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L58"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "groupby", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L58"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "max", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L60"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "copy", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L61"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "dropna", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L63"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L64"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "groupby", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L64"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L67"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "map", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L74"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "map", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L77"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "get_level_values", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L77"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "copy", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L81"}, {"caller_nid": "factors_sector_strength_factor_sectorstrengthfactor_calculate", "callee": "iterrows", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/sector_strength_factor.py", "source_location": "L83"}]} |