FICC 交易通系统
使用的主要技术:
1. 采用 Dubbox+SSM(Spring+SpringMVC+Mybatis)搭建分布式应用。
2. 系统界面设计使用的是 easyUI 框架技术,页面传值使用标签技术及 Ajax 等。
3. 登录模块使用 CAS 与 SpringSecurity 组合技术,实现多节点的登录和验证功能,加密使用 MD5 算法。
4. 使用 Spring 声明式事务管理事务,连接池采用 C3P0、事务管理器为 DataSourceTransactionManager。
5. 使用 Mysql 数据库,存储引擎选择默认的 InnoDB 引擎。采用 Mycat 进行数据库分库分表操作。
6. 采用 SpringDataRedis 的 Zset 数据结构存储牌价信息。使用“心跳检测”技术监控牌价信息。
7. Spring 整合消息中间件 Kafka 进行数据价格的接收、询价和报价等,并对消息进行 JDBC 持久化操作。
8. 搭建 Nginx 集群环境,配置负载均衡与反向代理,保证项目在高并发下能够正常运行。
功能模块描述:
1. 牌价模块:实时接收市场牌价,对放入缓存的牌价进行超时检测并通知用户,并根据市场推送的“标准期限” 价格,通过“两点式方程”算法计算非标准期限的价格等;
2. 外汇模块:根据实盘价格,发起即、远、掉签约交易。根据客户等级与金额取对应升贴水和授信,当为询价交 易时,需要通过消息总线向报价引擎询价。交易落地时需向核心发送账务信息,并对发送失败的账务信息进行 晚间批量发送。同时将交易信息异步发送 Murex 系统,价格需要进行拆分。对保证金和授信进行释放等;
3. 外汇存续期模块:对交易的远、掉交易进行特殊事件处理,根据客户需求可进行违约、提前交割、原价展期、 市价展期、强平、宽限等特殊处理。
4. 保证金与授信模块:实现部分与整体的增补与释放,以及根据保证金金额和风险因子进行估值与套查功能。
5. 账务模块:对所有的签约及特殊交易事件配置账务规则,根据客户号、机构、货币对等要素组装账务明细。对 金额的正确性要求极高,此模块不断进行代码走查、优化和重构,是系统最核心的模块。
6. 统计模块:统计未交割金额、已反平金额、展期金额、交割金额、损益金额等根据客户、机构进行结算。