tfse-model-api-v0.2/Rating/scripts/Indicators.py

179 lines
4.2 KiB
Python

def roe(param1, param2, param3):
"""
ZH: 净资产收益率
EN: Return Of Equity
Parameters:
param1 - float 净利润
param2 - float 所有者权益合计(当期)
param3 - float 所有者权益合计(上期)
Returns:
value - float 净资产收益率
"""
value = param1 / (param2 + param3) * 2 * 100
value = round(value, 2)
return value
def roa(param1, param2, param3, param4):
"""
ZH: 总资产报酬率
EN: Return Of Assets
Parameters:
param1 - float 利润总额
param2 - float 利息支出
param3 - float 资产总计(当期)
param4 - float 资产总计(上期)
Returns:
value - float 总资产报酬率
"""
value = (param1 + param2) / (param3 + param4) * 2 * 100
value = round(value, 2)
return value
def tat(param1, param2, param3):
"""
ZH: 总资产周转率
EN: Total Assets Turnover
Parameters:
param1 - float 营业收入
param2 - float 资产总计(当期)
param3 - float 资产总计(上期)
Returns:
value - float 总资产周转率
"""
value = param1 / (param2 + param3) * 2 * 100
value = round(value)
return value
def acrt(param1, param2):
"""
ZH: 应收账款周转速度
EN: Accounts Receivable Turnover Speed
Parameters:
param1 - float 营业收入
param2 - float 应收账款
Returns:
value - float 应收账款周算速度
"""
value = round(param1 / param2, 2)
return value
def ivtt(param1, param2, param3):
"""
ZH: 存货周转率
EN: Inventory Turnover
Parameters:
param1 - float 营业成本
param2 - float 存货(当期)
param3 - float 存货(上期)
Returns:
value - 存货周转率
"""
value = param1 / (param2 + param3) * 2 * 100
value = round(value, 2)
return value
def dbar(param1, param2):
"""
ZH: 资产负债率
EN: Debt Asset Ratio
Parameters:
param1 - float 负债合计
param2 - float 资产总计
Returns:
value - float 资产负债率
"""
value = round(param1 / param2 * 100, 2)
return value
def icm(param1, param2, param3, param4, param5):
"""
ZH: 利息保障倍数
EN: Interest Cover Multiplier
Parameters:
param1 - float 利润总额
param2 - float 计入财务费用的利息支出
param3 - float 资本化利息支出
param4 - float 短期借款
param5 - float 长期借款
Returns:
value - float 利息保障倍数
"""
if (param2 + param3) == 0:
value = param1 / (param4 * 0.043 + param5 * 0.049)
value = round(value, 2)
return value
else:
value = (param1 + param2) / (param2 + param3)
value = round(value, 2)
return value
def qkr(param1, param2, param3):
"""
ZH: 速动比率
EN: Quick Ratio
Unit: %
Parameters:
param1 - float 流动资产合计
param2 - float 存货
param3 - float 流动负债合计
Returns:
value - float 速动比率
"""
value = (param1 - param2) / param3 * 100
value = round(value, 2)
return value
def bgr(param1, param2):
"""
ZH: 营业增长率
EN: Business Growth Rate
Unit: %
Parameters:
param1 - float 期末营业收入
param2 - float 期初营业收入
Returns:
value - float 营业增长率
"""
value = (param1 - param2) / param2 * 100
value = round(value, 2)
return value
def tagr(param1, param2):
"""
ZH: 总资产增长率
EN: Total Assets Growth Rate
Unit: %
Parameters:
param2 - float 期末资产总计
param3 - float 期初资产总计
Returns:
value - float 总资产增长率
"""
value = (param1 - param2) / param2 * 100
value = round(value, 2)
return value
def tio(param1, param2):
"""
ZH: 技术投入比率
EN: Technology Input-Output Ratio
Unit: %
Parameters:
param1 - float 研发费用
param2 - float 营业收入
Returns:
value - type 技术投入比率
"""
value = round(param1 / param2 * 100, 2)
return value