Skip to main content

企业风险评估系统,支持多种风险类型计算、阈值判断和详细计算过程导出

Project description

风险评估模型库

这是一个用于企业风险评估的Python库,提供了完整的风险评估功能,包括数据加载、风险计算、结果导出和可视化。

安装

pip install risk-assessment

功能特点

  • 支持从Excel文件加载数据
  • 计算多种风险类型(战略风险、财务风险、市场风险、法律信用风险、事件风险)
  • 完整的A类风险(阈值风险)判断
  • 生成详细的风险评估报告和计算过程
  • 可视化风险评分结果
  • 支持自定义配置参数

使用示例

基本用法

from risk_assessment_package.main import RiskModel

# 创建模型实例
risk_model = RiskModel(config_path='config.yaml')  # 或者 RiskModel() 使用默认配置

try:
    # 加载数据(假设Excel文件格式为:第一列是指标名称,后续列为各月份数据)
    risk_model.load_data('test.xlsx', sheet_name='Sheet3')
    
    # 计算所有月份的风险
    results = risk_model.calculate_total_risk()
    
    # 输出结果
    print("\n=== 风险评估结果 ===")
    for result in results:
        print(f"\n期间: {result['period']}月")
        print(f"总风险评分: {result['total_score']:.2f}")
        print(f"风险等级: {result['risk_level']}")
        # 只输出触发A类风险的原因
        if result.get('risk_basis') == 'threshold':
            print("【A类风险】触发原因:")
            for reason in result['risk_reasons']:
                print(f"  - {reason}")
    
    # 导出详细计算过程到Excel
    risk_model.export_calculation_details(results, 'risk_calculation_details.xlsx')
    
    # 绘制并保存风险评分柱状图
    risk_model.plot_risk_scores(results, save_path='risk_assessment_chart.png')
    
except Exception as e:
    print(f"错误: {e}")

使用自定义配置

from risk_assessment_package.main import RiskModel

# 使用自定义配置文件创建模型
model = RiskModel(config_path="custom_config.yaml")
model.load_data("test.xlsx")
results = model.calculate_total_risk()

详细计算过程导出

模型提供了导出详细计算过程的功能,包含所有中间计算步骤:

# 导出详细计算过程
model.export_calculation_details(results, 'calculation_details.xlsx')

导出的Excel文件包含以下工作表:

  • 原始数据:所有输入指标的原始值
  • 战略风险:战略风险的计算指标和过程
  • 财务风险:财务风险相关的所有指标和计算过程
  • 市场风险:市场风险的计算指标和过程
  • 法律信用风险:法律和信用风险的计算指标和结果
  • 事件风险:事件风险的评估指标和计算过程
  • 信用与社会责任风险:额外的信用风险和社会责任风险计算
  • 阈值风险:触发高风险阈值的指标和判断标准
  • 总风险评分:所有风险指标和最终评分结果

数据格式要求

输入Excel文件需要满足以下要求:

  1. 数据格式:

    • 第一列必须是指标名称
    • 后续列是各月份的数据
    • 第一行是列名(月份或其他时间标识)
  2. 工作表选择:

    • 默认读取第一个工作表
    • 可以通过 sheet_name 参数指定工作表
    • 支持工作表名称或索引号
  3. 必需的指标(部分列表):

    • 主营业务收入、营业总收入、主营业务利润总额、利润总额
    • 主营业务毛利润、研发投入本年累计数和上年同期数
    • 主营业务成本、主营业务相关费用、资产总额、负债总额
    • 带息负债总额、经营净现金流、货币资金、投资收益
    • 财务费用中的利息费用、资本化利息支出
    • 预付账款、预收账款、应收账款、应付账款
    • 净资产、坏账准备金额、存货、毛利润
    • 各类行业平均值和中等值指标
    • 司法诉讼案件数量、执行金额、被执行金额
    • 已销号事件数、新增事件数、年初事件数等事件相关指标
    • 各类事故次数和环境事件次数指标

阈值风险(A类风险)判断

模型会对以下指标进行阈值判断,如果触发任何一项条件则判定为高风险:

  1. 主业亏损金额 > 200,000,000
  2. 资产负债率 > 0.9
  3. 带息负债率 > 行业较差值
  4. 高危企业发生特别重大生产安全事故次数 > 0
  5. 非高危企业发生特别重大生产安全事故次数 > 0
  6. 企业发生重大及以上生态环境事件次数 > 0
  7. 经营净现金流占货币资金的比重 < -0.3

配置说明

可以通过YAML配置文件自定义以下参数:

  • 各类风险的权重
  • 风险阈值参数
  • 计算参数

配置文件示例:

weights:
  strategic: 0.15
  financial: 0.30
  market: 0.25
  legal_credit: 0.10
  event: 0.20

输出结果

风险评估结果包含:

  1. 总体风险评分
  2. 各项风险评分
  3. 风险等级
  4. 风险判断依据
  5. 详细的计算过程

故障排除

如果遇到问题,可以检查:

  • Excel文件格式是否正确
  • 必要的依赖是否都已安装(pandas, numpy, matplotlib, openpyxl, PyYAML)
  • 配置文件的格式是否正确

程序默认会在控制台输出日志信息,可以查看更多执行细节。

许可证

MIT License

贡献

欢迎提交问题和改进建议!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

risk_assessment-0.2.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

risk_assessment-0.2.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file risk_assessment-0.2.0.tar.gz.

File metadata

  • Download URL: risk_assessment-0.2.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for risk_assessment-0.2.0.tar.gz
Algorithm Hash digest
SHA256 89dab41250ee8427e73c75e758f57c0950a5f55147e3f763a154b7eaf1535a01
MD5 713ec8cc3a5bb7bd3fd97d7dd594b4cb
BLAKE2b-256 17dc96d0f7ac7bfc92ed8cc1793098469a946efa4db34340c9cbeff0ee5495e6

See more details on using hashes here.

File details

Details for the file risk_assessment-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for risk_assessment-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa899ac230d2ed7e5f7e04fcffae8bc16931c78b134d477e80e6cc1c7ebec894
MD5 17933492975a9c10c1e041e6e455f753
BLAKE2b-256 11edc807cf4da7bb7df788859f388f45f401917ac3eed47d7de6f523c88b33dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page