数据分析-FDDC2018金融算法挑战赛
比赛简介:用到的数据包括历史财务数据、宏观数据、行情数据、行业数据。预测内容为指定公司的二季度营收数据
比赛页面详情:FDDC2018金融算法挑战赛01-A股上市公司季度营收预测
如果下载不了的话可以去这里下载:天池数据集
今年还有一个比赛是:FDDC2018金融算法挑战赛02-A股上市公司公告信息抽取
数据文件预览(主要是FDDC_financial_data):(其他:pdf文件主要是介绍类,FDDC_financial_submit是提交的文件,FDDC_semi_annual_result和Market_data_instruction是半年度结果和行情数据介绍)
下载FDDC_financial_data,解压打开:
主要关注:
1. 宏观数据 Macro Industry :是指一系列宏观经济学的统计指标, 包括生产总值(GDP)、国民总收入(GNI)、劳动者报酬、消费水平等。宏观经济周期是影响周期性行业的关键因素之一,对上市公司的经营情况也有直接的影响。
2. 行业数据 Industry Data :行业数据可以指示某个行业的发展态势,上市公司都会有自己所在的行业,分析行业的发展趋势、所处阶段等可对上市公司经营情况做出大体的判断(如从汽车行业每月的销量数据中,可以看到行业的景气程度)。
3. 公司经营数据 Company Operation Data :一般为月度数据,代表特定公司主营业务月度的统计值,与公司营收密切相关,每个公司指标不一样。
4. 行情数据 Market Data :行情数据代表上市公司股票月度交易行情,主要包括价格、成交量、成交额、换手率等。
5. 资产负债表 Balance Sheet:代表一个公司的资产与负债及股东权益
6. 利润表 Income Statement:代表一个公司的利润来源,而净利润则直接影响资产负债表中股东权益的变化
7. 现金流量表 Cash Flow Statement:代表一个公司的现金流量,更代表资产负债表的变化。净利润经过“经营”、“投资”、“筹资”三项重要的现金变动转变为最终的现金变化
依次对每个数据文件进行分析(不懂的单词可以参考financial_terms.pdf):
注意:一个表格里可能有多个子表格
用pandas.read_excel读取数据,并查看head和describe,宏观经济和市场行情会对整个行业板块造成影响,但是我们初步选择:4. 行情数据 Market Data,5. 资产负债表 Balance Sheet,6. 利润表 Income Statement,7. 现金流量表 Cash Flow Statement四项数据,关注公司的经营状况和财务数据,这些是影响公司营收的关键。
除行情数据外,资产负债表、利润表和现金流量表各有三个子表格,分别为general Business,bank,Insurance,Security,分别代表:非金融上市公司、银行、保险、证券
—————————————————————————————————————————————————————————————————————————————————————————
数据预处理步骤:
1.剔除空值过多的列。
打开balance sheet表,查看dtypes和describe可以看到一共有73列,但是很多列几乎全是NAN,初步决定当某一列的空值大于20%时,整列剔除。因为要对多个dataframe做同样的操作,所以接下来的前处理步骤都会写成函数形式。
2.用PCA(主成分分析)进行数据降维
PCA的原理可以参考此文:PCA的数学原理
未完待续……