Files
sanguo_quant_live/graphify-out/cache/ast/a127655d73ff5991cd96aa9cb81de013139f1de7c6749a806c50d35778c6d929.json
T
2026-05-06 23:13:05 +08:00

1 line
13 KiB
JSON

{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_factor_py", "label": "base_factor.py", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L1"}, {"id": "factors_base_factor_basefactor", "label": "BaseFactor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L10"}, {"id": "abc", "label": "ABC", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "factors_base_factor_basefactor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L13"}, {"id": "factors_base_factor_calculate", "label": "calculate()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L18"}, {"id": "factors_base_factor_basefactor_normalize", "label": ".normalize()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L28"}, {"id": "factors_base_factor_basefactor_rank", "label": ".rank()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L62"}, {"id": "factors_base_factor_basefactor_process", "label": ".process()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L80"}, {"id": "factors_base_factor_rationale_1", "label": "\u56e0\u5b50\u57fa\u7c7b - \u6240\u6709\u56e0\u5b50\u7ee7\u627f\u6b64\u7c7b \u5b9a\u4e49\u7edf\u4e00\u7684\u56e0\u5b50\u8ba1\u7b97\u63a5\u53e3", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L1"}, {"id": "factors_base_factor_rationale_19", "label": "\u8ba1\u7b97\u56e0\u5b50\u503c \u53c2\u6570: df: \u5305\u542bOHLCV\u4ee5\u53ca\u8d22\u52a1\u6570\u636e\u7684DataFrame \u8fd4\u56de:", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L19"}, {"id": "factors_base_factor_rationale_29", "label": "\u56e0\u5b50\u6807\u51c6\u5316\uff08\u4e2d\u4f4d\u6570\u53bb\u6781\u503c + \u6807\u51c6\u5316\uff09 \u53c2\u6570: factor_values: \u539f\u59cb\u56e0\u5b50\u503c \u8fd4\u56de:", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L29"}, {"id": "factors_base_factor_rationale_63", "label": "\u56e0\u5b50\u6a2a\u622a\u9762\u6807\u51c6\u5316\uff08\u6bcf\u4e2a\u4ea4\u6613\u65e5rank 0-1\uff09 \u53c2\u6570: factor_values: \u6807\u51c6\u5316\u540e\u7684\u56e0\u5b50\u503c\uff0c\u591a\u5c42index", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L63"}, {"id": "factors_base_factor_rationale_81", "label": "\u5b8c\u6574\u56e0\u5b50\u8ba1\u7b97\u6d41\u7a0b: \u8ba1\u7b97 -> \u6807\u51c6\u5316 -> rank \u53c2\u6570: df: \u8f93\u5165\u6570\u636e \u8fd4\u56de:", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L81"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_factor_py", "target": "abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L5", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_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/base_factor.py", "source_location": "L6", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_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/base_factor.py", "source_location": "L7", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_factor_py", "target": "factors_base_factor_basefactor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L10", "weight": 1.0}, {"source": "factors_base_factor_basefactor", "target": "abc", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L10", "weight": 1.0}, {"source": "factors_base_factor_basefactor", "target": "factors_base_factor_basefactor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L13", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_factor_py", "target": "factors_base_factor_calculate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L18", "weight": 1.0}, {"source": "factors_base_factor_basefactor", "target": "factors_base_factor_basefactor_normalize", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L28", "weight": 1.0}, {"source": "factors_base_factor_basefactor", "target": "factors_base_factor_basefactor_rank", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L62", "weight": 1.0}, {"source": "factors_base_factor_basefactor", "target": "factors_base_factor_basefactor_process", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L80", "weight": 1.0}, {"source": "factors_base_factor_basefactor_process", "target": "factors_base_factor_calculate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L89", "weight": 1.0}, {"source": "factors_base_factor_basefactor_process", "target": "factors_base_factor_basefactor_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L92", "weight": 1.0}, {"source": "factors_base_factor_basefactor_process", "target": "factors_base_factor_basefactor_rank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L95", "weight": 1.0}, {"source": "factors_base_factor_rationale_1", "target": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_factors_dynamic_weight_timing_20260327_factors_base_factor_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L1", "weight": 1.0}, {"source": "factors_base_factor_rationale_19", "target": "factors_base_factor_basefactor_calculate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L19", "weight": 1.0}, {"source": "factors_base_factor_rationale_29", "target": "factors_base_factor_basefactor_normalize", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L29", "weight": 1.0}, {"source": "factors_base_factor_rationale_63", "target": "factors_base_factor_basefactor_rank", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L63", "weight": 1.0}, {"source": "factors_base_factor_rationale_81", "target": "factors_base_factor_basefactor_process", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L81", "weight": 1.0}], "raw_calls": [{"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "dropna", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L37"}, {"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L39"}, {"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "median", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L43"}, {"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "median", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L44"}, {"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "abs", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L44"}, {"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "clip", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L51"}, {"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L54"}, {"caller_nid": "factors_base_factor_basefactor_normalize", "callee": "std", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L55"}, {"caller_nid": "factors_base_factor_basefactor_rank", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L71"}, {"caller_nid": "factors_base_factor_basefactor_rank", "callee": "groupby", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/factors-dynamic-weight-timing-20260327/factors/base_factor.py", "source_location": "L73"}]}