← 返回题库
初级

现金流分析:OCF与净利润背离识别

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q040
现金流异常分析:OCF与净利润背离识别
"""

metadata = {
    "id": "q040",
    "title": "现金流分析:OCF与净利润背离识别",
    "module": "现金流异常分析",
    "difficulty": "beginner",
    "data_files": ["case34_yutong_operating.csv"],
    "skills": ["OCF分析", "现金含量", "背离识别"],
    "estimated_minutes": 8
}

"""
【题目】
读取case34_yutong_operating.csv(宇通客车2007-2009年数据),
计算各年度OCF/净利润(现金含量比率):

1. 现金含量 = ocf / net_profit(保留4位小数)
2. 标记现金含量 < 0.5 的年份为"⚠ 异常",否则"正常"

输出DataFrame,包含:year、revenue、net_profit、ocf、现金含量、是否异常
"""

def solve():
    import pandas as pd
    from pyodide.http import open_url
    from io import StringIO

    BASE_URL = "https://data.zuihe.com/finance/"
    df = pd.read_csv(StringIO(open_url(BASE_URL + "case34_yutong_operating.csv").read()))

    df['现金含量'] = (df['ocf'] / df['net_profit']).round(4)
    df['是否异常'] = df['现金含量'].apply(lambda x: '⚠ 异常' if x < 0.5 else '正常')

    result = df[['year', 'revenue', 'net_profit', 'ocf', '现金含量', '是否异常']]
    return result.to_string()

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

示例

输入
solve()
期望输出
year  revenue  net_profit   ocf    现金含量  是否异常 | 0  2007    80.53        4.49  6.85  1.5256    正常 | 1  2008    83.36        5.24  9.64  1.8397    正常 | 2  2009    87.82        5.67  0.73  0.1287  ⚠ 异常
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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