indexcalculation/基本信用评级指标/盈利能力/EBITDA利润率.py

33 lines
1.1 KiB
Python
Raw Normal View History

2022-12-22 15:34:49 +08:00
from fastapi import APIRouter
from pydantic import BaseModel
INDEX = "EBITDA利润率%"
router = APIRouter()
class Params(BaseModel):
2022-12-30 09:28:54 +08:00
短期借款: float
交易性金融负债: float
应付票据: float
一年内到期的非流动负债: float
其他短期有息债务: float
长期借款: float
应付债券: float
其他长期有息债务: float
2023-01-04 10:02:46 +08:00
所有者权益: float
2022-12-22 15:34:49 +08:00
@router.post("/{}".format(INDEX))
def func(p: Params):
try:
2022-12-30 09:28:54 +08:00
m = p.短期借款 + p.交易性金融负债 + p.应付票据 + p.一年内到期的非流动负债 + p.其他短期有息债务 + p.长期借款 + p.应付债券 + p.其他长期有息债务
2023-01-04 10:02:46 +08:00
d = p.短期借款 + p.交易性金融负债 + p.应付票据 + p.一年内到期的非流动负债 + p.其他短期有息债务 + p.长期借款 + p.应付债券 + p.其他长期有息债务 + p.所有者权益
2022-12-30 09:28:54 +08:00
result = m / d
2022-12-22 15:34:49 +08:00
return round(result, 6)
except ZeroDivisionError:
2022-12-30 09:28:54 +08:00
return "+inf" # 此处本应为算式无意义,特殊处理为正无穷大
2022-12-22 15:34:49 +08:00
except Exception:
return "计算错误"