1 line
56 KiB
JSON
1 line
56 KiB
JSON
{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "label": "news_risk_monitor.py", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L1"}, {"id": "pure_breakout_20260327_news_risk_monitor_newssentiment", "label": "NewsSentiment", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L22"}, {"id": "enum", "label": "Enum", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "pure_breakout_20260327_news_risk_monitor_risklevel", "label": "RiskLevel", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L30"}, {"id": "pure_breakout_20260327_news_risk_monitor_stocknewsdata", "label": "StockNewsData", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L38"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskresult", "label": "NewsRiskResult", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L79"}, {"id": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor", "label": "PriceVolumeMonitor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L91"}, {"id": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L94"}, {"id": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "label": ".analyze()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L102"}, {"id": "pure_breakout_20260327_news_risk_monitor_financemonitor", "label": "FinanceMonitor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L137"}, {"id": "pure_breakout_20260327_news_risk_monitor_financemonitor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L140"}, {"id": "pure_breakout_20260327_news_risk_monitor_financemonitor_analyze", "label": ".analyze()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L146"}, {"id": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor", "label": "InstitutionalMonitor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L167"}, {"id": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L170"}, {"id": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor_analyze", "label": ".analyze()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L174"}, {"id": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor", "label": "SentimentMonitor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L194"}, {"id": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L197"}, {"id": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor_analyze", "label": ".analyze()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L203"}, {"id": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor", "label": "InternationalLinkageMonitor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L224"}, {"id": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L227"}, {"id": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "label": ".analyze()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L235"}, {"id": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk", "label": "StructuralMarketRisk", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L274"}, {"id": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L281"}, {"id": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "label": ".analyze_sector_risk()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L289"}, {"id": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_adjust_news_risk_for_hot_sector", "label": ".adjust_news_risk_for_hot_sector()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L316"}, {"id": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk", "label": "StyleConcentrationRisk", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L324"}, {"id": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L327"}, {"id": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk_analyze_style_risk", "label": ".analyze_style_risk()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L330"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "label": "NewsRiskMonitor", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L344"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L347"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "label": ".analyze_stock()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L355"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stocks", "label": ".analyze_stocks()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L423"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_suggestion", "label": "._get_suggestion()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L427"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "label": ".get_risk_report()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L444"}, {"id": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_score_for_risk_system", "label": ".get_risk_score_for_risk_system()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L484"}, {"id": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment", "label": "FiveDimensionRiskAssessment", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L493"}, {"id": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L499"}, {"id": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_calculate_total_risk", "label": ".calculate_total_risk()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L502"}, {"id": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_get_level", "label": "._get_level()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L539"}, {"id": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_get_suggestion", "label": "._get_suggestion()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L547"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_1", "label": "\u4e2a\u80a1+\u677f\u5757\u5229\u597d\u5229\u7a7a\u98ce\u9669\u76d1\u63a7\u6a21\u5757 \u529f\u80fd\uff1a\u57fa\u4e8e\u516c\u5f00\u6570\u636e\u63d0\u524d\u9884\u5224\u6d88\u606f\u9762\u98ce\u9669\uff0c\u9002\u914d\u7ed3\u6784\u5316\u884c\u60c5 \u76d1\u63a7\u7ef4\u5ea6\uff1a 1. \u91cf\u4ef7\u5f02\u5e38\uff1a\u6ca1\u6709\u6d88\u606f\u4f46\u7a81\u7136\u5927\u5e45\u6ce2\u52a8\uff0c\u53ef\u80fd\u662f\u63d0\u524d\u6cc4\u5bc6 2.", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L1"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_103", "label": "\u8fd4\u56de\uff1a(\u98ce\u9669\u5206\u589e\u91cf, \u5229\u7a7a\u70b9\u5217\u8868, \u5229\u597d\u70b9\u5217\u8868)", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L103"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_275", "label": "\u7ed3\u6784\u5316\u884c\u60c5\u98ce\u63a7 A\u80a1\u73b0\u5728\u7ecf\u5e38\u662f\u7ed3\u6784\u5316\u884c\u60c5\uff0c\u5c11\u6570\u677f\u5757\u4e0a\u6da8\uff0c\u5176\u4ed6\u677f\u5757\u4e0d\u52a8 \u9700\u8981\u63a7\u5236\u677f\u5757\u96c6\u4e2d\u5ea6\uff0c\u9632\u8303\u70ed\u70b9\u900f\u652f", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L275"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_290", "label": "\u5206\u6790\u677f\u5757\u98ce\u9669 total_portfolio_sectors: {\u677f\u5757\u540d\u79f0: \u677f\u5757\u4ed3\u4f4d\u6bd4\u4f8b}\uff0c\u7528\u6765\u8ba1\u7b97\u6574\u4f53\u677f\u5757\u96c6\u4e2d\u5ea6", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L290"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_345", "label": "\u603b\u6d88\u606f\u98ce\u9669\u76d1\u63a7\u5668\uff0c\u6574\u5408\u6240\u6709\u76d1\u63a7\u7ef4\u5ea6\uff0c\u9002\u914d\u7ed3\u6784\u5316\u884c\u60c5", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L345"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_485", "label": "\u83b7\u53d6\u5f52\u4e00\u5316\u98ce\u9669\u5206\uff0c\u7ed9\u4e94\u7ef4\u98ce\u9669\u8bc4\u4f30\u4f53\u7cfb\u4f7f\u7528 \u8fd4\u56de 0~1\uff0c\u8d8a\u9ad8\u98ce\u9669\u8d8a\u5927", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L485"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_494", "label": "\u4e94\u7ef4\u5ea6\u98ce\u9669\u8bc4\u4f30 \u6574\u5408\uff1a\u6d41\u52a8\u6027\u98ce\u9669 + \u4f30\u503c\u98ce\u9669 + \u6280\u672f\u9762\u98ce\u9669 + \u57fa\u672c\u9762\u98ce\u9669 + \u6d88\u606f\u9762\u98ce\u9669", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L494"}, {"id": "pure_breakout_20260327_news_risk_monitor_rationale_508", "label": "\u8ba1\u7b97\u4e94\u7ef4\u7efc\u5408\u98ce\u9669 \u6bcf\u4e2a\u7ef4\u5ea6\u8f93\u5165\u90fd\u662f0~1\uff0c\u8d8a\u9ad8\u98ce\u9669\u8d8a\u5927", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L508"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L17", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L18", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L19", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_newssentiment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L22", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newssentiment", "target": "enum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L22", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_risklevel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L30", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_risklevel", "target": "enum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L30", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_stocknewsdata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L38", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_newsriskresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L79", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L91", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor", "target": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L94", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor", "target": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L102", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_financemonitor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L137", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_financemonitor", "target": "pure_breakout_20260327_news_risk_monitor_financemonitor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L140", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_financemonitor", "target": "pure_breakout_20260327_news_risk_monitor_financemonitor_analyze", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L146", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L167", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor", "target": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L170", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor", "target": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor_analyze", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L174", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L194", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor", "target": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L197", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor", "target": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor_analyze", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L203", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L224", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor", "target": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L227", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor", "target": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L235", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L274", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L281", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L289", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_adjust_news_risk_for_hot_sector", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L316", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L324", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk", "target": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L327", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk", "target": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk_analyze_style_risk", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L330", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L344", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L347", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L355", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stocks", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L423", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_suggestion", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L427", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L444", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_score_for_risk_system", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L484", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L493", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L499", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_calculate_total_risk", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L502", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_get_level", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L539", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_get_suggestion", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L547", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "target": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L348", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "target": "pure_breakout_20260327_news_risk_monitor_financemonitor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L349", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "target": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L350", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "target": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L351", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "target": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L352", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_init", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L353", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "target": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L364", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L376", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_adjust_news_risk_for_hot_sector", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L379", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_get_suggestion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L410", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "target": "pure_breakout_20260327_news_risk_monitor_newsriskresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L412", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stocks", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L425", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_init", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L500", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_calculate_total_risk", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L513", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_calculate_total_risk", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_score_for_risk_system", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L514", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_calculate_total_risk", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_get_level", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L535", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_calculate_total_risk", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_get_suggestion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L536", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_1", "target": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_news_risk_monitor_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L1", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_103", "target": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L103", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_275", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L275", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_290", "target": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L290", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_345", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L345", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_485", "target": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_score_for_risk_system", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L485", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_494", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L494", "weight": 1.0}, {"source": "pure_breakout_20260327_news_risk_monitor_rationale_508", "target": "pure_breakout_20260327_news_risk_monitor_fivedimensionriskassessment_calculate_total_risk", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L508", "weight": 1.0}], "raw_calls": [{"caller_nid": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L113"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L118"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L123"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L127"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_pricevolumemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L132"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_financemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L153"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_financemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L157"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_financemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L162"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L182"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L187"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_institutionalmonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L189"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L211"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L216"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_sentimentmonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L219"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L244"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L246"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L252"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L254"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L259"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L261"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L267"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_internationallinkagemonitor_analyze", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L269"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "callee": "int", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L300"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L302"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L307"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_analyze_sector_risk", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L312"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_structuralmarketrisk_adjust_news_risk_for_hot_sector", "callee": "int", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L320"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk_analyze_style_risk", "callee": "items", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L335"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk_analyze_style_risk", "callee": "int", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L337"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_styleconcentrationrisk_analyze_style_risk", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L339"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "callee": "extend", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L380"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "callee": "extend", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L381"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L396"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_analyze_stock", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L397"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L461"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L462"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L463"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L464"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L465"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L466"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L469"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L471"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L472"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L475"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L477"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L478"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L480"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L481"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_report", "callee": "join", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L482"}, {"caller_nid": "pure_breakout_20260327_news_risk_monitor_newsriskmonitor_get_risk_score_for_risk_system", "callee": "min", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/news_risk_monitor.py", "source_location": "L489"}]} |