初级
综合评估:偿债能力五指标综合评分
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q084
综合财务评估:偿债能力五指标综合评分
"""
metadata = {
"id": "q084",
"title": "综合评估:偿债能力五指标综合评分",
"module": "综合财务风险评估",
"difficulty": "beginner",
"data_files": ["solvency.csv"],
"skills": ["流动比率", "速动比率", "资产负债率", "利息保障", "综合评分"],
"estimated_minutes": 10
}
"""
【题目】
读取solvency.csv,筛选2023年合并报表(Typrep='A'),
对每家公司计算偿债能力综合评分(满分5分):
评分规则(每项1分):
1. 流动比率 F010101B >= 1.5
2. 速动比率 F010201B >= 1.0
3. 资产负债率 F010301B <= 0.60
4. 利息保障倍数 F010701B >= 3.0
5. 现金比率(暂用速动比率>1.5代替)
输出综合评分最低的前10家(偿债风险最高):
DataFrame,包含:Stkcd、ShortName、流动比率、速动比率、资产负债率、利息保障倍数、综合评分
(数值保留4位小数)
"""
def solve():
import pandas as pd
from pyodide.http import open_url
from io import StringIO
BASE_URL = "https://data.zuihe.com/finance/"
sol = pd.read_csv(StringIO(open_url(BASE_URL + "solvency.csv").read()))
df = sol[(sol['Accper'] == '2023-12-31') & (sol['Typrep'] == 'A')].copy()
df = df.dropna(subset=['F010101B', 'F010201B', 'F010301B', 'F010701B'])
df['s1'] = (df['F010101B'] >= 1.5).astype(int)
df['s2'] = (df['F010201B'] >= 1.0).astype(int)
df['s3'] = (df['F010301B'] <= 0.60).astype(int)
df['s4'] = (df['F010701B'] >= 3.0).astype(int)
df['s5'] = (df['F010201B'] >= 1.5).astype(int)
df['综合评分'] = df['s1'] + df['s2'] + df['s3'] + df['s4'] + df['s5']
cols = ['Stkcd', 'ShortName', 'F010101B', 'F010201B', 'F010301B', 'F010701B', '综合评分']
result = df.nsmallest(10, '综合评分')[cols].rename(columns={
'F010101B': '流动比率', 'F010201B': '速动比率',
'F010301B': '资产负债率', 'F010701B': '利息保障倍数'
}).reset_index(drop=True)
for col in ['流动比率', '速动比率', '资产负债率', '利息保障倍数']:
result[col] = result[col].round(4)
return result.to_string()
if __name__ == "__main__":
print(solve())
示例
输入
solve()
期望输出
Stkcd ShortName 流动比率 速动比率 资产负债率 利息保障倍数 综合评分 | 0 601 韶能股份 0.9585 0.8079 0.7413 -0.1186 0 | 1 868 安凯客车 0.9215 0.8200 0.6962 -27.6891 0 | 2 1287 中电港 1.2593 0.7687 0.6314 1.4193 0 | 3 2059 云南旅游 0.7769 0.7348 0.6069 -21.7865 0 | 4 2672 东江环保 1.1175 0.8764 0.7283 -4.2506 0 | 5 2739 万达电影 1.0282 0.8255 0.6504 2.0390 0 | 6 2848 高斯贝尔 0.8907 0.7282 0.6644 -8.6010 0 | 7 300167 ST 迪威迅 0.9437 0.8832 0.7167 -16.5916 0 | 8 300249 依米康 1.0344 0.8539 0.7166 -12.6926 0 | 9 300252 金信诺 1.0712 0.9431 0.7467 -3.7536 0
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199