1 line
19 KiB
JSON
1 line
19 KiB
JSON
{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "label": "factor_data_processor.py", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L1"}, {"id": "data_factor_data_processor_factordataprocessor", "label": "FactorDataProcessor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L12"}, {"id": "data_factor_data_processor_factordataprocessor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L21"}, {"id": "data_factor_data_processor_factordataprocessor_winsorize", "label": ".winsorize()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L37"}, {"id": "data_factor_data_processor_factordataprocessor_standardize", "label": ".standardize()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L55"}, {"id": "data_factor_data_processor_factordataprocessor_neutralize", "label": ".neutralize()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L68"}, {"id": "data_factor_data_processor_factordataprocessor_process_factor", "label": ".process_factor()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L117"}, {"id": "data_factor_data_processor_factordataprocessor_cross_sectional_rank", "label": ".cross_sectional_rank()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L132"}, {"id": "data_factor_data_processor_factordataprocessor_batch_process", "label": ".batch_process()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L139"}, {"id": "data_factor_data_processor_rationale_1", "label": "\u56e0\u5b50\u6570\u636e\u5904\u7406\u6a21\u5757 \u652f\u6301\u4e09\u5c42\u4e2d\u6027\u5316\uff1a\u884c\u4e1a\u4e2d\u6027 + \u5e02\u503c\u4e2d\u6027 + \u98ce\u683c\u4e2d\u6027", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L1"}, {"id": "data_factor_data_processor_rationale_13", "label": "\u591a\u56e0\u5b50\u6570\u636e\u5904\u7406\u5668 \u652f\u6301\u4e09\u5c42\u4e2d\u6027\u5316\uff1a 1. \u884c\u4e1a\u4e2d\u6027\u5316 2. \u5e02\u503c\u4e2d\u6027\u5316 3. \u98ce\u683c\u4e2d\u6027\u5316\uff08\u53ef\u9009\uff09", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L13"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L5", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L6", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L7", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "target": "statsmodels_regression_linear_model", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L8", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "target": "statsmodels_tools_tools", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L9", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "target": "data_factor_data_processor_factordataprocessor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L12", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor", "target": "data_factor_data_processor_factordataprocessor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L21", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor", "target": "data_factor_data_processor_factordataprocessor_winsorize", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L37", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor", "target": "data_factor_data_processor_factordataprocessor_standardize", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L55", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor", "target": "data_factor_data_processor_factordataprocessor_neutralize", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L68", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor", "target": "data_factor_data_processor_factordataprocessor_process_factor", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L117", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor", "target": "data_factor_data_processor_factordataprocessor_cross_sectional_rank", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L132", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor", "target": "data_factor_data_processor_factordataprocessor_batch_process", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L139", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor_process_factor", "target": "data_factor_data_processor_factordataprocessor_winsorize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L124", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor_process_factor", "target": "data_factor_data_processor_factordataprocessor_neutralize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L126", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor_process_factor", "target": "data_factor_data_processor_factordataprocessor_standardize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L128", "weight": 1.0}, {"source": "data_factor_data_processor_factordataprocessor_batch_process", "target": "data_factor_data_processor_factordataprocessor_process_factor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L148", "weight": 1.0}, {"source": "data_factor_data_processor_rationale_1", "target": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_structured_dynamic_factors_20260327_data_factor_data_processor_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L1", "weight": 1.0}, {"source": "data_factor_data_processor_rationale_13", "target": "data_factor_data_processor_factordataprocessor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "data_factor_data_processor_factordataprocessor_winsorize", "callee": "dropna", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L43"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_winsorize", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L44"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_winsorize", "callee": "median", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L47"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_winsorize", "callee": "median", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L48"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_winsorize", "callee": "abs", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L48"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_winsorize", "callee": "clip", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L53"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_standardize", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L60"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_standardize", "callee": "std", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L61"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "get_dummies", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L81"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L82"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L86"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L90"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L92"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "concat", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L96"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "add_constant", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L97"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "dropna", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L100"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "fit", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L105"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "OLS", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L105"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_neutralize", "callee": "copy", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L109"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_cross_sectional_rank", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L134"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_cross_sectional_rank", "callee": "rank", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L135"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_cross_sectional_rank", "callee": "groupby", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L135"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_cross_sectional_rank", "callee": "rank", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L137"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_batch_process", "callee": "items", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L147"}, {"caller_nid": "data_factor_data_processor_factordataprocessor_batch_process", "callee": "DataFrame", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/structured-dynamic-factors-20260327/data/factor_data_processor.py", "source_location": "L150"}]} |