分类
外汇交易平台比较

程序化交易策略与实战

CN103500417A - 基于互连网的程序化交易策略的管理系统及其管理方法 - Google Patents

Publication number CN103500417A CN103500417A 程序化交易策略与实战 CN201310491278.9A CN201310491278A CN103500417A CN 103500417 A CN103500417 A CN 程序化交易策略与实战 103500417A CN 201310491278 A 程序化交易策略与实战 CN201310491278 A CN 201310491278A CN 103500417 A CN103500417 A CN 103500417A Authority CN China Prior art keywords strategy tactful data service trading strategies Prior art date 2013-10-18 Legal status (The legal status is an assumption and is not 程序化交易策略与实战 a legal conclusion. Google 程序化交易策略与实战 has not performed a legal analysis and makes no representation as to the accuracy of the status listed.) Pending Application number CN201310491278.9A Other languages English ( en ) Inventor 白介宇 Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to 程序化交易策略与实战 the accuracy of the list.) R & D (shanghai) Information Technology Co Ltd Original 程序化交易策略与实战 Assignee R & D (shanghai) Information Technology Co Ltd Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.) 2013-10-18 Filing date 2013-10-18 Publication date 2014-01-08 2013-10-18 Application filed by R & D (shanghai) Information Technology Co Ltd filed Critical R & D (shanghai) Information Technology Co Ltd 2013-10-18 Priority to CN201310491278.9A priority Critical patent/CN103500417A/zh 2014-01-08 Publication of CN103500417A publication Critical patent/CN103500417A/zh Status Pending legal-status Critical Current

程序化交易系统的检测与优化体系

随着国内金融市场的不断发展与完善,程序化交易变得越来越受关注,据统计美国市场中有70%的交易是由程序化交易完成的。詹姆斯·西蒙斯(James Simons,文艺复兴科技)、大卫·萧(David Shaw,D.E萧公司)、多伊·法莫尔(Doyne Farmer,预测公司),这些交易界的超级明星都通过程序化交易取得了令人震惊的收益。例如,文艺复兴科技公司由詹姆斯·西蒙斯(James Simons)于1982年设立,从1989年起,复兴科技公司的大奖章基金(Medallion)的年回报率平均高达35%,大奖章基金被誉为是最成功的对冲基金。

程序化交易(Program Trading)程序化交易策略与实战 也叫自动化交易(Automated Trading)或算法交易(Algorithmic Trading)。行业内部对这个概念并没有一个统一的定义,通常是指将交易策略转换为计算机程序完成自动交易指令的交易系统,对于采取何种交易策略并没有限制,一般而言量化的交易策略方法居多。算法交易有时并不等同于程序化交易,“算法交易”(Algorithmic Trading)更多时候是指利用有效的算法使执行下单的过程中尽可能减小市场冲击成本、择时风险与机会成本等,所以可将算法交易归类为程序化交易的一部分。另一种分类标准是以交易频率来区分,分为高频交易和非高频交易。高频交易就是短时间内进行捕捉交易机会买进行买卖,一般来说国外专业的高频交易机构,持仓时间都是以秒甚至毫秒计算,所以高频交易一定是以程序化交易系统为前提的。

在国内,程序化交易尚处于初步发展阶段,学者们对程序化交易方面的研究并不多,而程序化交易较强的实务性又致使研究开展更为困难,导致目前涉及程序化交易系统的检测与优化方面的研究较少。关于程序化交易,国际上著名的系统交易学者Perry J Kaufman(1995)[1]在其权威名著《Smarter Trading》中描述了构造交易系统需要考虑的问题,着重探讨了变化中的市场和技术如何影响了交易结果,介绍了不同的交易工具与系统交易方法。Levecq and Weber(1995)[2]提出了程序化交易在金融市场应用时应先对证券市场质量进行分析。所以在做程序化交易之前重要的一点是要先选择交易对象,并且评价交易市场。Madhavan(2000)[3]提到程序化交易对市场流动性,波动性的要求,这同样也是对市场质量的要求。Boehmer(2005)[4]认为程序化交易系统的执行速度同时取决于交易量的大小。交易成本的控制对程序化交易策略的设计有重大影响,而算法交易的核心就是减少交易成本。Perold(1988)[5]发现在真实市场投资时,会产生摩擦损失,分别为交易费用和交易佣金、冲击成本(impact costs)以及机会成本(opportunity costs)。对程序化交易系统的评价中,对算法策略的评估尤为重要。关于如何设计执行策略,Berkowitz(1988)[6]提出了著名的交易量加权平均价格(Volume Weighed Average Price,VWAP)交易策略,若冲击成本为线性函数且股价随机游走,Bertsimas & Lo(1998)[7]认为平均交易策略才是最优交易策略。进一步,Almgren & Chriss(2001)[8]将市场冲击分为临时性冲击和永久性冲击。Kissell & Malamut(2003,2004,2006)[9-11]分析了在冲击成本和择时风险下的最优交易策略问题,引入交易速率的概念,并将执行成本分为可见与不可见成本。随后,Bialkowski(2008)在Berkowitz的基础上提出了优化型的VWAP动态模型,进一步完善了算法的设计。在国内,方兆本和镇磊(2011)[12]提出了一种基于自回归条件持续期(ACD)来选择交易时机的模型。杨科和陈浪南(2012)[13]提出了基于幂转换以及不设定扰动项的具体相关结构和分布形式,构建了半参数的短期预测模型来预测中国股市的波动率,通过实证发现在各种损失函数下,半参数短期预测模型是预测中国股市波动率精度最高的模型。宋增基和杨俊等(2004)[14]根据EdwardM.Miller对Sharpe的资产资本定价模型(CAPM)所作的修正,对我国股市1995-2000年的股票的总风险水平、系统性风险水平和预期收益率进行了测算,发现中国证券市场系统性风险占总风险比例较大的特征并没有从根本上发生改变,但是投资者对股票市场的预期收益率在降低,即我国的投资者不断地趋于理性。张戈等(2011)[15]提出了利用Copula函数的程序化交易策略,并用中国期货市场的白糖和棉花期货合约进行了实证。随着中国期货市场不断发展与完善,程序化交易方式必将变得越来越普及。

FMZ股票实盘、模拟盘程序化交易实战--股票版DualThrust策略

接下来就要讲一下非常经典的策略了 Dual 程序化交易策略与实战 Thrust ,这个策略是小编我在 FMZ.CN 学习程序化交易交易入门的第一个策略。在FMZ.CN上这个策略有很多版本,例如:商品期货版本,数字货币版本等,以及各种不同编程语言的版本。为什么这个策略比较适合入门呢?因为这个策略涵盖了策略开发的很多方面,诸如策略图表,实时状态信息显示,数据处理,交易逻辑设计等等。并且策略并不复杂,代码也不难懂。本文讲解的这个「股票版Dual Thrust策略」移植自商品期货版的DualThrust策略。

下单前设置的交易方向。
和期货市场一样下单前要设置交易方向,不过方向只能设置开多,也就是调用 exchange.SetContractType("程序化交易策略与实战 buy") 。因为股票市场是属于现货交易,并没有开空头仓位的概念。所以是不能调用 exchange.SetContractType("swap") 。所以原版商品期货策略中的做空相关的代码都可以剔除。

最小下单数量、下单价格精度
在GetTicker函数返回的数据中Info是券商接口的原始应答数据,其中LotSize字段就是当前品种(某只股票)的最小下单量。
这个数值通常是100,如果下单数量不能被这个数值整除,下单会报错。
下单价格精度同样也需要控制,和商品期货一样,股票信息中也有priceTick。在GetTicker函数返回的数据Info中 PriceSpread 字段即为价格一跳数据。

涨跌停、停牌等
股票市场的涨跌停还是比较常见的,所以策略需要检测这种情况,尤其是程序化交易多只股票的时候,不能让一个涨跌停的股票,调用接口失败导致一直卡着。涨跌停时,深度接口 GetDepth() 返回的数据中第一档订单量为0,以此识别。
depth.Bids[0].Amount == 0 表示跌停。
depth.Asks[0].Amount == 0 表示涨停。

交易时段差别
股票市场和期货市场交易时段有一定的差别,策略可以根据要交易的板块、市场,具体定制交易时间,让策略在非交易时段休眠。
例如,对于国内A股,可以写一个函数(IsTrading)判断交易时段。

程序化交易策略与实战

地址:哈尔滨市南岗区南通大街145号哈尔滨工程大学31号楼
邮编:150001 管理维护:经济管理学院 技术支持:信息化处
© 2020 哈尔滨工程大学经济管理学院