- Remove Docker-based microservices (docker-compose.yml, Makefile, Dockerfiles) - Update start-dev.sh to use backend.app:app entry point - Add shared schema and client modules for service communication - Add team coordination modules (messenger, registry, task_delegator, coordinator) - Add evaluation hooks and skill adaptation hooks - Add skill template and gateway server - Update frontend WebSocket URL configuration - Add explain components for insider and technical analysis Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
69 lines
1.9 KiB
Python
69 lines
1.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Financial-related schemas."""
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class FinancialMetrics(BaseModel):
|
|
ticker: str
|
|
report_period: str
|
|
period: str
|
|
currency: str
|
|
market_cap: float | None
|
|
enterprise_value: float | None
|
|
price_to_earnings_ratio: float | None
|
|
price_to_book_ratio: float | None
|
|
price_to_sales_ratio: float | None
|
|
enterprise_value_to_ebitda_ratio: float | None
|
|
enterprise_value_to_revenue_ratio: float | None
|
|
free_cash_flow_yield: float | None
|
|
peg_ratio: float | None
|
|
gross_margin: float | None
|
|
operating_margin: float | None
|
|
net_margin: float | None
|
|
return_on_equity: float | None
|
|
return_on_assets: float | None
|
|
return_on_invested_capital: float | None
|
|
asset_turnover: float | None
|
|
inventory_turnover: float | None
|
|
receivables_turnover: float | None
|
|
days_sales_outstanding: float | None
|
|
operating_cycle: float | None
|
|
working_capital_turnover: float | None
|
|
current_ratio: float | None
|
|
quick_ratio: float | None
|
|
cash_ratio: float | None
|
|
operating_cash_flow_ratio: float | None
|
|
debt_to_equity: float | None
|
|
debt_to_assets: float | None
|
|
interest_coverage: float | None
|
|
revenue_growth: float | None
|
|
earnings_growth: float | None
|
|
book_value_growth: float | None
|
|
earnings_per_share_growth: float | None
|
|
free_cash_flow_growth: float | None
|
|
operating_income_growth: float | None
|
|
ebitda_growth: float | None
|
|
payout_ratio: float | None
|
|
earnings_per_share: float | None
|
|
book_value_per_share: float | None
|
|
free_cash_flow_per_share: float | None
|
|
|
|
|
|
class FinancialMetricsResponse(BaseModel):
|
|
financial_metrics: list[FinancialMetrics]
|
|
|
|
|
|
class LineItem(BaseModel):
|
|
ticker: str
|
|
report_period: str
|
|
period: str
|
|
currency: str
|
|
|
|
# Allow additional fields dynamically
|
|
model_config = {"extra": "allow"}
|
|
|
|
|
|
class LineItemResponse(BaseModel):
|
|
search_results: list[LineItem]
|