2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别

2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别

一、背景

财务数据是指企业经营活动和财务结果的数据记录,反映了企业的财务状况
与经营成果。对行业、企业的财务数据进行分析,就是要评价其过去的经营业绩、
衡量现在的财务状况、预测未来的发展趋势。财务数据分析不仅对企业生产经营
管理有着重要的作用,而且对企业外部投资、贷款、赊销等决策有重要作用;经
济管理部门也可以通过财务数据分析了解行业经济的运行状况,合理配置资源,
科学调控经济运行,促进经济高质量发展。而财务造假则会对企业、投资者和整
个市场带来极大的危害,准确甄别财务造假企业,帮助投资者识别风险,促进企
业诚信经营,对营造良性的市场竞争环境有非常重要的现实意义。

二、目标

  1. 财务数据预处理。
  2. 财务数据指标分析及可视化。
  3. 建立企业利润预测模型,预测企业营收情况;并根据财务报表数据的特
    点,筛查财务造假的企业。

三、任务

请根据提供的数据,选择分析工具完成以下任务,并撰写报告。

任务 1 财务数据处理

任务 1.1

读取“LR.csv”,提取表 1 中所列字段的数据,筛选出字段“Typrep”
值为“A”的数据,将筛选出的数据另存为文件“LR_1.csv”(文件编码设置为
UTF-8),并在报告中呈现筛选后的数据行数、列数。
在这里插入图片描述

df1_1 = pd.read_csv('数据/LR.csv')
df1_1.head()

# 提取表 1 中所列字段的数据
df1_1 = df1_1[[
    'Stkcd', 'Accper', 'Typrep', 'B001000000', 'B001100000', 'B001101000',
    'B001200000', 'B001201000', 'B001207000', 'B001209000', 'B001210000',
    'B001211000', 'B001212000', 'B001303000', 'B002300000'
]]

df1_1 = df1_1[df1_1['Typrep'] == 'A']  # 筛选出字段“Typrep”值为“A”的数据
df1_1.reset_index(inplace=True, drop=True)  # 重置索引
df1_1

df1_1.to_csv('LR_1.csv',encoding='utf-8',index=False)
筛选后的数据行数:  33414
筛选后的数据列数:  15

任务 1.2

读取“LR_1.csv”、“ZCFZ.csv”、“Stk_ind.csv”三个数据文件。
根据“Stkcd”、“Accper”和“Typrep”三个字段,提取“ZCFZ.csv”中字段为
“A002000000”和“A001000000”的相应数据,合并到“LR_1.csv”中。根据字
段“Stkcd”,提取“Stk_ind.csv”中字段为“Indnme”和“Nindnme”的相应数
据,合并到“LR_1.csv”中。将完成合并的数据另存为文件“LR_2.csv”(文件
编码设置为 UTF-8),并在报告中呈现合并后数据的行数、列数。

df1_2_1 = pd.read_csv('LR_1.csv')
df1_2_1.head()

df1_2_2 = pd.read_csv('数据/ZCFZ.csv')
df1_2_2.head()

df1_2_3 = pd.read_csv('数据/Stk_ind.csv',encoding='gbk')
df1_2_3.head()

df1_2_2 = df1_2_2[['Stkcd','Accper','Typrep','A002000000','A001000000']]
df1_2_2
# 左连接,连接字段为'Stkcd','Accper','Typrep'
data = df1_2_1.merge(df1_2_2,how='left',on=['Stkcd','Accper','Typrep'])
data
data1_2_2_1 = data1_2_2[["Stkcd", "Accper", "Typrep","A002000000", "A001000000"]]

在这里插入图片描述

df1_2 = df1_2_3.merge(data,how='right',on='Stkcd')  # 右连接
df1_2

df1_2.to_csv('LR_2.csv',encoding='utf-8',index=False)

在这里插入图片描述

任务 1.3

读取“LR_2.csv”,删除空值占比达 70%及以上的数据列,将处理后的数据另存为文件“LR_3.csv”(文件编码设置为 UTF-8),并在报告中呈处理后数据的列数。

任务 1.4

读取“LR_3.csv”,删除包含空值的行,将处理后的数据另存为文件“LR_4.csv”(文件编码设置为 UTF-8),并在报告中呈现处理后数据的行数。

处理后数据的行数为30888
在这里插入图片描述

任务 1.5

读取“LR_4.csv”,将字段“Accper”的日期数据转换为“YYYYmm-dd”的格式,例如:“2018-1-31”转换为“2018-01-31”,将处理后的数据
另存为文件“LR_5.csv”(文件编码设置为 UTF-8)。

略。。。。。。。。。。。。

任务 1.6 读取“LR_5.csv”,插入“利润率”和“资产负债率”两列。根据

下表公式,计算对应的利润率和资产负债率,追加到“LR_5.csv”对应字段。分
别删除表中利润率、资产负债率不在[-300%,300%]范围内的行,将处理后的数
据另存为文件“LR_new.csv”(文件编码设置为 UTF-8),并在报告中呈现处理
后的数据行数、列数,及前 5 个企业的利润率、资产负债率。
在这里插入图片描述

数据的行数为30690,列数为19

任务 2 财务数据指标分析及可视化

任务 2.1 读取“LR_new.csv”,根据表 3 要求统计数据,绘制相关的“行业营业利润对比分析”图,每张图表需在报告中进行呈现及分析。

读取数据
import numpy as np
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar, Line, Pie, Grid, Page
df2_1 = pd.read_csv('../result/LR_new.csv')


在这里插入图片描述

20199 月各行业大类的利润对比
data = df2_1[('2019-09-01'<=df2_1['Accper'])&(df2_1['Accper']<='2019-09-30')]  # 筛选出2019年9月

data = data.groupby('Indnme')['B001000000'].mean()  # 按行业大类分组,求利润总额的均值

bar1 = (
    Bar(init_opts=opts.InitOpts(chart_id=1,bg_color='#ffffff'))
    .add_xaxis(data.index.tolist())
    .add_yaxis("",data.values.tolist())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2019年9月各行业大类的利润对比"),
        datazoom_opts=opts.DataZoomOpts(type_="inside"),
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=False),
    )
)
bar1.render_notebook()

在这里插入图片描述

20181 月至2019 年 9 月各行业大类利润率变化
data2 = df2_1[(df2_1['Accper']>='2018-01-01')&(df2_1['Accper']<='2019-09-30')]

data2['Accper'] = pd.to_datetime(data2['Accper'])
data2['季度'] = data2['Accper'].dt.quarter
data2['年份'] = data2['Accper'].dt.year

df_test = data2.groupby(['Indnme','年份','季度'],as_index=False)['利润率'].mean()
df_test['Indnme'].unique()

在这里插入图片描述

任务 2.2 读取“LR_new.csv”,根据任务 2.1 结果,确定 2019 年 9 月营业

利润率均值排名第 1 的行业大类,并按表 4 要求绘制该行业大类相关的“行业企
业营收分析”图,每张图表需在报告中进行呈现及分析。
在这里插入图片描述
在这里插入图片描述

2.2.1
2019 年该行业各细类利润率对比


20199 月营业利润率均值排名第  1 细类为证券、期货业

在这里插入图片描述

2.2.2

在这里插入图片描述

2.2.3


在这里插入图片描述

 2.2.4

在这里插入图片描述

任务 2.3 利用可视化大屏制作工具,将任务 2.1 和任务 2.2 所列的 6 张图制

作成一个大屏,大屏命名为“行业与企业营业数据分析”,并在报告中呈现。要
求大屏整体设计美观、布局清晰直观。

# 导入必要的库  
from pyecharts import options as opts  
from pyecharts.charts import Bar, Line, Pie, Scatter, Map, Grid  
from pyecharts.faker import Faker  
from pyecharts.charts import Bar, Line, Pie, Scatter, Map
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from pyecharts.globals import ChartType
# 柱状图
............................................................................................
# 折线图
............................................................................................

# 饼图
pie1 ............................................................................................
# 散点图
............................................................................................
# 地图
............................................................................................
grid.render("行业与企业营业数据分析.html")

在这里插入图片描述

任务 3 企业利润预测及财务造假识别

任务 3.1

读取“financial_data.csv”,计算各个指标与利润总额的相关性,
挑选相关度最高的 5 个指标。

import pandas as pd

# 读取csv文件
df3 = pd.read_csv(r"D:\B题-企业财务数据分析与造假识别\数据\financial_data.csv")
# 导入企业财务数据样本集

# 计算各个指标与利润总额的相关性

df3.columns

correlations = df3.corr()['LRZE'].sort_values(ascending=False)

# 打印前5个最大相关性的指标,第一个是利润总额本身不算
print(correlations.head(6))


LRZE       1.000000
YYSR       0.782726
YWFY       0.772832
YYCB       0.737736
YYSJJFJ    0.565440
ZCJZSS     0.238524
Name: LRZE, dtype: float64

任务 3.2

利用挑选的 5 个指标建立企业利润预测模型,运用建立的模型预
测“test.csv”表中给定企业的利润总额,并将预测结果以表格的形式在报告中呈
现。
在这里插入图片描述

df3[['YYSR','YWFY','YYCB','YYSJJFJ','ZCJZSS']] 


在这里插入图片描述

  
```bash
	TICKER_SYMBOL	LRZE
0	4953174			3.983941e+08
1	4961537			4.062123e+08
2	4962538			1.235635e+08
3	4968740			1.684884e+08
4	4973917			8.283722e+07
5	4978589			3.301489e+08
6	4978721			1.136986e+08
7	4986535			1.332788e+08
8	4990739			2.595591e+08
9	4990942			1.135440e+08

任务 3.3

“financial_data.csv”中包含一个“FLAG”字段用于标识财务数据造假(“1”表示财务造假)。请利用表 6 所列关键因子,对样本数据“financial_data.csv”进行分析,挖掘财务造假的识别特征。根据你们的分析,对“financial_data_new.csv”所列 5 个企业的财务数据进行筛查,识别其中唯一的1 个涉嫌财务造假企业,并在报告中描述分析方法与结果。

在这里插入图片描述


```bash
	TICKER_SYMBOL	FLAG
0	4992858			0
1	4993201			0
2	4998808			0
3	4897311			1
4	4999709			0

四、数据说明

赛题数据文件夹具体内容如下所示。
在这里插入图片描述

完整代码请私聊 博主

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/932192.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE5.5 Geometry库平面切割原理分析

平面切割--FMeshPlaneCut 平面定义: 面上一个点 法线 算法流程如下 求几何体所有顶点和面的有向距离(Signs) Sign计算&#xff1a; float Sign (VertexPos - PlaneOrigin).Dot(PlaneNormal); 遍历所有几何体所有交叉边, 进行SplitEdge 对于位于切割面两侧的交叉边(Sign…

【计算机学习笔记】GB2312、GBK、Unicode等字符编码的理解

之前编写win32程序时没怎么关注过宽字符到底是个啥东西&#xff0c;最近在编写网络框架又遇到字符相关的问题&#xff0c;所以写一篇文章记录一下&#xff08;有些部分属于个人理解&#xff0c;如果有错误欢迎指出&#xff09; 目录 几个常见的编码方式Unicode和UTF-8、UTF-16、…

CSS 快速上手

目录 一. CSS概念 二. CSS语法 1. 基本语法规范 2. CSS的三种引入方式 (1) 行内样式 (2) 内部样式表 (3) 外部样式表 3. CSS选择器 (1) 标签选择器 (2) 类选择器 (3) id选择器 (4) 通配符选择器 (5) 复合选择器 <1> 空格 <2> 没有空格 <3> &q…

【时间之外】IT人求职和创业应知【60】-卡脖子

目录 新闻一&#xff1a;达成合作&#xff0c;将在中国推出生成式人工智能服务 新闻二&#xff1a;机器人新赛道 新闻三&#xff1a;简化用户信息获取流程&#xff0c;提升小程序体验 去年人口出生下降&#xff0c;3年以后&#xff0c;幼儿园要关闭很多&#xff0c;6年以后小…

centos9升级OpenSSH

需求 Centos9系统升级OpenSSH和OpenSSL OpenSSH升级为openssh-9.8p1 OpenSSL默认为OpenSSL-3.2.2&#xff08;根据需求进行升级&#xff09; 将源码包编译为rpm包 查看OpenSSH和OpenSSL版本 ssh -V下载源码包并上传到服务器 openssh最新版本下载地址 wget https://cdn.openb…

node.js中实现GETPOST请求

创建基本的服务器 const express require(express); const indexRouter require(./router); // 引入路由 const app express(); const port 3000; // 挂载路由 app.use(/api, indexRouter); app.listen(port, () > {console.log(Server is running on http://localhost…

shell 条件测试

一、命令执行结果判定 && &#xff1a; 在命令执行后如果没有任何报错时会执行符号后面的动作 || &#xff1a; 在命令执行后有报错执行符号后的动作 [rootlong ~]# a10 [rootlong ~]# echo $a 10 [rootlong ~]# [ $a -gt "5" ] && echo yes || e…

JS中的原型链与继承

原型链的类比 JS中原型链&#xff0c;本质上就是对象之间的关系&#xff0c;通过protoype和[[Prototype]]属性建立起来的连接。这种链条是动态的&#xff0c;可以随时变更。 这个就跟C/C中通过指针建立的关系很相似&#xff0c;比如&#xff0c;通过指针建立一个链表&#xf…

【Linux网络编程】第七弹---构建类似XShell功能的TCP服务器:从TcpServer类到主程序的完整实现

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、TcpServer.hpp 1.1、TcpServer类基本结构 1.2、 Execute() 2、Command.hpp 2.1、Command类基本结构 …

C语言控制语句与案例

控制语句与案例 1. 选择结构 1.1 if 语句 if 语句用于根据条件执行不同的代码块。最基本的语法形式如下&#xff1a; // 单分支 if (条件) {// 条件为真时执行的代码 }// 双分支 if (条件) {// 条件为真时执行的代码 } else {// 条件为假时执行的代码 }// 多分支 if (条件1…

【分子材料发现】——GAP:催化过程中吸附构型的多模态语言和图学习(数据集处理详解)(二)

Multimodal Language and Graph Learning of Adsorption Configuration in Catalysis https://arxiv.org/abs/2401.07408Paper Data: https://doi.org/10.6084/m9.figshare.27208356.v2 1 Dataset CatBERTa训练的文本字符串输入来源于Open Catalyst 2020 &#xff08;OC20…

SpringBoot自动配置底层核心源码

SpringBoot底层核心源码 一、工程创建二、进一步改造三、自动配置 探究SpringBoot的自动配置原理&#xff0c;我们可以自己写一个启动类的注解。 一、工程创建 首先创建一个工程&#xff0c;工程目录如下&#xff1a; 自定义一个启动函数&#xff1a; package org.springboo…

【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之后端环境搭建

【Springboot3vue3】从零到一搭建Springboot3vue3前后端分离项目&#xff0c;整合knef4j和mybaits实现基础用户信息管理 后端环境搭建1.1 环境准备1.2 数据库表准备1.3 SpringBoot3项目创建1.4 MySql环境整合&#xff0c;使用druid连接池1.5 整合mybatis-plus1.5.1 引入mybatie…

【书生大模型实战营】Linux 基础知识-L0G1000

前言&#xff1a;书生大模型实战营是上海人工智能实验室开展的大模型系列实践活动&#xff0c;提供免费算力平台&#xff0c;学员通过闯关式任务&#xff0c;可获得免费算力和存储&#xff0c;助力项目实践。本期是第4期&#xff0c;时间从十一月份开始&#xff0c;持续到十二月…

JS进阶DAY3|事件(二)事件流

目录 一、事件流说明 1.1 事件流概念 1.2 事件捕获阶段 1.3 事件冒泡阶段 二、事件传播的两个阶段说明 2.1 事件捕获 2.2 事件冒泡 3.3 示例代码 三、阻止冒泡 四、事件解绑 4.1 removeEventListener方法 4.2 使用 DOM0 级事件属性 4.3 使用一次性事件监听器 一、…

【AI工具】强大的AI编辑器Cursor详细使用教程

目录 一、下载安装与注册 二、内置模型与配置 三、常用快捷键 四、项目开发与问答 五、注意事项与技巧 参考资料 近日&#xff0c;由四名麻省理工学院&#xff08;MIT&#xff09;本科生共同创立的Anysphere公司宣布&#xff0c;其开发的AI代码编辑器Cursor在成立短短两年…

【AWR软件】AWR 软件添加电磁结构

文章目录 前言步骤 前言 微波虚拟 实验 步骤 project -> add em struture -> new em structure 输入名称&#xff0c;create. 添加端口&#xff1a;add edge port

uni-app登录界面样式

非常简洁的登录、注册界面模板&#xff0c;使用uni-app编写&#xff0c;直接复制粘贴即可&#xff0c;无任何引用&#xff0c;全部公开。 废话不多说&#xff0c;代码如下&#xff1a; login.vue文件 <template><view class"screen"><view class"…

普通算法——一维前缀和

一维前缀和 题目链接&#xff1a;https://www.acwing.com/problem/content/797/ 题目描述&#xff1a; 输入一个长度为 n 的整数序列。接下来再输入 m 个询问&#xff0c;每个询问输入一对 l,r。对于每个询问&#xff0c;输出原序列中从第 l 个数到第 r 个数的和。 **什么是…

小程序项目的基本组成结构

分类介绍 项目根目录下的文件及文件夹 pages文件夹 用来存放所有小程序的页面&#xff0c;其中每个页面都由4个基本文件组成&#xff0c;它们分别是&#xff1a; .js文件&#xff1a;页面的脚本文件&#xff0c;用于存放页面的数据、事件处理函数等 .json文件&#xff1a;…