【浙商银行FICC·量化】浅谈程序化交易的系统设计

【浙商银行FICC·量化】浅谈程序化交易的系统设计###

一、程序化交易的定义

程序化交易是指使用计算机程序根据预设的算法模型自动执行买卖指令的交易方式。其核心在于通过计算机程序和算法模型,自动执行交易指令。程序化交易能够提高交易速度、减少人为错误、实现高频交易和复杂策略的执行。通过自动化和系统化的手段,程序化交易使得交易过程更加高效和精准。

二、程序化交易的执行过程

程序化交易的执行是一个循环往复的过程,可以分为四个阶段:

阶段一:接收交易信号

交易信号的来源有多种形式:①交易员手工输入;②外部系统产生后输入;③包含在程序化交易系统中,由交易员预设的策略模型产生后输入。无论采用哪种方式输入,其目的是通知程序化交易系统当前需要做什么交易,由程序化交易系统接收后进行下一步的处理。

阶段二:交易指令的产生

当程序化交易系统收到一个交易信号时,首先根据信号中的交易要素将信号转换为原始的交易指令。接着,算法模型依据当前的市场数据、之前交易的交易结果以及其他的数据按照既定的交易指令生成逻辑生成对应的交易指令。一个交易信号最终可能会生成多笔交易指令。

阶段三:事前风控

事前风控是对第一阶段产生的交易指令进行各项必要的检查,防止出现交易风险的过程。通常是由风险控制参数、风险控制逻辑等组成。风控逻辑依据当前的市场环境、提前设置好的风险控制参数校验交易中的各项要素,判断交易指令是不是可以在风险可控的前提下发送到市场中。如果判断结果为交易指令存在风险,则自动撤销该笔交易指令,不让该笔交易指令进入到市场中。如果判断结果为交易指令风险可控,则将该笔交易指令发送至市场中。

阶段四:数据反馈

数据反馈包含了交易指令进入市场后执行的结果、当前的市场环境以及其他的市场数据等。当前的市场环境和其他的市场数据是由交易的市场产生后自动反馈。交易指令的执行结果则是当交易指令被执行了才会由市场反馈。有了这些反馈后,交易的执行过程就进入了下一轮从阶段一至阶段四的循环了。

三、程序化交易的系统设计 1、设计思路

程序化交易系统从层次上来划分大致可分为四层:

1)交易执行

交易执行主要由固化的算法模型组成。固化的算法模型是将交易信号通过计算机程序的方式转换为交易指令的一个个执行程序,在程序化交易系统中,通常以模块、可执行程序的形式存在系统中,用于执行固定不变的交易逻辑。当系统收到交易信号时,程序化交易系统装载/调用这一个个执行程序,使其运行起来执行交易指令生成的逻辑。执行交易指令生成逻辑时,通常需要使用到下一层“公共组件”中的市场数据处理引擎推送的市场数据和之前的交易结果数据。

2)公共组件

这层主要是用来统一处理接入的市场数据、管理系统内的所有已产生的交易结果和已生成的交易指令,是系统内公用的组件。

市场数据处理引擎负责处理筛选、清洗市场数据等工作,再将处理后的市场数据分发、推送给需要的固化算法模型。

交易指令管理用于接收市场反馈的交易指令状态跟踪、维护系统内所有交易指令的生命周期。

交易结果管理接收市场反馈的交易指令执行的结果,按不同的的维度对量、成本等交易要素进行汇总。

3)事前风控

在订单产生后发送给市场之前,依据系统内当前的订单簿、持仓量、市场数以及事前设置好的风险控制参数,以一定的风险控制逻辑对订单中的各项交易要素分别进行必要的检查,判断该笔订单是否可以发送给市场。只有在所有检查都通过后,才把该订单发送给市场。其中,风险控制参数可以通过风控端随时进行调整。

4)API接口

API接口由市场内的交易所、交易对手提供,用于通过以程序的方式接入市场参与交易。API接口通常分为两类,一类用于发送交易指令、接收交易指令执行的结果;另一类用于接收市场数据。

2、实现需关注的点 1)单节点还是多节点

整个系统可以被实现为单节点,也可以把某些层单独实现作为一个节点实现,节点与节点之间通过网络进行交互。但这两种实现的方式都有利有弊:

单节点实现方式:无节点之间的交互损耗,但是单节点受资源限制无法进行横向拓展。

多节点实现方式:可将不同的组件的实现分散在多个节点上,通过节点间的交互可实现横向拓展,但增加了系统内的损耗,无形中降低了报撤单的速度。

采用单节点还是多节点的实现方式还是得考虑算法模型的偏好以及运行的算法模型的数量等因素。如果算法模型对报撤单速度较为敏感或算法模型同时运行的数量并不多,采用单节点的实现方式更为有利。反之,如果算法模型同时运行的数量会很多或报撤单速度并不十分敏感,可采用多节点的方式实现。如果两者皆有,可以考虑将部分的层以单节点方式实现,部分的层分散到不同节点的实现方式,以平衡资源与性能之间矛盾。

2)报撤交易指令的速度

在程序化交易中,报送交易指令和撤消交易指令的速度在某些交易场景下至关重要,因为它直接影响到交易的执行效果和风险控制。可以从以下几个方面入手考虑影响报送交易指令速度的点:

一笔交易指令从生成到进入市场,再从市场反馈回到系统继续处理执行结果通常会经历上图所示的一系列处理环节。这些环节涉及到:

1)每个环节自身的处理速度,是否有数据同步等这类延迟较高操作;

2)环节间的数据传递速度可能受到序列化、数据传递技术的影响。如果两个环节不在同一节点上,还需考虑网络带来的影响;

3)实时数据持久化带来的延迟;

针对上述这些可能出现影响点,可以考虑以下采用以下一些方式来解决:

1)设计适合以小颗粒度进行数据同步的数据结构,降低数据同步的延迟;

2)采用高效的序列化技术,减少序列化和反序列化时间;

3)使用低延迟的网络线路及设备,降低网络的延迟;

4)通过使用内存+数据持久化相结合、异步处理数据持久化的方式,降低持久化带来的延迟;

撤销交易指令与报送交易指令类似,也需要经过同样的交易路径,只是撤销指令在每个环节的处理过程中,相较报送交易指令逻辑可能略简单一些。

3)算法模型的计算速度

复杂算法模型的计算速度可能受限于对依赖的大量数据的处理或算法本身的复杂性,也有可能是两者皆有。算法模型计算的速度在对时效性要求较高的交易场景中会直接影响到是否能把握住市场机会。这里引出了两个需要关注的点:

1)如何快速读取大量的依赖数据

在对依赖数据进行处理之前,首先得从持久化的数据中读取出需要的数据。数据读取的速度直接受到I/O、网络、数据量的大小等因素的影响。读取的数据量越大受到的影响就越大,反之亦然。如果想要降低读取的数据量,那首先要考虑在对数据做持久化的时候缩小数据的体积。缩小数据的体积可以采用对数据进行压缩与编码、高效的序列化技术实现。持久化时保存缩小体积后的数据,在读取数据出数据后,对数据进行反向操作就可以获得需要的数据了。通过缩小数据体积的方式可以获得降低整体读取延迟的效果。

2)怎么提高算法模型的计算速度

在处理算法模型时,提高计算速度的一个关键方法是利用并行计算。并行计算通过将任务分解成多个独立的子任务,利用多核处理器、分布式计算资源、GPU同时处理,从而加速计算过程。对于涉及大量历史数据分析、实时市场数据处理、投资组合涉及大量的变量和约束条件等的算法模型来讲,适当的采用并行计算,将计算的过程拆解成可以同时计算的多个子任务进行处理,可以有效的提高算法模型的计算速度。

四、程序化交易的系统设计案例

考虑一个在程序化交易系统的设计过程中经常会遇到的简单交易场景:

1)一个交易组合需要跨越不同的市场,在不同的市场进行交易;

2)生成期货交易指令时,需要考虑当前的持仓量,且不同的类型的持仓在平仓时区分优先级;

3)多个期货交易指令间可能存在自成交;

4)交易组合的敞口不能超过指定的敞口;

假设上述交易场景中的不同市场为:上海期货交易所和境外市场,交易的合约为黄金期货合约和境外XAU/USD的交易,现需要设计一个满足上述交易场景的程序化交易系统。

按照本文上述的“设计思路”,首先需要设计的是“交易执行”,即将交易信号转换为交易指令的算法模块。从对上述交易场景的描述中可知,需要在设计算法模块时将期货持仓对期货交易指令的影响和期货交易指令的自成交两个场景进行处理。其中,①期货持仓对交易期货指令的影响的依据是“公共组件”中的已完成的期货交易指令的最终“交易结果”,即市场反馈的期货交易指令执行结果,通过对期货交易指令执行结果的实时汇总,可以获得产生期货交易指令时当前的期货持仓量和期货不同类型的持仓。当产生期货交易指令是需要平仓时,判断优先平仓的期货持仓类型的持仓量是否满足期货需要交易的量,如在满足的情况,可直接生成一笔期货交易指令,如不满足,则需要将需要平仓的期货交易量拆分到多个期货交易指令中,每个指令执行的是平不同类型的持仓,所有期货交易指令中的平仓量总和为期货需要交易的量;②期货交易指令的自成交依据的是“公共组件”中的当前生命周期暂未结束的期货“交易指令”,通过将这些交易指令按交易方向、交易价格构建成一个订单簿,即可判断出该笔期货交易指令的价格是与当前订单簿中的期货交易指令存在自称交易的可能。至此,上述交易场中与期货交易指令相关的部分即可满足。

在“交易执行”生成完交易指令后就进入了下一个“事前风控”的环节,事前风控在设计上需要满足:①可以设置该种交易组合的敞口参数,且即时生效;②对交易信号转换后的全部交易指令作为一个整体进行检查。检查的依据是公共组件”中已完成的与该交易组合中牵涉到的合约交易指令的最终“交易结果”汇总后形成的敞口。只有在全部交易指令作为一个整体在当前设置的敞口参数下检查通过,才能传递给下一环节的“API接口”。

“API接口”在上述场景中至少会涉及到两个,一个是接入上海期货交易所的接口,可以采用直接用交易所提供的API接入,也可以采用CTP等市场主流的接口接入;另外一个是接入境外交易市场的交易接口,通常是FIX协议。这两套接口在系统中需要分别实现。

五、小结

本文简要探讨了程序化交易系统设计的一些思路,主要涵盖了作者对程序化交易基本概念的理解、交易执行过程的描述、设计思路的阐述以及设计过程中常见的挑战和考虑因素。希望通过本文,能够为读者在程序化交易系统设计方面提供一些参考意见。

来源: 同花顺财经
本文观点不代表积木财经立场,不承担法律责任,文章及观点也不构成任何投资意见。
免责声明:
1、本站部分内容系网友投稿或编辑转载,并不代表本网赞同其观点和对其真实性负责。
2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。
3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接!
※ 有关作品版权事宜请联系客服

(9)

相关推荐

  • 一汽红旗加入宁德时代“换电联盟”

    【一汽红旗加入宁德时代“换电联盟”】一汽红旗官微发文称,一汽红旗汽车销售有限公司、宁德时代新能源科技股份有限公司以及时代电服科技有限公司共同宣布,三方已正式签署换电项目合作框架协议,三方将在换电领域展开深度合作,共同推动新能源汽车行业的创新发展。根据协议内容,三方将充分整合各自在新能源领域的技术专长与市场资源,全面覆盖红旗品牌巧克力换电车型的市场推广、换电服务以及换电电池的高效运营等核心业务。

    2024年12月14日 16点56分
  • 赵辰昕:推动标志性改革举措落地见效

    【赵辰昕:推动标志性改革举措落地见效】在今天中国国际经济交流中心举行的2024—2025中国经济年会上,国家发展改革委副主任赵辰昕表示,2025年要全方位扩大国内需求,推动标志性改革举措落地见效。

    2024年12月14日 16点52分
  • 赵辰昕:推动标志性改革举措落地见效

    【赵辰昕:推动标志性改革举措落地见效】在今天中国国际经济交流中心举行的2024—2025中国经济年会上,国家发展改革委副主任赵辰昕表示,2025年要全方位扩大国内需求,推动标志性改革举措落地见效。

    2024年12月14日 16点52分
  • 韩国国会议长禹元植批准尹锡悦总统弹劾案正本、副本

    【韩国国会议长禹元植批准尹锡悦总统弹劾案正本、副本】韩国国会议长禹元植批准尹锡悦总统弹劾案正本、副本,即将转达至总统办公室和宪法法院。

    2024年12月14日 16点36分
  • 继霸王茶姬后 茶颜悦色也传将要赴美上市 回应了

    【继霸王茶姬后 茶颜悦色也传将要赴美上市 回应了】12月13日,彭博社报道称,有知情人士透露,茶颜悦色正在筹划上市,上市地点从港股转向了美股,最早可能于2025年在美国上市,不过具体的上市时间取决于中国监管机构的批准。对此,12月14日,茶颜悦色相关负责人回应南都湾财社记者称,“暂时没有从公司收到这个信息”。

    2024年12月14日 16点02分
  • 韩国国会通过总统弹劾案 尹锡悦职务立即停止

    【韩国国会通过尹锡悦总统弹劾案】韩国国会当地时间14日16时举行全体会议,就在野党阵营第二次提出的尹锡悦总统弹劾案进行表决。根据投票结果,弹劾案最终获得通过,尹锡悦的总统职务立即停止。

    2024年12月14日 16点01分
  • 特朗普团队据悉寻求废除自动驾驶车辆事故报告要求

    【特朗普团队据悉寻求废除自动驾驶车辆事故报告要求】12月14日消息,文件显示,特朗普过渡团队希望即将上任的美国政府取消一项车祸报告要求,此举可能削弱政府调查和监管自动驾驶系统车辆安全的能力。这一报告要求也是马斯克的特斯拉公司反对的。

    2024年12月14日 16点09分
  • 韩国国会通过尹锡悦总统弹劾案

    【韩国国会通过尹锡悦总统弹劾案】韩国国会当地时间14日16时举行全体会议,就在野党阵营第二次提出的尹锡悦总统弹劾案进行表决。根据投票结果,弹劾案最终获得通过,尹锡悦的总统职务立即停止。

    2024年12月14日 16点01分
  • 韩国国会300名议员全体参加了尹锡悦弹劾案投票

    【韩国国会300名议员全体参加了尹锡悦弹劾案投票】当地时间14日,韩国国会300名议员全体参加了尹锡悦弹劾案投票。

    2024年12月14日 15点54分
  • 2024年新增市场昇思份额或已达30%

    【2024年新增市场昇思份额或已达30%】12月14日,在昇思人工智能框架峰会上,中国科学院科技战略咨询研究院预测,中国AI框架2024年新增市场昇思份额将达30%,18家单位发布基于昇思的原生开发大模型成果。昇思是由华为推出的新一代全场景AI框架,于2020年正式开源。目前昇思已孵化、支持50多个国内外主流大模型,开源版本已累计获得1100万次下载,覆盖全球130多个国家和地区的2400多个城市。

    2024年12月14日 15点48分
  • 韩国执政党决定反对尹锡悦弹劾动议案 但不会抵制投票

    【韩国执政党决定反对尹锡悦弹劾动议案 但不会抵制投票】就第二次总统尹锡悦弹劾动议案进行表决。韩国执政党决定反对尹锡悦弹劾动议案,但不会抵制投票。本月7日,韩国国会曾对弹劾总统尹锡悦动议案进行投票表决,因参加投票的议员人数不足,该动议案未获通过。按照相关程序,弹劾案要在国会通过,需要300个议席中获得至少三分之二议员支持,即200张赞成票。

    2024年12月14日 15点34分
  • 前11个月我国实际使用外资7497亿元

    【前11个月我国实际使用外资7497亿元】商务部14日发布数据显示,今年1至11月,全国实际使用外资金额7497亿元,同比下降27.9%,降幅较1至10月收窄1.9个百分点,为连续第三个月降幅收窄。11月当月实际使用外资金额同比增长6%。

    2024年12月14日 15点34分
  • 韩国反对党领袖:总统尹锡悦无法履行职责 如果弹劾法案再次失败国家将无法修复

    韩国反对党领袖表示,总统尹锡悦无法履行职责,立即暂停尹锡悦的职务是为了人民和国家,如果弹劾法案再次失败,国家将无法修复。

    2024年12月14日 15点27分
  • 韩文秀:要综合整治“内卷式”竞争

    【韩文秀:要综合整治“内卷式”竞争】在今天中国国际经济交流中心举行的2024—2025中国经济年会上,中央财经委员会办公室副主任、中央农村工作领导小组办公室主任韩文秀表示,要以科技创新引领新质生产力发展,建设现代化产业体系,要综合整治“内卷式”竞争,促进“新三样”等优势产业长期持续健康发展。

    2024年12月14日 15点25分
  • 小鹏汇天:2026年有望让“先飞码”用户“飞起来”

    【小鹏汇天:2026年有望让“先飞码”用户“飞起来”】小鹏汇天创始人、总裁赵德力12月14日在上海表示,预计在2025年第三季度,小鹏汇天飞行汽车量产工厂竣工;飞行汽车预计在2025年10月末取得中国民航的型号合格证,2026年有望让“先飞码”用户“飞起来”。

    2024年12月14日 14点57分
  • OpenAI前首席科学家苏茨克维:具有推理能力的人工智能将难以预测

    【OpenAI前首席科学家苏茨克维:具有推理能力的人工智能将难以预测】OpenAI联合创始人、前首席科学家伊尔亚·苏茨克维当地时间12月13日在温哥华的神经信息处理系统大会(NeurIPS)上表示,堆算力的“预训练”时代毫无疑问将会结束,未来的人工智能将像人类一样推理问题。“推理越多,事情就越不可预测,”他说。

    2024年12月14日 14点54分

发表回复

评论列表

点击查看更多

    联系我们

    在线咨询: QQ交谈

    微信:henqiaohe

    邮件:znx0001w#126.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    微信