李国帅,资料内容取自2007年的记录。高度不够,认识有限内容,简单介绍聊做参考。

前言

听说《人类简史》不错,最近在看,自己读书比较慢,现在还没看完。不过里面说的人类最大的本事就是讲故事,这个观点对自己启发很大,这么多年来,怎么就如此后知后觉呢?

金融证券应该算是人类编的最复杂的故事之一了,这个故事让人欢喜让人愁,无形的手控制了千千万万的钱包,大故事咱讲不了,漂亮深入也不追求了,只能讲个自己知道的小细节。

本人在2005年到2007年做过一段时间证券软件,主要也是客户端。一晃十一年了,现在想来也不过一小段时间,当时没有写出来,现在也好像在热剩饭,讲些通俗的东西。

本篇文章主要分2部分:

1、客户端数据的来源和分类

2、客户端数据的展示

数据来源

要说证券数据的来源,那自然是千千万万参与到这个故事中的人,他们把钱投入到股票,基金,债券,期货,外汇以及各式各样的金融票据,这些信息通过政府或者财阀建立的金融票据交易机构,流向需要资金的人或机构并完成交易。投入资金的人可以获得利息或红利,当然这是有风险的,可能血本无归。

证券数据如何到达客户端_服务器

撇开交易系统不谈,这里仅仅谈交易信息的显示。

当证券信息到达证券交易中心之后,证券客户端软件要想获取,还需要若干路径,大体如下:

证券数据如何到达客户端_数据_02

基础服务:

1、建立同步服务器,从证券交易所拿到股票,基金,债券,期货,权证,外汇,指数等实时和历史信息,以及上市公司,基金公司,股东信息。

2、建立新闻咨讯服务器,对证券基本信息进行补充,为软件客户提供操作参考,属于公司自身服务内容的一部分。

3、提供技术分析,数据趋势分析等工具的后台支持。

数据服务器

证券软件需要为成千上万的客户端提供数据服务,因此直接访问同步服务器是低效和危险的行为,为了解决这个问题,需要建立多套数据服务器,分区域对客户端提供数据支持。

1、登录服务器:客户端查询服务器负载,选择负载最轻的服务器组,登录最合适的登录服务器。

2、初始化服务器:然后需要从初始化服务器获取基础信息,比如指数信息,上市公司信息,最近咨讯,和其他最常使用的数据,将这些信息进行格式化并压缩传输。

3、中转服务器:把常用证券数据放到中转服务器的内存中,提高数据访问的效率,为两种访问提供服务:webservice和长连接访问。

4、报价服务器:为实时信息的传递和交易提供支持。有时会同时设置一个延时报价服务器,对免费用户提供延迟15秒的在线行情。

咨询服务器

对咨询和简短低频数据的查询不需要建立长连接,使用webservice即可。

客户端可以使用丰富的界面对数据进行展示。低频数据可以是:新闻,视频和网页链接,交易信息,股东和企业信息等等。

数据分类

证券信息主要包括:股票,指数,基金,权证,期货,新闻及F10信息等。什么叫F10信息,那时候在PC上使用证券客户端查看证券信息的时候按F10会调出相关企业的基本面,财务报表,分红扩股,相关新闻,股东信息等,所以习惯上就把他们成为F10信息。

证券数据如何到达客户端_服务器_03

数据展示

这一节说明客户端拿到数据之后如何显示到界面,不谈技术细节,线下操作,仅仅从软件实现流程来说明,管窥一个方面。

1、从客户端角度基本上就是这几块。

证券数据如何到达客户端_数据_04

2、技术上说,基本技术点就是应用框架选择和设计,窗口消息调度,结构化数据缓存,网络通信。难点在于指数分析,烛图显示。

如果是VC,基本上可以选用MFC的文档视图结构,如果是其他语言或工具自己选用合适动框架。下面是一个MFC简要类图:

证券数据如何到达客户端_服务器_05

3、其他的,比如安全,高效方面的设计,配置与安装的设计还是需要的,线下的质量管理,讨论这个咱不了解。

后话

其实要想做一个成熟的软件,除了基本的东西,还有很多小东西来辅助,比如打印,咨询编辑工具,新闻检索,音视频服务,费用支付等等。

软件越大,需要的人力和功夫也就越多,单个的人能够参与其中做个螺丝钉已经很幸运,能够参与到高效团队的人更是幸运。

工作这么多年来,也是明白,软件是个有头没尾的工作,结果无非两个,要么软件放弃了你,要么你放弃了软件。

祝大家新年好运!