30 lines
1002 B
Python
30 lines
1002 B
Python
from __future__ import annotations
|
|
|
|
from app.agents.tools.meta_tool import MetaTool, SubTool
|
|
from app.agents.tools.finance.sub_tools import (
|
|
get_financial_statements,
|
|
get_market_metrics,
|
|
)
|
|
|
|
|
|
class FinancialsTool(MetaTool):
|
|
"""재무제표, 재무비율, 밸류에이션 지표를 조회하는 메타 도구."""
|
|
|
|
NAME = "get_financials"
|
|
DESCRIPTION = "재무제표, 재무비율, 밸류에이션 지표 조회"
|
|
|
|
@property
|
|
def sub_tools(self) -> list[SubTool]:
|
|
return [
|
|
SubTool(
|
|
name="get_financial_statements",
|
|
description="종목의 BPS, PER, PBR, EPS 등 재무제표 데이터 조회 (ticker, year)",
|
|
handler=get_financial_statements,
|
|
),
|
|
SubTool(
|
|
name="get_market_metrics",
|
|
description="종목의 시가총액, PER, PBR 등 시장 밸류에이션 지표 조회 (ticker, date)",
|
|
handler=get_market_metrics,
|
|
),
|
|
]
|