第一章 绪论
1.1 当前财务分析系统研究与应用状况分析
目前,国内外已出现一些帮助企业管理者做决策分析的企业智能财务分析专家系统,此类系统是将各个国家和国内外主要研究机构、咨询机构在实践中所使用的财务分析、经营评价和经营诊断技术汇集起来,然后通过科学提炼和实践检验过程,形成的自己的分析理论和分析方法。系统力图从经营管理者通过财务数据来把握企业的经营、管理和决策,确保企业长期、稳定、健康发展的角度出发,设计、定义、完善和解释了财务分析和经营诊断指标,试图充当企业经营者在企业的管理和发展上做决策时候的“智囊”。在华尔街上的投资银行长期以来都有专门从事投资标的做风险分析的专业人士,他们采用了各种投资数模和调研收集来的大量财务和经营状况数据对所投资公司财务进行详尽细致的分析,以图规避企业财务风险。一个上市公司的财务报表放映了一个公司的经营财务状况、盈利能力及现金流量。对于理性的投资者需要从财务报表中分析公司的经营效率及潜在的成长性,从而选出可投资的公司。在混沌中发展的中国资本市场上,我们常认为股价常被庄家所超纵,对于公司基本面的分析对与投资者的帮助甚微。在市场中股价操纵者往往以政策利好、重组预期、资本注入等等题材作为诱饵愚弄投资者。但是我们发现不管什么样的题材和利好无非都是传递一个信息:即公司业绩有提升的预期,从而公司价值被低估,股价将被拉升。可见公司的业绩的成长性才是公司股价上升的根本动力,而题材的只能促使股价的短期波动。在国内市场上流行着大量的炒股软件,这些软件大多数是基于股票的走势和成交量或成交金额等技术指标对股票的可投资性做出分析从而提供投资建议,而基于财务信息的分析软件较少。
……………
1.2 普通投资者应用财务分析状况分析
对于普通的投资者不可能像投行一样有时间和精力到上市公司做详细的调研,也不可能获得关于上市公司内部的财务状况信息资料。但可以从公开的上市公司财务报表中,提取财务信息做财务分析,以求对上市公司的经营状态有一定的了解。理性的投资者需要从上市公司的财务报表中提取财务信息,做严谨的财务分析,然后才做出投资决策。通过财务报表中的信息分析公司的经营效率及潜在的成长性,从而选出可投资的公司。对于 A 股的普通投资者在做财务分析时,需要知道在已经扩充到 2000 多只股票的市场中(而且还在不断扩充),从相同的行业中找到哪个上市公司的销售毛率最高,现金流最充裕,每股公积金最多等财务指标,因为这些放映了公司的盈利能力,管理能力,和扩张能力。通过逐个阅读上市公司的财务报表,和手工制图当然能够达到上诉目的,但这样做无疑要花费大量的时间和精力。做财务分析时每个投资者都希望能尽快找到影响投资决策的财务指标,并希望能够得到对所关注公司较专业的财务分析结果,希望能更直观快捷地观察公司历年财务指标的变化,以期在财务分析的帮助下做出明智的投资决策。
……………
第二章 系统功能分析
2.1 需求分析
在分析个股财务某项财务指标的时候,往往要和前期季度的同类指标做比较分析,以求能发现该指标的变化方向。对某项财务指标的变化情况能够直观地观察到。另外有时用户还关心个股历年的分红情况和扩股配股情况,投资机构对个股给出的投资评级。在临近公布业绩的时期,用户还希望能最快地知道上市公司的最新的业绩公告信息。这些信息在报表文件的年度分红表,投资评级表,和最新简要表中放映。用 UML 建模语言对用户对系统功能的操作进行描述,包括了系统设置、后台更新数据功能、个股的财务指标查询、个股的财务分析、后台进行行业均值的求取、及后台进行行业规则挖掘等。如下图 2-2。对于财务数据的提取及数据库更新,行业均值的求取,及数据挖掘的处理,对系统而言,都是为财务分析做数据准备工作,所以放置到后台运行,使用户始终能执行财务指标查询和财务分析操作。对于数据的更新操作,用户可以通过启动和停止操作掌控其运行状态 。系统对上市公司财务报表数据的更新操作,应该不影响用户对个股的查询和财务分析系统的运行,系统应该支持多任务运行。对上市公司的最新公布信息,如季报,年度分红,业绩预报,和增发等情况和新上市公司的情况,用户能尽快知道,系统对上市公司财务数据的更新应该保持较高的敏感度。
………………
2.2 系统体系结构
系统的体系结构按功能划分为五个子系统,分别是数据库存取系统、数据服务系统、财务分析系统、规则挖掘系统及表示系统。数据库存取系统管理数据库的数据的存取,数据服务系统负责向财务分析系统、规则挖掘系统及表示系统提供数据查询服务,财务分析系统、规则挖掘系统及表示系统担负系统功能的实现。各个子系统由包含其功能实现模块构成,如图 2-3。系统的体系结构设计基于可维护性的架构设计思想,按功能的不同将系统的实现任务分派给子系统完成,各个分系统具备较高的独立性,分系统与主干系统之间的数据信息与控制信息确保信息较少而具稳定性,主干系统的任务是调度和协调各个分系统之间的通信,不处于每个分系统的控制环路中,作为各个分系统的一个集中处理和应对策略的分析控制中心。这样的布局有利于保证各个分系统的独立性和稳定性。保证在某个子系统运行出现问题时,其余子系统仍然能够独立工作[6-123]。这样的系统要求把子系统的功能封装到模块中去,每个提供一组仅通过某个特定的接口与其他模块交互,保证了某个模块升级时对其它模块没有影响。在子系统的通信协作机制上采用层模式结构,按各个子系统的服务对象的不同分置于不同层中,每一层有独立的职责,使得较低的层负责完成低级和通用的服务,而较高的层负责完成系统的应用服务[6-123]。系统的层模式结构采用三层结构模式,分别是数据库存取服务层、数据服务层和应用层。子系统按层结构分类,数据库存取层即为数据库存取系统,数据服务层即数据服务系统,在应用层中包含有财务分析系统,表示系统和规则挖掘系统。数据库存取层与数据服务层之间通过定制的消息进行通信,数据服务层和应用层采用对象访问方式进行通信,层与层间保持低耦合关系。如图 2-4,带连线的箭头方向表示模块间数据的流向。
……………
第三章数据库设计.... 36
3.1 数据库概念结构设计 ........ 36
3.2 数据库逻辑结构设计 ........ 39
第四章 系统功能设计...... 40
4.1 类的设计 ..... 40
4.2 主要活动设计 ......... 41
第五章 系统模块功能实现.... 49
5.1 全局信息及模块通信 ........ 49
5.2 数据库服务对象 .... 57
5.2.1 消息接收处理 .... 57
5.2.2 SQL 语句构造处理......... 58
5.3 数据提取对象 ........ 60
5.4 条件查询服务对象 ...... 63
5.5 规则挖掘数据服务对象 .... 64
5.6 报表生成与图形显示对象 ...... 66
第五章 系统模块功能实现
5.1 全局信息及模块通信
全局信息模块定义了各模块都需要访问的数据对象的数据结构及模块间相互通讯的消息协议。主要包括:各模块通信消息、通信传递的信息包结构体、各表信息对象、财务信息提取执行时用到的比较关键字、财务指标名称的识别信息。财务报表文件中的表对象及其表项信息都用一个 ID 值对应,财务报表中的指标项名称随着财务制度的改革,指标名称的命名上会有更新,但意义不会更改,所以用 ID 命名每个财务指标项,以便于识别各个报表对象,和表中的财务指标项。公司报表文件以 txt 格式存放,在扫描公司报表文件时,需要在从文件中找到相应的关键字,以确定是什么类型的报表财务,以进行表信息对象的创建,和信息提取及存放到相应的表信息对象中。这些关键字一般是表的名称、表内的财务指标项名称、表格的表头、表尾字符、表中的分栏字符等。对于财务报表文件的格式一般情况下是不变的,除非新的财务制度推行财务报表格式或指标名称变更。
……………
结论
系统为普通的股票持有人提供一个上市公司的财务分析系统。在信息不对称的证劵市场里,普通投资者始终处于弱势地位,设计该软件的初衷是从普通投资的角度出发,以普通投资者能易得到的财务报表信息,以财务分析的角度为投资者分析公司报表,提供给投资者较合理的建议。在以财务分析方法进行报表数据的分析中,一方面个别上市公司的呈现给投资者报表难免缺乏真实性,另一方面财务分析单一的从数据作分析显得过于片面性,所以系统应用数据挖掘的方法发掘出公司所在行业的财务运营状况,在与公司自身的财务状况相比对的情况下为投资者给出综合的财务评估报告。系统的框架构造上采用三层模式,在子系统的通信上以消息方式进行。系统中的子系统有较好的封闭性。这种模块独立性为系统的扩展和功能扩充预留了空间,软件的体系结构的松散性是系统升级的必要保证。由于时间关系,尽管系统设计完成,但只完成了部分模块功能。另一方面现在的系统不能做到像专家系统一样智能,但在系统的分析方式上采用了近似专家系统的分析方法,比如推理方法的三段论的运用。一个专家系统所需要的知识规则是大量的,在推理方法上也更复杂,随着后续研究的深入,期望在系统的运行过程中不断积累行业运营规则和财务分析方法。逐渐使系统向构造专家系统方向转变。#p#分页标题#e#
……………
参考文献(略)