精华内容
下载资源
问答
  • 一步一步构建量化交易系统

    千次阅读 2019-07-12 09:34:59
    第一步:解决你的交易理念。 1.1 首先要解决的是你的交易理念,所以第一部分主要就是解决交易理念的问题,交易理念非常...1.3 如果你忽略了这一步直接开始构建系统,我可以预见你的失败。 1.4 一套能够盈利的交易...

    第一步:解决你的交易理念。

    1.1 首先要解决的是你的交易理念,所以第一部分主要就是解决交易理念的问题,交易理念非常非常重要,交易理念是摆在首位的。

    1.2 交易理念是决定你能否成功的关键!只要交易理念正确,无论你是量化交易者还是主观交易者都会成功,反之,无论你电脑技术多高超,仍然难逃失败的命运。

    1.3 如果你忽略了这一步直接开始构建系统,我可以预见你的失败。

    1.4 一套能够盈利的交易系统,优势(胜率、盈亏比)、一致性、资金管理(风险和心理)三点是必不可少的,好的开始是成功的一半。

     

    第二步:认清自己。

    2.1 人们善于去了解很多事物,但最难的是了解自己,你永远也无法知道你到底会给别人一种什么感觉。

    2.2 你也很难了解你自己更加适合哪种交易方式,长线还是短线,对浮盈回吐能否坦然接受等。

    2.3 “认清自己”对于一个新手而言不可能很轻易做到,你可以先确定一种交易方法,然后在实盘中去体会和认识自己,这是一个不断修正的过程。

    2.4 在这一步我唯一能够给你的建议是,在完全了解自己之前,轻仓操作。

     

    第三步:选择一个交易系统。

    3.1 交易系统的选择,最关键的原则是适合你自己。

    3.2 可以从均线和通道中选择,前面已经非常清楚的讨论了均线系统和通道系统的优势和劣势。

    3.3 如果你资金充裕,你当然也可以构多套系统,但我强烈建议你从一套系统入手,不要心急。

    3.4 先运行6个月到1年时间再考虑开发新的策略,因为你同时开发两套系统可能会出现全面崩溃的可能。

    3.5 交易系统要选择简单的系统,并且要明白不可能有圣杯系统的存在。

     

    第四步:代码化交易系统。

    4.1 交易系统选择之后,你需要将这个系统代码化。

    4.2 虽然具体代码化的过程是我无法教会你的,但是我可以向你保证,如果你愿意学,不需要两个星期你一定能够自己独立的应用代码去回测。

     

    第五步:优化参数。

    5.1任何一个系统,均涉及到参数问题。

    5.2 参数的优化要避免前视偏差、过度优化和曲线拟合的问题。

    5.3 选择的参数要能够在80%以上的品种上获利。

    5.4 参数不宜过大更不易过小。

    5.5 止损和止盈的条件也可看作参数,止损和止盈在条件允许的情况下,尽可能为同一标准。

    5.6 进场参数尽可能选择敏感的参数,出场的参数尽可能选择较大的参数。

    5.7 参数的优化必须要考虑胜率、盈亏比、频率、时效性四大问题。

    第六步:风险管理和资金管理。

    6.1 风险分为黑天鹅风险和账户回撤风险,前者靠轻仓和分散化投资解决,后者是重点。

    6.2 账户回撤分为浮盈回吐和本金回撤,两者本质不同。

    6.3 浮盈回吐不重要,但也可以采取多周期多策略对冲和减仓的方法来控制。

    6.4 本金回撤是最重要的风险,控制本金回撤的方法首先是确定每一次止损的风险,然后再根据历史数据反推开仓资金。

    6.5 收益和风险的关系是相互的,它们永不分离。

    6.6 根据账户历史资金曲线创新高的平均时间,决定追加资金策略以实现复利。

     

    第七步:实盘和调整。

    7.1 在系统构建完成之后,反复确认没有BUG和明显漏洞之后,就可以用小资金参与实盘了。

    7.2 量化交易是一个不断修正和调整的过程,没有一劳永逸的系统。

    7.3 要在干预和调整之间寻找一个平衡点。

    7.4 一个调整方案想好之后,不要立刻进行,通常等待1个月以上6个月之内去逐渐调整代码和规则。

    7.5 切勿朝令夕改交易规则和资金分配,我给自己定的一个规则是一年只有两次调整资金分配和规则的机会。

     

    第八步:耐心的等待。

    投资是一生的事业,记住:

    8.1 你永远承担不起一次破产风险。

    8.2 唯有复利可以引起资金量的质变,而复利需要时间。

    华尔街有一句名言,叫做“知者不言,言者不知”,这句话我并不敢苟同,因为我正是读了很多华尔街金融学家的著作,才形成了自己对交易的理解,最终建立起自己的交易系统,如果没有这些前辈们的倾囊相授,我是不可能在一个较短的时间了解到交易的本质,分享是一种美德。

    来源:七禾网

     推荐阅读:

    1.市面上经典的量化交易策略都在这里了!(源码)

    2.海龟交易法则策略,多读几遍少走10年路

    3.配对交易—这个股票策略曾年赚5000万美元

    4.揭开日内回转交易策略做“T+0”的面纱

    5.被动与主动的完美结合:指数增强策略的魅力

    6.网格交易法,一个不容易亏钱的投资策略(附源码)

    展开全文
  • 从无到有构建日交易额百亿级交易系统的日志系统,本课程从无到有带大家手把手实现改日志系统,从中大家可以学习到很多设计思想、编码技巧、高级的知识点,最终该系统是一个可用的高性能日志系统,商业价值极高。...
  • 从无到有构建日交易额百亿级交易系统的日志系统视频教程,改日志系统包含以下特性:双缓冲队列、多种刷盘机制,多种 RollingFile 机制,多日志级别,热加载,超轻量,性能保证,成功用于日交易额百亿级交易系统
  • 用 Java构建股指期货交易系统

    千次阅读 2012-06-12 09:32:58
    用 Java构建股指期货交易系统 Liu Hang (dalihang@hotmail.com )   未经作者许可,不得用于任何商业用途。转载请注明出处和作者 概要 本文主要介绍怎样使用 Java 相关技术构建一个股指期货交易系统...

    原文出处 http://daliliu.iteye.com/blog/610530


    用 Java构建股指期货交易系统

    Liu Hang (dalihang@hotmail.com )

     

    未经作者许可,不得用于任何商业用途。转载请注明出处和作者

    概要

    本文主要介绍怎样使用 Java 相关技术构建一个股指期货交易系统(金融期货)。主要内容包括股指期货交易系统简介,系统业务架构,系统规划要求和采用的技术架构及使用 Java 技术的优点。其中重点介绍使用 Java 相关技术实现的系统架构,关键技术包括 – JMS, SOA/Web Service, Appliction Server Cluster 等。本文为系统的概要描述,不会过多阐述具体设计。

    1 股指期货交易系统简介

    在本文中所提到的股指期货、期权交易系统,均指券商端的期货、期权交易系统。期货客户通过该交易系统连接到交易所撮合成交平台。系统提供客户下单,行情信息,资金结算和风险控制等功能。

    和股票交易系统类似,股指期货交易系统提供在线下单,行情查询等功能。和股票交易系统相比,期货、期权交易在业务上要求更复杂的风险控制和资金结算等功能。在技术架构上,由于交易的标的物是指数或期权、贵金属、全球市场等,市场行情数据变化更频繁、相比于股票市场,风险更大。对系统的实时性、稳定性要求更高。

    在现代期货、期权交易中,有相当多的投资者进行快速、频繁的交易,追求短期交易机会。对券商的交易系统要求能提供一定程度的程序化交易功能和灵活的交易方式。面对激烈的商业竞争,券商应该能够提供多样化的交易方式、快速推出新的交易模式以吸引更多的投资者。

    在整个金融期货交易系统的规划中,应当考虑到以下几点 –

    1) 交易系统应该提供一个统一的交易平台,以支持多种产品交易,包括金融期货、期权、本地和全球市场

    2) 系统应该支持多种交易渠道,包括可下载的交易客户端, WEB 交易、电话委托和客户代理委托等

    3) 系统规划应分开企业核心信息服务和外围应用系统,以支持持续丰富的外围应用系统

    4) 面对激烈的商业竞争和业务变革,要求系统支持快速开发、部署和持续的新功能发布。

    2 系统业务框架

    本章节主要介绍股指期货交易的业务框架,从高层次简介期货交易系统的功能。



     

    整个股指期货交易系统包括下面几个大的部分 –

    核心服务系统、券商内部运行维护系统、交易和行情借口、客户端交易终端系统等。

    • 核心服务系统

    提供股指期货系统的核心功能,包括订单处理,交易管理、行情服务、风险管理、基础数据服务、 Back Office 服务(Position 结算等)、数据中心(资金结算等)服务。这些功能以组件或服务的方式提供外部应用系统使用。

    • 运行维护系统

    运行服务系统为交易系统运行提供所有必要的操作支持,包括 Back Office 操作终端,风险管理 / 监控终端、 Data Center 操作终端、 Dealer/ 客户 Agent 交易终端等。 这些系统运行在券商的 LAN 之内,提供给券商的各类用户使用。

    • 统一交易、行情服务接口

    期货交易系统的核心业务服务提供给 WLAN 或其他渠道的用户使用,要通过一个统一的交易和行情服务接口,以面向服务( SOA )的方式和其他外部交易终端集成。

    • 交易终端

    交易终端通过统一交易、行情服务接口和核心系统交互。这些交易终端包括可下载的独立客户端、 WEB 页面客户端、电话客户端(通过语言模块转化)等。在技术架构章节,涉及的客户端为独立客户端。

    • 统一网关(交易、行情)

    核心服务通过统一的交易和行情网关连接到本地交易所和全球市场。

    3 技术方案规划

    基于核心交易系统的性质,在技术方案的规划时,需考虑以下因素 –

    • 高性能要求 ( Performance )

    相比于其他管理信息系统,期货交易系统要求更高的性能,包括行情数据的实时刷新,交易订单处理等。

    • 可扩充性要求 ( Scalability )

    股指期货交易系统通常支持较多的并发用户,且随着业务的发展,交易客户持续或快速增长,这要求系统有能力易于扩充以应付系统负载的增长。

    • 高稳定性要求 (Availability)

    系统稳定性对于交易系统的重要性不言而喻。系统有能力在整体架构上防止单点失败,能有一定程度上的故障恢复( Fail-over )的能力。

    • 与其他系统集成

    随着现在金融行业的快速发展和业务创新,交易系统也要求能和多个外部的系统包括第三方系统集成的能力,包括企业内部的客户管理系统( CRM ),交易所、银行等。

    • 支持快速开发和业务创新

    市场竞争也是时间的竞争,必然要求整个交易系统从规划、开发和部署要求能够在尽可能短的时间完成。另外,金融行业业务创新在不断加快,新的交易方式、测略不断出现,必然要求 IT 系统能够快速反映和支持这种变革。在技术选型时,必须考虑到技术方案能够满足这种要求。

    综上所述,使用的技术方案要能够解决上面的要求。目前,在期货、股票交易系统中,所采用的技术主要有两种 – C/C++ 和Java. 国内业界较多的采用 C/C++ 实现核心交易系统,本文主要阐述使用 Java 技术来实现整个交易核心和客户端。

    相比较 C/C++, Java 技术在满足交易系统要求时,有如下特征 –

    • 性能要求 ( Performance )

    与 C/C++ 技术相比,使用 Java 构建核心交易系统,性能问题可能是首要的考虑点。但随着 Java 和优化技术的发展,Java 的运行性能比早期有了大幅提高,已广泛用于服务器程序和实时应用。在另一方面,性能问题总是和具体要求相关联,只要满足系统的性能指标,使用 Java 应该是一个可行的选项。在笔者的项目实践中, Java 用来构建实时交易系统,配合合理的技术架构,完全能满足系统的性能要求。

    • 扩充性 ( Scalability )

    使用 Java 相关技术和中间件如 WebSphere, WebLogic 等,构建一个高并发性的应用系统有着相当成熟的行业实践,和快速实现的能力。

    • 稳定性要求 (Availability)

    相比较于 C 技术,借助于 Java 中间件软件,实现服务器应用的 Load balance 和 Fail-over 是一项相当便捷和成熟的技术。

    • 与其他系统集成

    Java/J2EE 是一个开放的技术标准,有着广泛的行业和开发社区支持,能够较快并易于和其他系统集成。

    • 支持快速开发和业务创新

    相比于 C/C++,Java 的快速开发能力显而易见。由于大量成熟的开源框架、基础组件的出现,在常见的企业系统开发中,使得 Java 的开发效率远远高于使用 C/C++ 技术,能够较快速的实现新的业务功能。

    综上所述, Java 技术能够全面满足期货交易系统的要求,由于借助于中间件技术解决 Load balance, Fail-over 等关键性问题,使得开发者更关注于业务的实现, 大大缩短了整个系统的开发时间和人力成本。同时 Java 语言的开发效率也使得新业务的创新能够在系统上得以快速实现。这些因素使得采用 Java 构建期货交易系统是一个可行和较好的选择。

    4 技术架构

    本章节主要介绍股指期货的技术架构, 从总体技术框架、运行物理环境等方面举个介绍。

    4.1 总体技术框架



     

    • 客户端

    客户端有两类应用程序,一类是基于 Swing 的 GUI Application 如可下载的交易客户端,数据维护终端等,另一类是 web based Application 如 web 页面交易应用等。

    对 GUI Applcition, 系统设计 GUI framework 帮助所有的 GUI application 开发。像对应于 Web Applciation, 可以采用主流的 Web MVC framework.

    对应 Internet 客户端 Application, 采用 web service 技术和服务器进行交互。对应订单消息、市场行情采用 Message 系统。

    • 服务器端

    服务器端的主要业务服务,采用 Web Service 方式发布,以供客户端调用。市场行情服务接受来自市场的信息 (Message Driven bean) ,进行解析后发送给客户端。

    具体的业务组件可使用 Spring Ioc 等框架技术。

    • 消息网关

    使用 Socket 或 API 调用的方式,接受来自市场的消息。进行处理后发送给消息中间件。

    • 数据存储

    数据存储可采用成熟的数据存储框架如 Hibernate 等。

    4.2 物理运行环境

    应用程序部署要考虑系统的 Load balance 和 Fail-over 等功能,利用 Application Server 和 Message Middleware 的cluster 功性去确保系统的稳定性和可扩充性。

    下图为物流运行环境示意图 -

     



    5 小结

    用 Java 开发分布式大型应用系统,技术相当成熟,利用基于服务、组件和成熟的开源框架和中间件服务器,能够快速构建大型的期货交易系统,并易于扩充和维护。

     

    后记 -

     

    期货交易系统是一个技术复杂的关键性系统, 本文并没有对一些具体的技术进行阐述,而这些正是系统的复杂性所在。比如怎样实现Swing GUI framework, 怎样实现Web Service,怎样实现App Server Cluster 和MQ Cluster以及安全性,和怎么样使用MQ进行交易状态更新等。另外对怎么样实现交易成交的具体流程,市场行情的broadcast具体实现,也没有详细阐述。这些属于具体的设计,设计到Java的多个方面,本文不打算具体阐述。有兴趣的,可以技术交流 - dalihang@hotmail.com

    展开全文
  • 如何构建自己的交易系统

    千次阅读 2016-10-24 00:04:24
    一个完整的交易系统需要决策:1.市场:买卖什么? 选股开盘价>=MA_21 & 涨跌幅>0% & 换手率>3% &流通市值亿 & 前20天的std()ascending排序 选前202.头寸规模:买卖多少? 怎么分配各只股票的仓位,是个需要研究的...
    一个完整的交易系统需要决策:
    
    1.市场:买卖什么? 选股
    
    开盘价>=MA_21 & 涨跌幅>0% & 换手率>3% &流通市值<=60亿 & 前20天的std()ascending排序 选前20
    
    2.头寸规模:买卖多少?
    怎么分配各只股票的仓位,是个需要研究的难题,目前有类似马克维茨的仓位分配法等,需要验证;
    
    3.入市:什么时候买卖?
    建仓:在选股基础上,分两天三个批次分批建仓,第一个突破点(价格高于昨日收盘价为第1个突破点)为第一次建仓;价格回落到上升趋势线附近为第二次建仓;隔天开盘价>昨天收盘价为第三次建仓;建仓到头寸规模上限;
    
    
    4.什么时候放弃一个亏损的头寸?
    止损特别重要,不会甩掉损失的交易者长期内不会成功。
    清仓策略有很多,哪个清仓策略有效还需要历史数据验证;
    清仓:一旦收盘价<MA_10日线,全部清仓;
    
    5.什么时候放弃一个盈利的头寸?
    清仓:一旦收盘价<MA_10日线,全部清仓;
    
    6.战术:怎么买卖?
    a.下单:买入,使用限价订单;卖出,不使用止损订单; b.急变市场-突然拉升:等待市价的逆转迹象出现,不在急剧拉升的途中买,否则容易买到高点;c.同步入市信号:对比多个市场同时发出入市信号,要高效快速行动;
    d.买强卖弱,选择最强的股票(市场)介入,强者恒强;
    
    以上6项需要长期不断的积累、研究,才能形成自己的系统,没有长期不断的勤奋分析、思考、研究、实战、总结积累,炒再多股票也不能成为优秀的投资投机者。要在这些分析上不断锤炼。
    展开全文
  • 网络研讨会中使用的文件 - 使用 MATLAB 进行自动交易系统开发于 2015 年 8 月 20 日播出。该网络研讨会可在http://www.mathworks.com/videos/search.html?q=automated+trading查看具体主题包括: *数据收集选项,...
  • 基于深度学习的人工智能交易系统构建。 1.1 简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性) 1.2 支持CNN和RNN,或二者的结合 1.3 支持任意的链接方案(包括多输入和多输出训练) 1.4 无缝CPU...
  • 用Java构建股指期货交易系统

    千次阅读 2010-03-08 17:32:00
    用Java构建股指期货交易系统 Liu Hang (dalihang@hotmail.com) 未经作者许可,不得用来任何商业用途,转载请注明出处和作者概要 本文主要介绍怎样使用Java相关技术构建一个股指期货交易系统(金融期货)。...

    Java构建股指期货交易系统

     

    Liu Hang (dalihang@hotmail.com)

     

    未经作者许可,不得用来任何商业用途,转载请注明出处和作者

    概要

     

    本文主要介绍怎样使用Java相关技术构建一个股指期货交易系统(金融期货)。主要内容包括股指期货交易系统简介,系统业务架构,系统规划要求和采用的技术架构及使用Java技术的优点。其中重点介绍使用Java相关技术实现的系统架构,关键技术包括 – JMS, SOA/Web Service, Appliction Server Cluster等。

     

     

    1         股指期货交易系统简介

     

    在本文中所提到的股指期货、期权交易系统,均指券商端的期货、期权交易系统。期货客户通过该交易系统连接到交易所撮合成交平台。系统提供客户下单,行情信息,资金结算和风险控制等功能。

     

    和股票交易系统类似,股指期货交易系统提供在线下单,行情查询等功能。和股票交易系统相比,期货、期权交易在业务上要求更复杂的风险控制和资金结算等功能。在技术架构上,由于交易的标的物是指数或期权、贵金属、全球市场等,市场行情数据变化更频繁、相比于股票市场,风险更大。对系统的实时性、稳定性要求更高。

     

    在现代期货、期权交易中,有相当多的投资者进行快速、频繁的交易,追求短期交易机会。对券商的交易系统要求能提供一定程度的程序化交易功能和灵活的交易方式。面对激烈的商业竞争,券商应该能够提供多样化的交易方式、快速推出新的交易模式以吸引更多的投资者。

     

    在整个金融期货交易系统的规划中,应当考虑到以下几点

     

    1)  交易系统应该提供一个统一的交易平台,以支持多种产品交易,包括金融期货、期权、本地和全球市场

     

    2)  系统应该支持多种交易渠道,包括可下载的交易客户端,WEB交易、电话委托和客户代理委托等

     

    3)  系统规划应分开企业核心信息服务和外围应用系统,以支持持续丰富的外围应用系统

     

    4)  面对激烈的商业竞争和业务变革,要求系统支持快速开发、部署和持续的新功能发布。

     

     

    2         系统业务框架

     

    本章节主要介绍股指期货交易的业务框架,从高层次简介期货交易系统的功能。

     

     

     

     

     

    整个股指期货交易系统包括下面几个大的部分

     

    核心服务系统、券商内部运行维护系统、交易和行情借口、客户端交易终端系统等。

     

     

    • 核心服务系统

     

    提供股指期货系统的核心功能,包括订单处理,交易管理、行情服务、风险管理、基础数据服务、Back Office服务(Position结算等)、数据中心(资金结算等)服务。这些功能以组件或服务的方式提供外部应用系统使用。

     

    • 运行维护系统

     

    运行服务系统为交易系统运行提供所有必要的操作支持,包括Back Office 操作终端,风险管理/监控终端、Data Center操作终端、Dealer/客户Agent交易终端等。 这些系统运行在券商的LAN 之内,提供给券商的各类用户使用。

     

    • 统一交易、行情服务接口

     

    期货交易系统的核心业务服务提供给WLAN或其他渠道的用户使用,要通过一个统一的交易和行情服务接口,以面向服务(SOA)的方式和其他外部交易终端集成。

     

    • 交易终端

     

    交易终端通过统一交易、行情服务接口和核心系统交互。这些交易终端包括可下载的独立客户端、WEB页面客户端、电话客户端(通过语言模块转化)等。在技术架构章节,涉及的客户端为独立客户端。

     

    • 统一网关(交易、行情)

     

    核心服务通过统一的交易和行情网关连接到本地交易所和全球市场。

     

               

    3         技术方案规划

     

    基于核心交易系统的性质,在技术方案的规划时,需考虑以下因素

     

    • 高性能要求 Performance

     

    相比于其他管理信息系统,期货交易系统要求更高的性能,包括行情数据的实时刷新,交易订单处理等。

     

    • 高并发性要求 Scaliability

     

    股指期货交易系统通常支持较多的并发用户,且随着业务的发展,交易客户持续或快速增长,这要求系统有能力易于扩充以应付系统负载的增长。

     

     

    • 高稳定性要求 (Availability)

     

    系统稳定性对于交易系统的重要性不言而喻。系统有能力在整体架构上防止单点失败,能有一定程度上的故障恢复(Fail-over)的能力。

     

    • 与其他系统集成

     

    随着现在金融行业的快速发展和业务创新,交易系统也要求能和多个外部的系统包括第三方系统集成的能力,包括企业内部的客户管理系统(CRM),交易所、银行等。

     

    • 支持快速开发和业务创新

     

    市场竞争也是时间的竞争,必然要求整个交易系统从规划、开发和部署要求能够在尽可能短的时间完成。另外,金融行业业务创新在不断加快,新的交易方式、测略不断出现,必然要求IT系统能够快速反映和支持这种变革。在技术选型时,必须考虑到技术方案能够满足这种要求。

     

    综上所述,使用的技术方案要能够解决上面的要求。目前,在期货、股票交易系统中,所采用的技术主要有两种   C/C++ Java. 国内业界较多的采用C/C++实现核心交易系统,本文主要阐述使用Java技术来实现整个交易核心和客户端。

     

    相比较C/C++, Java技术在满足交易系统要求时,有如下特征

     

    • 性能要求 Performance

     

    C/C++技术相比,使用Java构建核心交易系统,性能问题可能是首要的考虑点。但随着Java和优化技术的发展,Java的运行性能比早期有了大幅提高,已广泛用于服务器程序和实时应用。在另一方面,性能问题总是和具体要求相关联,只要满足系统的性能指标,使用Java应该是一个可行的选项。在笔者的项目实践中,Java用来构建实时交易系统,配合合理的技术架构,完全能满足系统的性能要求。

     

     

    • 并发性要求 Scaliability

     

    使用Java相关技术和中间件如WebSphere, WebLogic等,构建一个高并发性的应用系统有着相当成熟的行业实践,和快速实现的能力。

     

     

    • 稳定性要求 (Availability)

     

    相比较于C技术,借助于Java中间件软件,实现服务器应用的Load balance Fail-over是一项相当便捷和成熟的技术。

     

     

    • 与其他系统集成

     

    Java/J2EE是一个开放的技术标准,有着广泛的行业和开发社区支持,能够较快并易于和其他系统集成。

     

     

    • 支持快速开发和业务创新

     

    相比于C/C++,Java的快速开发能力显而易见。由于大量成熟的开源框架、基础组件的出现,在常见的企业系统开发中, 使得Java的开发效率远远高于使用C/C++技术,能够较快速的实现新的业务功能。

     

     

    综上所述,Java技术能够全面满足期货交易系统的要求,由于借助于中间件技术解决Load balance, Fail-over等关键性问题,使得开发者更关注于业务的实现, 大大缩短了整个系统的开发时间和人力成本。同时Java语言的开发效率也使得新业务的创新能够在系统上得以快速实现。这些因素使得采用Java构建期货交易系统是一个可行和较好的选择。

     

     

    4         技术架构

     

    本章节主要介绍股指期货的技术架构, 从总体技术框架、运行物理环境等方面举个介绍。

     

    4.1        总体技术框架

     

     

     

     

    • 客户端

     

    客户端有两类应用程序,一类是基于SwingGUI Application 如可下载的交易客户端,数据维护终端等,另一类是web based Applicationweb页面交易应用等。

     

    GUI Applcition, 系统设计GUI framework帮助所有的GUI application开发。像对应于Web Applciation,可以采用主流的Web MVC framework.

     

    对应Internet客户端Application, 采用web service技术和服务器进行交互。对应订单消息、市场行情采用Message系统。

     

    • 服务器端

     

    服务器端的主要业务服务,采用Web Service方式发布,以供客户端调用。市场行情服务接受来自市场的信息 (Message Driven bean),进行解析后发送给客户端。

     

    具体的业务组件可使用Spring  Ioc等框架技术。

     

    • 消息网关

     

    使用Socket API调用的方式,接受来自市场的消息。进行处理后发送给消息中间件。

     

    • 数据存储

     

    数据存储可采用成熟的数据存储框架如Hibernate等。

     

    4.2        物理运行环境

     

    应用程序部署要考虑系统的Load balance Fail-over等功能,利用Application ServerMessage Middleware cluster功性去确保系统的稳定性和可扩充性。

     

    下图为物流运行环境示意图-

     

     

     

    5         小结

     

    Java开发分布式大型应用系统,技术相当成熟,利用基于服务、组件和成熟的开源框架和中间件服务器,能够快速构建大型的期货交易系统,并易于扩充和维护。

    展开全文
  • 第四十九课 哪些人适合构建属于自己的交易系统.mp4
  • StrategyBuilder 定量交易策略构建系统
  • 构建区块链量化交易系统(一)

    千次阅读 2018-04-09 08:56:22
    本文结构,暂时分为,三个部分一,基础理论以及代码基础二,机器学习在上的基础应用(Tensorflow + Python去做)三,系统可靠性加固代码在https://github.com/hzm1313/yc,代码冗余了其他一些东西,后面会用JAVA...
  • 巨建华:火币网比特币交易系统构建实践 比特币作为一种数字货币,是目前互联网金融领域和极客圈最热门的话题,支撑比特币运行的除了比特币网络本身外,最关键的就是用于实现流通环节的比特币交易所。如何构建...
  • 机械交易系统,量化交易系统构建方面很好的参考书。 国外的经典专著
  • <br /> 1 股指期货交易系统简介  在本文中所提到的股指期货、期权交易系统,均指券商端的期货、期权交易系统。期货客户通过该交易系统连接到交易所撮合成交平台。系统提供客户下单,行情信息,资金结算...
  • 为了满足日益增长的银行和基金业务的需要,通过对PKI/CA体系和当前网上银行系统的研究,给出了一种甚于PKI/CA体系构建网上银行和基金公司在线交易系统的解决方案,实现了对数据签名和加密方式进行安全的传输,保证了...
  • 河北省中小企业公共服务平台网络服务交易推荐系统需求及构建.pdf
  • 程序化交易系统大全

    千次阅读 2013-05-09 15:44:45
    程序化交易系统大全 (收集了主流程序化交易系统) 一、趋势跟踪类 1、海龟交易系统 2、趋势线突破交易系统 3、波动性突破交易系统 4、通道突破交易系统 5、四周规则 6、NEWS交易系统 7、MACD交易系统 8、EMA交易...
  • 介绍什么是交易系统,教你建立自己的交易系统
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
  • Python 搭建量化交易系统

    千次阅读 2020-02-05 23:30:42
    没错,这种炼金炉在现实生活中其实是存在的,它叫做量化交易平台。 不过很多人对量化交易的理解也仅限于此,华尔街和对冲基金对他们而言是一个神秘的存在,他们自然也从没想过自己有一天能够亲自参与其中。其实,大...
  • Linux系统命令使用、了解如何安装Python库、安装kafka。 熟悉Linux基本操作、Pycharm的安装、Spark安装,Kafka安装,PyCharm安装。 环境搭建 Spark安装 至于如何安装好spark,我这里就不详细介绍了,请点击标题...
  • 多合一对手方联合节点构建... 允许您轻松构建具有所有必需组件的交易对手服务器, counterblock和/或柜台钱包系统。 使用Docker和Docker compose。 请参阅文档。 请发布任何/所有对develop的请求,而不是master 。
  • 行业分类-物理装置-交易调度引擎及其构建和调度方法以及系统、装置和介质.zip
  • 股指期货交易系统简介架构

    万次阅读 2012-11-11 22:31:32
    之前51cto曾报道过JAVA用TCP实现反向连接屏幕监视的实例,本文通过股指期货交易系统,分析使用Java相关技术实现的系统架构,以及Java技术的优势,其中的关键技术包括JMS,SOA/WebService,Appliction Server Cluster...
  • 构建电商产品交易物流保障模式.pdf
  • PART 一、 交易系统类经典书籍总汇 PART 二、 交易系统和程序化交易相关资料 PART 三、 顶尖交易员相关资料汇总 PART 四、 我之前已发的“交易系统”相关帖子标题及链接。 ...
  • 账务实时交易系统设计思考

    千次阅读 多人点赞 2018-06-21 09:58:09
    账务交易主要是指,在资金流发生的时候,需要根据资金的流入和流出情况,对涉及的账户金额进行增加和减少操作,更新资金的时候,同时需要生成相应的账单,以便后续查询和对账等使用。 提及账务交易,大家并不...
  • 【交易技术前沿】新一代证券交易系统应用架构的研究 上交所技术服务 今天 本文选自《交易技术前沿》总第三十八期文章(2020年3月) 陈镇光 丁一 / 国信证券股份有限公司 chenzguang@guosen.com.cn 摘要:随着国内外...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,666
精华内容 32,666
关键字:

如何构建交易系统