MCPcopy Create free account
hub / github.com/FinStep-AI/ContestTrade / _create_result_summary

Method _create_result_summary

cli/main.py:341–386  ·  view source on GitHub ↗

创建结果摘要

(self)

Source from the content-addressed store, hash-verified

339 layout["footer"].update(footer_panel)
340
341 def _create_result_summary(self) -> Text:
342 """创建结果摘要"""
343 summary_text = Text()
344
345 if self.final_state:
346 # 从step_results中获取统计信息
347 step_results = self.final_state.get('step_results', {})
348 data_team_results = step_results.get('data_team', {})
349 research_team_results = step_results.get('research_team', {})
350
351 data_factors_count = data_team_results.get('factors_count', 0)
352 research_signals_count = research_team_results.get('signals_count', 0)
353
354 summary_text.append(get_text(f"📊 数据源: {data_factors_count} | ", f"📊 Data Sources: {data_factors_count} | "), style="green")
355 summary_text.append(get_text(f"🔍 研究信号: {research_signals_count} | ", f"🔍 Research Signals: {research_signals_count} | "), style="blue")
356
357 # 获取所有信号并筛选有机会的信号
358 best_signals = step_results.get('contest', {}).get('best_signals', [])
359
360 # 筛选 has_opportunity 为 yes 的信号
361 valid_signals = []
362 for signal in best_signals:
363 has_opportunity = signal.get('has_opportunity', 'no')
364 if has_opportunity == 'yes':
365 valid_signals.append(signal)
366
367 if valid_signals:
368 summary_text.append(get_text(f"🎯 有效信号: {len(valid_signals)}", f"🎯 Valid Signals: {len(valid_signals)}"), style="bold red")
369
370 for i, signal in enumerate(valid_signals):
371 symbol_name = signal.get('symbol_name', 'N/A')
372 action = signal.get('action', 'N/A')
373 agent_id = signal.get('agent_id', 'N/A')
374
375 summary_text.append(get_text(f"\n {i+1}. Research Agent{agent_id}:", f"\n {i+1}. Research Agent{agent_id}: "), style="yellow")
376 summary_text.append(f"{symbol_name}({action}) ", style="cyan")
377
378 else:
379 summary_text.append(get_text("🎯 有效信号: 0", "🎯 Valid Signals: 0"), style="bold red")
380 summary_text.append(get_text(" 无有效信号", " No valid signals"))
381
382 summary_text.append(get_text("\n💡分析完成,按回车退出运行界面...", "\n💡Analysis completed, press Enter to exit the interface..."))
383 else:
384 summary_text.append(get_text("❌ 分析失败", "❌ Analysis Failed"), style="red")
385
386 return summary_text
387
388
389def run_contest_analysis_interactive(trigger_time: str, market: str):

Callers 1

update_displayMethod · 0.95

Calls 1

get_textFunction · 0.85

Tested by

no test coverage detected