← 返回题库
初级

行业特定风险:房地产预收款占负债比分析

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q072
行业特定风险:房地产行业预收款占比分析
"""

metadata = {
    "id": "q072",
    "title": "行业特定风险:房地产预收款占负债比分析",
    "module": "行业特定风险识别",
    "difficulty": "beginner",
    "data_files": ["balance_sheet.csv"],
    "skills": ["预收款分析", "房地产行业", "行业风险识别"],
    "estimated_minutes": 8
}

"""
【题目】
读取balance_sheet.csv,筛选2023年合并报表中房地产行业(Indnme包含'房地产')的公司,
分析预收款项占总负债的比例:

1. 计算预收款项/负债合计(保留4位小数)
2. 计算资产负债率 = 负债合计/总资产
3. 按预收款占负债比降序排列,输出前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/"
    bs = pd.read_csv(StringIO(open_url(BASE_URL + "balance_sheet.csv").read()))

    df = bs[(bs['Accper'] == '2023-12-31') & (bs['Typrep'] == 'A')].copy()
    df = df[df['Indnme'].str.contains('房地产', na=False)]
    df = df.dropna(subset=['预收款项', '负债合计', '总资产'])
    df = df[(df['负债合计'] > 0) & (df['总资产'] > 0)]

    df['预收款占负债比'] = (df['预收款项'] / df['负债合计']).round(4)
    df['资产负债率'] = (df['负债合计'] / df['总资产']).round(4)

    result = df.nlargest(10, '预收款占负债比')[
        ['Stkcd', 'ShortName', '预收款项', '负债合计', '总资产', '预收款占负债比', '资产负债率']
    ].reset_index(drop=True)
    return result.to_string()

if __name__ == "__main__":
    print(solve())

示例

输入
solve()
期望输出
Stkcd ShortName  预收款项          负债合计           总资产  预收款占负债比   资产负债率 | 0      11      深物业A     0  1.228434e+10  1.698806e+10      0.0  0.7231 | 1      31       大悦城     0  1.519661e+11  1.980612e+11      0.0  0.7673 | 2     514       渝开发     0  3.721286e+09  8.055264e+09      0.0  0.4620 | 3     573      粤宏远A     0  6.811837e+08  2.358736e+09      0.0  0.2888 | 4     620    *ST 新联     0  8.793812e+09  1.477819e+10      0.0  0.5951 | 5     797      中国武夷     0  1.721578e+10  2.297024e+10      0.0  0.7495 | 6     965      天保基建     0  6.921519e+09  1.349805e+10      0.0  0.5128 | 7  600604      市北高新     0  1.379135e+10  2.209188e+10      0.0  0.6243 | 8  600773      西藏城投     0  9.834815e+09  1.350686e+10      0.0  0.7281
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码