如何打造自己的量化交易系统

时间:2022-08-29 02:08:31

如何打造自己的量化交易系统

【摘要】对于大多数个人投资者和中小机构而言,开发一个平台需要强大的计算机团队、较大的开发费用、长的开发周期,因此使用国内现有的量化平台是最现实选择。同时也有一些金融机构,他们不希望自己的交易头寸不被别人发现,有保密的需求,只得自己开发量化交易系统,另外也有越来越多个人和小型机构也自己开发。

【关键词】系统 选择 开发

北京时间2013年8月16日11点05分31秒到05分56秒的短短26秒里,中国石化和工商银行两大权重龙头先后涨停。之后多只权重股迅速跟进大幅拉升;根据事后调查结果,造成这一事件的光大乌龙交易以70亿的成交量,却造成了日均交易量在2000亿以上的A股市场的大盘指数瞬时上涨超过5%的涨幅,这让貌似遥远的量化交易突然出现在国内投资者的面前,很多普通投资者这才发现自己同量化交易战斗已经很久了。如何获得一个拥有高速精准的数据、高性能程式交易以及高度的开放性和前瞻性等特点的专业的交易平台,这正是本文尝试解决的问题。

一、如何选择国内现有平台

目前的量化交易平台可以从开发语言、技术架构、系统架构、策略方向、交易方式等几个方面,分为中低端和高端量化交易平台。

(一)中低端量化交易平台

中低端平台只支持复杂度不高的脚本语言实现策略逻辑,多数的实现只能在图表上加载技术指标进行自动化交易、程序化交易等量化交易方式。它一般采用的技术架构是投资者使用平台商提供的客户端软件,采用互联网接入方式连接平台商或者金融经纪公司提供的行情和基础数据服务器,投资者在本地运行的策略触发后,通过经纪公司的普通交易席位进行交易。国内应用的中低端量化交易平台主要有文华赢智程序化交易、交易开拓者、金字塔决策交易系统等。

(二)高端量化交易平台

高端量化平台除了支持复杂脚本语言实现策略逻辑外,均支持直接使用C++、JAVA等开发语言实现复杂的策略逻辑,采用多进程、多线程方式进行自动化交易、程序化交易、算法交易。行情和交易的延时都要求尽可能最低。它适合机构投资者进行趋势、套利、对冲、高频等对行情和交易要求高、逻辑复杂度高的策略。国内主流的高端量化交易平台主要有龙软DTS、国泰安量化投资平台、天软量化平台等。

总的来说,中低端平台适合投资者进行趋势、反趋势等对行情和交易逻辑要求不高的策略,高端交易平台适合机构投资者进行趋势、套利、对冲、高频等对行情和交易要求高、逻辑复杂度高的策略。同时不同的平台费用也不同,投资者必须根据自己的交易要求和费用承担能力来选择最适合自己的量化交易平台。

二、自己打造量化交易系统。

由于MATLAB、R语言这些新一代面向对象、功能强大的语言的出现,获取免费证券和期货的数据并不难,同时出于交易保密的要求,再加上使用功能强大的现有平台费用很高,越来越多的个人和中小机构选择自己或委托别人开发自己的量化交易系统。

(一)语言选择

很多大的机构都有自己软件团队开发量化交易平台,大多选择C语言、C++、JAVA等开发语言,有的甚至使用机器语言,但MATLAB、R语言逐渐成为主流的开发语言。

1.MATLAB简介:MATLAB的是美国MathWorks公司出品的商业数学软件,用于算法开发、数据分析以及数值计算,主要包括MATLAB和Simulink两大部分。其优势在于:用户可以利用MATLAB进行:(1)交易策略实现和回测、投资组合优化和分析。(2)资产分配、金融时序分析、期权价格和敏感度分析、现金流分析。(3)风险管理、预测和模拟、利率曲线拟合和期限结构建模。(4)Monte Carlo模拟、基于GARCH的波动性分析等

2.R语言:R语言是一个高效率的实验平台:通过R语言可以很高效的实现前沿paper的模型方法,同时R语言又提供与C,C++等传统语言工具的量化结合,作为免费开源的数据处理语言,至少几百名世界知名统计学家在算法上的支持,至少几百名世界顶尖的Fortran,C,C++数学库编程高手在代码上的支持,大数据计算平台的运算支撑,开放金融数据资源的免费接入,前沿期刊与代码工具的协同

(二)量化投资重要支撑:IT系统

一个高水准的量化交易系统,必须实现以下的4种功能:

1.历史数据统计后验。历史数据统计一般以收盘价或者日均价作为买入卖出的交易价格。然后根据设定的交易价格计算出在某一段时间内的收益率、超额收益、夏普率等结果。历史数据统计后验的优势是效率高、简单方便。缺点是不够精确,尤其不能考虑资金量对市场的影响。这个阶段的IT要求:简单的原语/多市场的数据/各种盈亏报表分析。

2.历史高频交易数据后验。历史高频交易数据后验的核心在于根据历史高交易频数据进行模拟撮合,撮合算法主要是判断在某个时段的成交量的成交比例。这个步骤的IT要求:快速撮合能力

3.高频数据实时模拟。策略后验无法检验其在样本外的效果。解决这个问题的方法是进行高频数据的实时模拟交易。实时模拟交易是将策略写成一个DLL,放在模拟平台上自动运行。高频数据实时模拟和实盘交易已经非常接近,对冲击成本的考虑,市场容量的考虑基本上和实盘已经一致,唯一不能解决的就是对市场的影响,这个阶段的IT要求:一个简单高效的统一的交易接口API

4.实盘程序化交易。前面3个步骤的目的都是为了最后进行实盘交易,实盘交易对市场的影响会体现出来,只有通过了实盘实时交易,一个策略才能被证明是有效的。量化投资系统可以通过手动方式下单,也可以写成程序化交易系统。一般交易较为频繁的策略,绝大多数需要通过程序化交易实现。这个阶段IT的要求:快速报盘抢单能力。

作者简介:蔡军(1972-),男,研究生,工程师、讲师,重庆工商大学融智学院,研究方向:投资学。

上一篇:内观茶艺的道理 下一篇:谈谈新课标下的小学语文教学