前面文章我们讨论了行情数据模块的开发,今天我们接着讨论交易模块和信息模块的开发。
因为一个完整的证券行情分析系统,不单只有行情数据模块,还有其他模块,我们如何组织其他模块呢。这里我们需要有一个唯一标识性的数据,能够在行情模块、交易模块、信息模块、以及其他模块互通,作为证券行情分析系统,交易标的是最好的标识,交易标的的唯一标识就是【市场+产品+代码】
class Commodity
{
char ExchangeID[]; // 市场ID
char ProductID[]; // 产品分类
char Code[]; // 商品代码
};
这样我们使用这个唯一表示在行情模块就知道我们要请求的是什么数据,在交易模块就知道交易什么商品,在信息模块就知道要获取什么商品信息;使用这个唯一标识,我们可以知道我们是在什么市场、什么产品下的什么商品。
一、交易模块
交易模块实际上不是很复杂,主要是实现主要几家交易柜台接口,然后和行情模块开发一样,统一交易数据对象,使用面向对象的设计思想处理各个交易柜台和交易商品的特殊性。
交易模块主要的数据对象有以下
交易市场信息,
交易产品信息,
交易商品信息,
用户证券账户信息、
用户持仓信息、
用户委托信息、
用户成交明细、
银行账户信息、
出入金明细、
二、信息模块
信息模块,就是以新闻、公告等形式为投资者提供投资决策依据,与行情模块起到互补作用。
消息模块,我们主要要做好消息的分类,并支持通过【市场+产品+代码】的形式获取消息,消息主要分一下几类
新闻,新闻有市场新闻、行业新闻、商品新闻、公司新闻
公告,公告有产品公告,商品公告
广告
信息模块的数据的开发难点在于服务器端的数据挖掘,App主要是根据业务需要,组织不同的信息。
小结,通过前面文章,和上面的交易模块和信息模块的分析,我们发现,行情模块是一个小的M-C模式,交易模块也是一个M-C模式,信息模块如果接入不同家的信息的话,也会是一个M-C模式,如果从证券行情分析系统的层面来看,它们都是M模块,所以我们还应该在这之上写一个C控制模块,以提供标准统一的访问接口。这样对于系统的可扩展性是有好处的,比如我们增加一个用户信息管理模块,就可以在这之下增加一个M-C模式的用户信息管理模块。