《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 证券交易模拟系统的设计
证券交易模拟系统的设计
王艳荣1,史希军2
1.内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010062;2.恒泰证券股份有限公司,内蒙古
摘要: 采用工程化设计方法,完成了证券交易模拟系统应用程序和数据库的开发,实现了对证券交易过程完全真实的模拟。实践证明,本系统运行状态良好,提高了投资者对于证券交易的研究分析和决策能力。
Abstract:
Key words :

摘 要: 采用工程化设计方法,完成了证券交易模拟系统应用程序和数据库的开发,实现了对证券交易过程完全真实的模拟。实践证明,本系统运行状态良好,提高了投资者对于证券交易的研究分析和决策能力。
关键词:模拟;证券交易;数据库

    随着证券市场的迅速发展,越来越多的人投身于证券市场。然而,很多进入证券市场的投资者具有一定的盲目性,尤其是2006年至2007年,随着证券市场牛市行情的发展,大量对证券市场一无所知或一知半解的投资者涌入证券市场。他们只看到了证券市场可能获得的较高利润,却忽视了证券市场存在的风险。为此,中国证监会也曾不止一次地让证券公司加强投资者风险教育,但由于大量的投资者对证券交易的规则不了解,对自己投资证券所承担的费用(如佣金、印花税等)不太清楚,且没有切身的投资获利或损失体验,风险教育往往达不到预期的效果。因此投资者需要一个仿真的环境去学习体验。同时,投资者也需要使用一些证券投资分析方法对证券进行选择,需要一个模拟交易环境来验证自己的分析方法,以提升投资分析能力。
    综上所述,证券公司需要建立一个证券交易模拟环境来满足投资者的需求,以达到为客户提供更好服务的目的。本系统采用Microsoft 公司的Visual FoxPro 6.0做为开发工具,完成了证券模拟交易系统应用程序和数据库的开发。在本系统中,模拟者能够完成与证券市场尽可能相同的实时性操作,如证券交易、资金查询、证券查询、盈亏分析、阶段性投资分析等功能;同时,如使用管理员身份登录本系统,除可查询普通模拟者的交易数据外,还具有开户、系统参数设置、交易参数设置、结息等功能。本系统的核心之一是证券买卖、资金变动、证券变动三者之间的联系,每一个表的修改都将联动地影响其他的表,当证券交易完成后,系统会自动地完成相关表的修改;本系统的另一核心是查询、盈亏分析、投资分析功能,通过对这些数据的查询,模拟者可清楚地得到自己在这段时间内的投资结果。
1 可行性分析及系统网络结构
    证券公司营业部的交易网络是一个相对特殊的网络,证券公司从交易所接收来的实时行情数据被存在一台有NOVELL操作系统的服务器上,客户端通过对NOVELL服务器的登录,完成对该服务器存放文件的共享访问。而交易所传来的实时行情文件,是以Visual FoxPro早期版本的表文件(DBF文件)格式存放,Visual FoxPro 6.0对此有较好的支持。同时由于Visual FoxPro 6.0对数据库的共享或独占访问有非常完善的机制,故非常适合这种以本地表文件(或通过目录映射访问文件服务器)为基础的程序开发。本系统的网络结构如图1所示。


2 系统功能模块划分
    为完成系统必备的功能,证券交易模拟系统由以下模块构成。
2.1 登录模块
    该系统设计了一个登录代码为“0000”的管理员,如模拟者以其代码登录,则出现的是该模拟者的模板操作界面。管理员的操作功能有:查询其他模拟者的资金流水、证券流水、资金证券余额、盈亏分析、排名情况等,同时还有系统设置、管理的一些功能。普通模拟者的操作功能有:证券买卖,查询自己的资金流水、证券流水、资金证券余额、盈亏分析、排名情况等。
    登录模块位于表单集中的一个单独表单,当模拟者登录时,由该模块完成用户密码校验,同时根据实时行情库生成快速查询表。
2.2 交易模块
    根据沪深交易所交易规则,建立如图2和图3所示交易流程图。


    该模块完成模拟交易的买入与卖出功能,同时,在输入证券代码的过程中,弹出证券快速查询框,可快速定位在交易的证券,当确定证券代码后,页面显示实时行情,同时显示可买数量、可卖数量等交易要素,方便操作。该模块不支持管理员身份登录。运行界面如图4所示。


    查询功能完成对模拟者指定条件内的资金流水和证券流水,以及截止查询时的余额、明细汇总、盈亏一览、获利排名等。如以管理员身份登录,可选择查询不同的模拟者,运行界面如图5所示。


2.3 综合分析模块
    该模块完成两项功能,一是资金明细汇总,可显示出模拟者开户以来的所有资金汇总项,如资金共存入、资金共取出、前台费支出,后台费用支出、利息、获利等项目;二是盈亏一览表,可显示出自开户以来各证券的交易盈利情况。运行界面如图6所示。


2.4 系统设置模块
  该模块完成对系统的综合设置,如行情库路径、交易数据存放路径、前后台费用设置以及开户、资金存取、结息等功能。本模块只有管理员有此权限。运行界面如图7所示。


2.5其他
    该模块完成修改密码、查询获利排名、重新登录等功能。运行界面如图8所示。


3 数据库设计
    综合系统功能模块划分,需设计客户表 (cust.dbf),该表用于存放模拟者的基本信息,包括开销户日期、状态、密码等,其结构如表1所示。


    另外还有用于存放资金流水的资金表 (fund.dbf),用于存放证券持仓的证券表 (stock.dbf),用于进行系统配置的配置表(config.dbf,sfk.dbf),用于界定交易类别与收费名称对应关系的交易类别表(jylbmc.dbf),用于计算某证券在交易周期内证券变动情况的证券变动表(stkchg.dbf)、由沪深交易所行情库生成、用于买卖时快速输入或选择证券代码的证券代码表(codename.dbf),以及一些用于查询或分析模拟者模拟交易情况的临时表。由于篇幅有限,以上表结构从略。
4 系统应用程序设计
  本系统由一个主程序、一个独立表单、一个表单集、一个图标文件组成。主程序(main.prg)用于设置系统环境、公共变量以及表单调用,程序如下:
    application.visible=.f.
    release all
    public jys_xz
    jys_xz=''
    do form code name mnrs2 linked
    read events
    do form mnrs name mnrs1 linked
    read events
    release events
    由于篇幅有限,对于生成证券快速查询表单(code)及表单集formset(mncg)程序说明从略,至此,证券交易模拟系统设计完成。经系统测试,能够满足预定性能,效果良好。
    本系统符合A股、基金等的交易规则,如T+1交割、费用收取规则等,可有效模拟出真实交易的情况,同时也有利于提高模拟者的证券投资水平。由于本系统设计为在证券公司使用,故在买卖交易时,证券价格是由系统自动从实时行情库中提取,从而能更好地避免了对价格的人为干预,提升了模拟交易的真实性。
    由于证券市场交易品种很多,每个交易品种交易规则不尽相同,故本次只选择了最为普遍的A股、基金等交易品种做为本次系统开发的重点。本系统不支持证券的分红送配等非实时交易性的功能。
参考文献
[1] Microsoft Corporation.Visual FoxPro 6.0中文版语言参考手册[M].北京:希望图书创作室,1998.
[2] 谭浩强.Visual FoxPro 数据库实用技术[M].北京:中国铁道出版社计算机图书中心,2007.
[3] 丁宝康.数据库原理[M].北京:经济科学出版社,2000.
[4]  陆丽娜.软件工程[M].北京:经济科学出版社,2000.

此内容为AET网站原创,未经授权禁止转载。