第8卷第3期 2010年7月 顺德职业技术学院学报 Journal of Shunde Polytechnic Vo1.8 NO.3 July 20l0 基于Access和Excel 的上市公司 财务报表分析系统的设计 关浩宇 (顺德职业技术学院经济管理学院,广东佛山 528333) 摘要:介绍了一个基于Access和Excel的上市公司财务报表分析系统的设计及实现。 通过数据获取、存储、处理的分离,实现了一个快速、灵活、拓展性强的分析工具.适 合财务工作者和中小投资者对上市公司财务报表数据进行收集和分析。 关键词:Access;Excel:上市公司:财务报表分析 中图分类号:F231.5 文献标志码:A 文章编号:1672—6138(2010)03—0022一o4 DOI:10.3969,'i.issn.1672—6138.2010.03.007 随着中国资本市场的发展,越来越多的投资者将股 等。另应提供足够的扩展性,以方便用户开发或连接附 加的功能模块,如财务报表预测、资产估值等。 机构投资者多数会投入专门的资源去构建自己的财 务报表分析系统。市场上也有一些成熟的财务报表分析 票市场作为一个重要的投资渠道。上市公司的数量、股 票市场的规模及中小投资者的数量也在不断地扩大。众 所周知,财务报表(资产负债表、利润表、现金流量 表)的分析是评估一个上市公司经营业绩好坏及内在价 值高低的一个非常重要的环节,能否快速而全面的分析 财报,已经成为影响投资业绩的一个重要因素。 本文将描述一个基于Access和Excel的上市公司财 务报表分析系统。通过这个系统,使用者把网上公布的 财务报表数据批量自动地导入后台Access数据库,利用 Excel作为前台分析工具,灵活地定义各类参数及财务 变量,自动化地批量生成各类财务分析图表。这给财务 系统可供使用,例如万德、宏汇等,但对大多数的中小 投资者而言,使用这些系统往往会有以下限制: (1) 成本很高,要付出不菲的账户注册费用;(2)功能受 限,使用不够灵活;(3)系统封闭,通过专有软件使 用,二次开发困难;(4)需要软件安装及实时连线; (5)数据不开放,用户只有数据的使用权,而在本地机 上没有数据的所有权。这些不足使得开发一个小型轻 便的财务报表分析系统成为一个很好的选择。 工作者及投资者提供了灵活快捷的分析工具。 基于以上灵活性和扩展性考虑,系统设计时采用分 层结构。把数据的获取、存储及处理分离,分别利用因 1 设计背景及思路 财务报表分析是通过对上市公司财务报表的有关数 据进行汇总、计算、对比,综合地分析和评价公司的财 务状况和经营成果。一般指通过对财务报表数据的处 特网获取财务报表,Access数据库存储数据,Excel处 理及输出报表,分层结构利于功能的拓展。同时在系统 内部提供给用户财务变量、报表结构、图表格式等多种 自定义手段,以达到使用上的灵活性。 理,构建财务指标变量,对企业的盈利能力、营运能 力、偿债能力等进行横向分析和纵向分析。 由于上市公司业务形态各异,投资者分析时关注点 也不同,财务分析的手段变化多样。良好的财务报表分 析系统必须给用户提供灵活的控制手段,用户应能够自 定义分析时间范围、财务指标、输出图表格式及顺序 2系统模块实现 整个系统由两个Excel文件 据导入、数据处理及 图表输出)及一个Access文件(财务报表数据库)构成, 使用时无需任何安装,只需把三个文件存放在同一文件 夹即可。整个系统的结构及数据处理流程如图1所示。 收稿日期:2010-06—06 作者简介:关浩字(1974一),男,广东南海人,助教,硕士,研究方向:企业信息化、供应链管理、证券投资。 第3期 关浩字:基于Access和Excel的上市公司财务报表分析系统的设计 图1系统处理流程 EndWith LinkURL=”http://money.ifnance.sina.COB.cn/corp/go. —2.1数据获取及存储 上市公司每年按季发布季报(包括半年报和年报), 在公司发布公告后,投资者可分别在上海证券交易所和 深圳证券交易所的网站下载其财务报告和财务报表。但 其文件格式为PDF文本形式,不能直接用于Excel处 理,而且对l 800余家上市公司逐个查找下载报表工作 量巨大,不适合于自动化批量处理。 php/’’+st+ ”/stockid/” +STKID +’ /ctrl/” +Yr+ —”/displaytype/4.phtml” If RPrr__rrype=”BS”Then WB_TB= ”””BalanceSheetNewTableO””” If R —Type=”PL”Then WBTB= 为方便投资者,一些主要的财经网站和门户网站提 ””“ProfitStatementNewTable0””” 供了免费的财报数据,如新浪财经频道、网易财经频 道、金融界等。上市公司的财务报表数据以固定网址及 If RPT_Type=”CF”Then WB_TB= ”””ProfitStatementNewTable0””” 固定格式的网页形式发布,方便批量下载处理。 本系统利用新浪财经频道上发布的数据,其网 Range(”AIO”1.Select With Selection.QueryTable .址有固定的格式,如上市公司000788(西南合成) 2009年的各季度的资产负债表数据,可通过以下网址 Connection=”URL;”&LinkURL .WebSelectionType=xlSpecifiedTables 获得:http://money.ifnance.sina.con.cn/corp/go.vFD— .php/BalanceSheet/stockid/000788/ctrl/2009/displaytype/4. WebFormatting xlWebFormattingNone WebTables:WBTB phtml。Excel数据导人模块通过VBA宏,循环股票代 码及报表年度,逐个构造相应网址,并利用Excel中的 .EndWith Exit Function “数据/导人外部数据/数据WEB查询功能”,将网页上 的数据导入Excel中,用ActiveX Data Objects(ADO)联接 Excel和Access,将数据输入Access数据库lll。 Access财报数据库由资产负债表、利润表和现金流 量表构成,分别为RPT_Bs,RPT_PL,RP1'_CF表。每张 数据表中的记录以股票代码sTK_ID及报表日期 RPT—读取网页数据的VBA宏代码如下: Function Web2Excel(STK_ID,RfyT’_Type,Yr) Range(”A 1 1:G89”1.ClearContents With Worksheets(Interface_Sheet_Name) If RPrr_.rvpe=”BS”Then st=”vFD—BalanceSheet” If RI)1r_Type=”PL”Then st=”vFD—ProfitStatement Date联合构成主键,各科目定义为数据库表的域, 具体科目可参照财政部(俭业会计准则——应用指南》田。 Access通过ADO组件和Excel联系,利用SQL语句完成 数据的插入、修改和查询。1 800余家上市公司截止 2010年一季度的全部数据记录共约58 000条,数据库 文件大小122M。数据库表的结构如图2所示。 If RPrr_.rvpe=”CF”Then st=”vFD—CashFlow” RPT BS 名称 STK_ID STK_Narae RPT_Date货币资金短期投资 应收票据 应收帐款预付帐款存货 TEXT(6)TEXT(10)TEXT(10)DOUBLE DaUBLE D0UBLE Y Y …股东权益 …D0UBLE 类型 D0UBLE D0UBLE D0【JBLE 名称 sTK一 。STK_Name RPT_Date麦 业务轰粟业务主曩 翥税砉 业务营业费用管理费用…净利润 类型主键 TEXT(6)TEXT(10)TEXT(10)DOUBLE DOUBLE DOUBLE Y Y DOUBLE DOUBLE DOUBLE …DOUBLE 名称 类型主键 Y 一 。 e RPT_Date霸墓 翁墓 鏊 现 DOUBLE DOUBLE DOUBLE Y 图2 数据库表结构 … 翕嚣 …DOUBLE TEXT(6)TEXT(10)TEXT(10)DOUBLE DOUBLE DOUBLE 顺德职业技术学院学报 第8卷 2.2 数据分析及图表输出 财务变量定义:利用财务报表模板中的财务科目 数据,用户可在此利用Excel函数公式自定义相关的财 务变量,如毛利率、ROE、资产周转率、每股盈利等各 种财务比例。和财务报表模板中的科目数据一起,作为 输出图表的数据源。 本模块由一个Excel文件构成,内含“用户接口”、 “财务报表模板”、“财务变量定义”、“单元图表定 义”、“系列图表定义”、“数据临时表”、“图表数据 表”、“股票基本数据”等Excel表,内含3 000行VBA 代码,用于完成科目定义、财务变量定义、图表定义、 数据库数据读取、数据匹配、数据计算、图表输出等功 能。以下为各表的作用: 用户接口:用于输入股票代码、分析范围、单元图 单元图表定义:定义单元图表中所要绘制的科目数 据或财务变量,确定图表的格式,并给每一个单元图表 指定单元图表号及名称。 系列图表定义:一个“系列图表”由多个“单元 表号、分析类型(可按年、单季、逐季)等参数。此接 图表”构成,用户在此定义一个系列图表包含的各单 口数据可由用户人工输入,也可以用VBA宏控制输入 元图表号及各单元图表的输出顺序,并指定系列图表 以实现批量化的处理(见图3)。 号及名称。 数据临时表:存放从Access报表数据库中抽取的 财务报表数据,作为数据库和分析模块的中介,利用 Excel中的VLOOKUP函数,通过“股票代码”+“报 告日期”+“科目”的匹配,给财务报表模板中的各 科目赋值。 图表数据表:通过程序循环,依次遍历分析范围 内的各季度,并拷贝财务报表模板和财务变量定义表中 的数据,放入图表数据表中,形成单元图表的数据源。 股票基本数据:存放各上市公司的名称、股本、上 市日期等基础数据。 图3用户接口 通过Excel宏的控制,三个报表数据从Access导 财务报表模板:定义内部使用的三张财务报表科目 出,进入分析及图表输出模块,并进行一系列的转换, 模板,各科目的数据通过“股票代码”+“报告日期”+ 具体数据流向如图4所示。数据在处理过程中,形成层 “科目”的匹配,利用Excel中的VLOOKUP函数,读取 次分明的结构(图5),给用户提供了灵活性。图6为内 存放在数据临时表中的财务报表数据。 部处理流程。 图4数据流向图 图5数据结构 24 第3期 关浩宇:基于Access和ExceI的上市公司财务报表分析系统的设计 采用了网页、数据库、EXCEL的三级分层结构;在使用 上提供给用户各种灵活的操控手段;在内部功能的设计 上采取了逐级分层的数据结构和处理手段。从而达到了 灵活性和拓展性的统一。用户可在本系统基础上进一步 开发更多的功能。 本系统具有以下特点: (1)快速:输出一个包含30个单元图表(平均每 个单元图表包含5个财务变量,25个季度)的系列图 表,用时在10秒内(CPU:Pentium T4200@2Ghz,RAM: 2G);(2)便捷:自动化,批量化的数据收集,数据分析 及图表输出;(3)灵活:提供给用户多个自定义手段,灵 活组织数据及图表;(4)方便:界面基于EXCEL用户熟 悉,无需培训;(5)可扩展性强:搭配上财务估值模块, 可以进行自动化的估值计算;(6)成本低:基于公开的数 据及广泛使用的Ofifce软件平台,无需额外付费。 4结束语 利用网页,数据库,电子表格的分层,本系统达到 图6数据处理流程 了财务报表数据的获取,存储,处理的分离。在分析处 理过程中,通过科目数据,财务变量,单元图表,系列 3功能特点分析 图表的逐步集成,提供给用户灵活的处理手段和良好的 利用本系统可对上市公司的财报数据作各种分析应 拓展基础,极大方便了财务工作者和中小投资者对上市 用[31,如: (1)财务比例历史趋势分析,发现公司经营 公司财务报表数据进行收集和分析。 业绩的变化及趋势; (2)经营指标分解,如杜邦图和 参考文献: 成本构成比例,通过图表可直观了解财务指标的构成及 【1】韩小良.Excel VBA+Access财务系统开发从基础到实践[M]. 趋势变化; (3)企业间指标比较,将几个企业的数据 北京:电子工业出版社,2006:35—60. 放在同一张图上比较经营绩效; (4)公司筛选,利用 [2]财政部.企业会计准则体系(2006):应用指南[EB/OL]. 存储在Access数据库中的数据,通过SQL语句筛选出 (2006—02—15)[2010—05—20].http://www.casc.gov.cn/kifg/200607 符合某些财务特征的候选公司。 /t20060703 337 1 30.htm. 相对于万德、宏汇等一体化的封闭性财报分析软 [3]张新民,钱爱民.财务报表分析【M].北京:中国人民大学出版 件,本系统在数据上采用了公开的数据来源;在结构上 社,2008:20—90. The Design of Listed Company Financial Statement Analysis System Based on Access and Excel GUAN Hao—y“ fSchool of Business Administration,Shunde Polytechnic,Foshan Guangdong 528333,China) Abstract:This paper introduces a financial statement analysis system based on Access&Excel for listed company.With the segregation of data acquisition,storage and processing,the investors can have a fast,flexible and extensible tool to collect and analyze the listed company financial statement data. Key words:Access;Excel;listed company;financial statement analysis 【责任编辑:钟艳华】