You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.7 KiB
87 lines
2.7 KiB
|
2 months ago
|
"""
|
||
|
|
财务数据Schema
|
||
|
|
"""
|
||
|
|
from datetime import date
|
||
|
|
from typing import List, Optional, Dict, Any
|
||
|
|
from pydantic import BaseModel, Field
|
||
|
|
|
||
|
|
|
||
|
|
class FinanceRequest(BaseModel):
|
||
|
|
"""财务数据请求"""
|
||
|
|
codes: str = Field(..., description="股票代码,多个用逗号分隔")
|
||
|
|
start_date: str = Field(..., description="开始报告期(YYYYMMDD)")
|
||
|
|
end_date: str = Field(..., description="结束报告期(YYYYMMDD)")
|
||
|
|
|
||
|
|
|
||
|
|
class BalanceSheetData(BaseModel):
|
||
|
|
"""资产负债表数据"""
|
||
|
|
report_date: str
|
||
|
|
report_type: Optional[int] = None
|
||
|
|
statement_type: Optional[int] = None
|
||
|
|
total_assets: Optional[float] = None
|
||
|
|
total_cur_assets: Optional[float] = None
|
||
|
|
total_noncur_assets: Optional[float] = None
|
||
|
|
currency_cap: Optional[float] = None
|
||
|
|
notes_receivable: Optional[float] = None
|
||
|
|
acct_receivable: Optional[float] = None
|
||
|
|
inventory: Optional[float] = None
|
||
|
|
fix_assets: Optional[float] = None
|
||
|
|
total_liab: Optional[float] = None
|
||
|
|
total_cur_liab: Optional[float] = None
|
||
|
|
total_noncur_liab: Optional[float] = None
|
||
|
|
notes_payable: Optional[float] = None
|
||
|
|
acct_payable: Optional[float] = None
|
||
|
|
st_borrowing: Optional[float] = None
|
||
|
|
lt_loan: Optional[float] = None
|
||
|
|
tot_share_equity: Optional[float] = None
|
||
|
|
|
||
|
|
|
||
|
|
class BalanceSheetResponse(BaseModel):
|
||
|
|
"""资产负债表响应"""
|
||
|
|
code: str
|
||
|
|
data: List[BalanceSheetData]
|
||
|
|
|
||
|
|
|
||
|
|
class CashFlowData(BaseModel):
|
||
|
|
"""现金流量表数据"""
|
||
|
|
report_date: str
|
||
|
|
report_type: Optional[int] = None
|
||
|
|
statement_type: Optional[int] = None
|
||
|
|
net_cash_flows_opera_act: Optional[float] = None
|
||
|
|
net_cash_flows_inv_act: Optional[float] = None
|
||
|
|
net_cash_flows_fin_act: Optional[float] = None
|
||
|
|
net_incr_cash_and_cash_equ: Optional[float] = None
|
||
|
|
cash_recp_sg_and_rs: Optional[float] = None
|
||
|
|
cash_pay_goods_services: Optional[float] = None
|
||
|
|
|
||
|
|
|
||
|
|
class CashFlowResponse(BaseModel):
|
||
|
|
"""现金流量表响应"""
|
||
|
|
code: str
|
||
|
|
data: List[CashFlowData]
|
||
|
|
|
||
|
|
|
||
|
|
class IncomeData(BaseModel):
|
||
|
|
"""利润表数据"""
|
||
|
|
report_date: str
|
||
|
|
report_type: Optional[int] = None
|
||
|
|
statement_type: Optional[int] = None
|
||
|
|
tot_opera_rev: Optional[float] = None
|
||
|
|
opera_rev: Optional[float] = None
|
||
|
|
tot_opera_cost: Optional[float] = None
|
||
|
|
opera_profit: Optional[float] = None
|
||
|
|
total_profit: Optional[float] = None
|
||
|
|
net_pro_incl_min_int_inc: Optional[float] = None
|
||
|
|
basic_eps: Optional[float] = None
|
||
|
|
diluted_eps: Optional[float] = None
|
||
|
|
rd_exp: Optional[float] = None
|
||
|
|
selling_exp: Optional[float] = None
|
||
|
|
admin_exp: Optional[float] = None
|
||
|
|
fin_exp: Optional[float] = None
|
||
|
|
|
||
|
|
|
||
|
|
class IncomeResponse(BaseModel):
|
||
|
|
"""利润表响应"""
|
||
|
|
code: str
|
||
|
|
data: List[IncomeData]
|