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

1 line
70 KiB
JSON

{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "label": "technical_selection_backtest_final.py", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L1"}, {"id": "02_algorithms_technical_selection_backtest_final_trade", "label": "Trade", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L25"}, {"id": "02_algorithms_technical_selection_backtest_final_backtestresult", "label": "BacktestResult", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L42"}, {"id": "02_algorithms_technical_selection_backtest_final_technicalindicators", "label": "TechnicalIndicators", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L62"}, {"id": "02_algorithms_technical_selection_backtest_final_sma", "label": "sma()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L64"}, {"id": "02_algorithms_technical_selection_backtest_final_ema", "label": "ema()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L68"}, {"id": "02_algorithms_technical_selection_backtest_final_macd", "label": "macd()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L72"}, {"id": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "label": "bollinger_bands()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L81"}, {"id": "02_algorithms_technical_selection_backtest_final_donchian_channel", "label": "donchian_channel()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L89"}, {"id": "02_algorithms_technical_selection_backtest_final_atr", "label": "atr()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L95"}, {"id": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy", "label": "MACDDivergenceStrategy", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L105"}, {"id": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L106"}, {"id": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_buy_signal", "label": ".check_buy_signal()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L113"}, {"id": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_sell_signal", "label": ".check_sell_signal()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L135"}, {"id": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy", "label": "BollingerBandsStrategy", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L149"}, {"id": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L150"}, {"id": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "label": ".rsi()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L157"}, {"id": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_buy_signal", "label": ".check_buy_signal()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L174"}, {"id": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_sell_signal", "label": ".check_sell_signal()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L197"}, {"id": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy", "label": "DonchianChannelStrategy", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L215"}, {"id": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L216"}, {"id": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_buy_signal", "label": ".check_buy_signal()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L223"}, {"id": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_sell_signal", "label": ".check_sell_signal()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L239"}, {"id": "02_algorithms_technical_selection_backtest_final_backtestengine", "label": "BacktestEngine", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L255"}, {"id": "02_algorithms_technical_selection_backtest_final_backtestengine_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L256"}, {"id": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "label": ".backtest()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L260"}, {"id": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "label": "._calculate_performance()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L340"}, {"id": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "label": ".print_result()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L390"}, {"id": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "label": "generate_sample_data()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L410"}, {"id": "02_algorithms_technical_selection_backtest_final_main", "label": "main()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L426"}, {"id": "02_algorithms_technical_selection_backtest_final_rationale_1", "label": "Technical Selection Strategies Backtest Framework Implements three recommended", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L1"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L13", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L14", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L15", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L16", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L17", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L18", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_trade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L25", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_backtestresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L42", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_technicalindicators", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L62", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_sma", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L64", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_ema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L68", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_macd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L72", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L81", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_donchian_channel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L89", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_atr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L95", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L105", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy", "target": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L106", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy", "target": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_buy_signal", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L113", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy", "target": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_sell_signal", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L135", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L149", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy", "target": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L150", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy", "target": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L157", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy", "target": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_buy_signal", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L174", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy", "target": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_sell_signal", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L197", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L215", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy", "target": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L216", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy", "target": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_buy_signal", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L223", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy", "target": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_sell_signal", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L239", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_backtestengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L255", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine", "target": "02_algorithms_technical_selection_backtest_final_backtestengine_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L256", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine", "target": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L260", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine", "target": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L340", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine", "target": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L390", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L410", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "target": "02_algorithms_technical_selection_backtest_final_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L426", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_macd", "target": "02_algorithms_technical_selection_backtest_final_ema", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L73", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "target": "02_algorithms_technical_selection_backtest_final_sma", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L82", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_buy_signal", "target": "02_algorithms_technical_selection_backtest_final_macd", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L123", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_buy_signal", "target": "02_algorithms_technical_selection_backtest_final_sma", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L129", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_sell_signal", "target": "02_algorithms_technical_selection_backtest_final_sma", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L137", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_buy_signal", "target": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L179", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_buy_signal", "target": "02_algorithms_technical_selection_backtest_final_sma", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L184", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_buy_signal", "target": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L191", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_sell_signal", "target": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L199", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_check_sell_signal", "target": "02_algorithms_technical_selection_backtest_final_sma", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L204", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_buy_signal", "target": "02_algorithms_technical_selection_backtest_final_donchian_channel", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L228", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_sell_signal", "target": "02_algorithms_technical_selection_backtest_final_donchian_channel", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L241", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_sell_signal", "target": "02_algorithms_technical_selection_backtest_final_atr", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L246", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "target": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_sell_signal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L273", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "target": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy_check_buy_signal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L292", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "target": "02_algorithms_technical_selection_backtest_final_trade", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L302", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "target": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L338", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "target": "02_algorithms_technical_selection_backtest_final_backtestresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L370", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_main", "target": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L431", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_main", "target": "02_algorithms_technical_selection_backtest_final_backtestengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L434", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_main", "target": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L439", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_main", "target": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L440", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_main", "target": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L441", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_main", "target": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L446", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_main", "target": "02_algorithms_technical_selection_backtest_final_donchianchannelstrategy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L453", "weight": 1.0}, {"source": "02_algorithms_technical_selection_backtest_final_rationale_1", "target": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_zhangfei_technical_02_algorithms_technical_selection_backtest_final_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "02_algorithms_technical_selection_backtest_final_sma", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L65"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_sma", "callee": "rolling", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L65"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_sma", "callee": "Series", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L65"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_ema", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L69"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_ema", "callee": "ewm", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L69"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_ema", "callee": "Series", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L69"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "callee": "std", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L83"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "callee": "rolling", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L83"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollinger_bands", "callee": "Series", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L83"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_donchian_channel", "callee": "max", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L90"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_donchian_channel", "callee": "rolling", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L90"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_donchian_channel", "callee": "Series", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L90"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_donchian_channel", "callee": "min", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L91"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_donchian_channel", "callee": "rolling", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L91"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_donchian_channel", "callee": "Series", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L91"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "zeros", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L96"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L96"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "range", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L97"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L97"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "max", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L101"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "abs", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L101"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "abs", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L101"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L102"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "rolling", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L102"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_atr", "callee": "Series", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L102"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_buy_signal", "callee": "min", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L118"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_macddivergencestrategy_check_buy_signal", "callee": "min", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L124"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "diff", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L158"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "where", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L159"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "where", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L160"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "zeros_like", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L161"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "zeros_like", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L162"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L164"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L165"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L166"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "range", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L167"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_bollingerbandsstrategy_rsi", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L167"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "info", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L261"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "reset_index", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L263"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "copy", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L263"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "range", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L268"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L268"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "list", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L272"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "items", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L272"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L288"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L291"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "int", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L295"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "items", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L321"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L328"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L333"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_backtest", "callee": "append", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L336"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L346"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "sorted", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L351"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L351"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "max", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L352"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "max", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L354"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L358"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "std", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L358"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "sqrt", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L358"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L358"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "std", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L358"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L364"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L364"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L366"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L367"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L368"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L373"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L381"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L382"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_calculate_performance", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L383"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L391"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L392"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L393"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L394"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L395"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L396"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L397"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L398"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L399"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L400"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L401"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L402"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L403"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L404"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L405"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L406"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_backtestengine_print_result", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L407"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "seed", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L411"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "normal", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L412"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "cumprod", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L413"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "DataFrame", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L415"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "date_range", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L416"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "uniform", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L417"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "abs", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L418"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "uniform", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L418"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "abs", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L419"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "uniform", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L419"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_generate_sample_data", "callee": "randint", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L421"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L427"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L428"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L429"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L432"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L432"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L436"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L437"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L438"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L443"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L444"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L445"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L450"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L451"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L452"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L457"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L458"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L459"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L466"}, {"caller_nid": "02_algorithms_technical_selection_backtest_final_main", "callee": "print", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhangfei-technical/02-algorithms/technical_selection_backtest_final.py", "source_location": "L467"}]}