接上一篇文章:

Alpha Zone:成功的量化交易 PART 2-交易系统(2)6 赞同 · 0 评论文章正在上传…重新上传取消​

PART 2.Trading Systems

选择编程语言

现在我们将考虑单个编程语言的优点和缺点。我大致将这些语言分为高性能/更难开发和低性能/更容易开发。编写自定义回测环境最重要的一个方面是,程序员熟悉所使用的工具。这可能是一个比开发速度更重要的标准。然而,对于那些刚刚接触编程语言领域的人来说,下面的内容应该能够帮助他们弄清算法交易中倾向于使用什么。

● C++, C# and Java:c++、c#和Java都是通用面向对象编程语言的例子。它们可以在没有相应IDE(集成开发环境)的情况下使用,它们都是跨平台的(可以在Windows、Mac OSX或Linux上运行),具有几乎所有可以想象的任务的库,并且具有快速的执行速度。如果希望最终执行速度尽可能快,那么c++(或C)可能是最佳选择。它为管理内存和优化执行速度提供了最大的灵活性。这种灵活性是有代价的。众所周知,c++很难学好,而且常常会导致一些细微的bug,开发时间可能比其他语言要长得多。c#和Java的相似之处在于,除了浮点数和整数等基本数据类型,它们都要求所有组件都是对象。它们与c++的不同之处在于它们都执行自动垃圾收集。这意味着,在对象被销毁时,不需要手动取消内存的分配。垃圾收集增加了性能占用,但它大大加快了开发速度。这些语言都是开发回测的好选择,因为它们具有本地GUI功能、数值分析库和快速执行速度。

● MATLAB, R and Python:MATLAB是一个用于数值计算的商业集成开发环境(IDE)。它在学术界、工程界和金融界得到了广泛的认可。它为许多科学计算任务提供了大量的数字库,并且具有快速的执行速度,假设正在开发的任何算法都要服从向量化或并行化。它很贵,这有时会降低它对预算有限的零售交易员的吸引力。MATLAB有时用于直接执行到经纪公司,如交互式经纪公司。

● R:不是一种通用编程语言,而是一种统计脚本环境。它是免费的、开源的、跨平台的,包含了大量免费的统计软件包,用于进行极其高级的分析。R在定量对冲基金行业中被广泛用于统计/策略研究。虽然R可以连接到经纪公司,但不太适合这项任务,应该考虑更多的研究工具。此外,除非操作是向量化的,否则它缺乏执行速度。

● Python:介于MATLAB、R和前面提到的通用语言之间。它是免费的、开源的、跨平台的。被解释为反对编译,这使得它比c++慢得多。尽管如此,它包含用于执行几乎所有可以想象的任务的库,从科学计算到低级web服务器设计。它包含NumPy、SciPy、panda、matplotlib和scikit-learn,它们提供了一个健壮的数值研究环境,当向量化时,可以与编译语言的执行速度相媲美。此外,它还有用于连接到代理的成熟库。这使得它成为创建事件驱动的回溯测试和实时执行环境的“一站式商店”,而无需进入其他语言。对于以分钟为单位进行交易的日内交易员来说,执行速度已经足够了。最后,与c++这样的底层语言相比,学习和掌握这些语言非常简单。本书使用的是Python。

Integrated Development Environments

IDE这个术语在算法交易中有多重含义。软件开发人员使用它来表示一个GUI,它允许使用语法突出显示、文件浏览、调试和代码执行特性进行编程。算法交易员使用它来表示一个完全集成的回测/交易环境,包括历史或实时数据下载、图表、统计评估和实时执行。出于我们的目的,使用这个术语来表示任何不是通用编程语言的环境(比如C++、Python这类通用编程语言),例如,MATLAB被认为是一个IDE。

Excel:对于检查结果非常有用。所有数据都是直接可用的,而不是隐藏在对象后面,这使得实现非常基本的信号/过滤器策略变得非常简单。尽管易于使用,Excel对于任何合理的数据规模或数值计算水平都非常慢。Excel由于电子表格的软件性质,可以确保已经避免了前视性偏见。

商业/零售回测软件:零售制图、“技术分析”和回测软件市场竞争异常激烈。这些软件提供的功能包括实时价格图表、丰富的技术指标、定制的回测语言和自动执行。一些供应商提供了一个一体化的解决方案,例如TradeStation。

TradeStation是一家在线经纪公司,它生产交易软件(也称为TradeStation),提供跨多个资产类别的电子订单执行,目前他们不能提供一个直接用于自动执行的API,而是必须通过软件下订单。这与Interactive Brokers Trader形成了鲜明的对比,Interactive Brokers Trader具有更简单的图表/交易接口(交易员工作站),但同时提供了专有的实时市场/订单执行API和修复接口。

另一个非常受欢迎的平台是MetaTrader,它被用于外汇交易中创建“专家顾问”。这些是用专有语言编写的自定义脚本,可用于自动交易。如果您不熟悉深入的软件开发,并且希望处理很多细节,那么这些工具非常有用。然而,使用这样的系统会牺牲很多灵活性,而且您常常被绑定到一个经纪公司。

基于网络的工具:目前流行的两个基于web的反向测试系统是quant(https://www.quantopian.com/)和QuantConnect (https://www.quantconnect.com/)。前者使用Python而后者使用c#。Quantopian目前支持与交互式经纪人进行实时交易,而QuantConnect正在努力实现实时交易。

开源回测软件:Algo-Trader是一家总部位于瑞士的公司,为他们的系统提供开源和商业许可,该系统允许完整的历史回溯测试和复杂的事件处理,并且它们与交互式代理相结合。marketetc提供了一个回溯测试系统,它可以绑定到许多其他语言,比如Python和R,以便利用您已经编写的代码。trategy Studio提供了编写回测代码以及优化执行算法的能力,并随后从历史的回测转换到实时的交易。

ZipLine是一个Python库,支持上面提到的Quantopian服务。这是一个完全由事件驱动的回测环境,目前支持美国股市以分钟作为基准。以下是一些github和google的代码托管项目

OpenQuant (http://code.google.com/p/openquant/),

TradeLink (https://code.google.com/p/tradelink/),

PyAlgoTrade (http://gbeced.github.io/pyalgotrade/).

机构级别的回测软件:机构级的回溯测试系统,如Deltix和QuantHouse,通常不会被散户算法交易员使用。软件许可证通常远远超出了基础设施的预算。也就是说,这类软件被量子基金、自营交易公司、家族理财室等广泛使用。

这些系统的好处是显而易见的。它们为数据收集、策略开发、历史回溯测试和跨单个工具或投资组合的实时执行提供了一个一体化的解决方案,最高可达超高频率级别。这些平台已经进行了广泛的测试和大量的“实战”使用,因此被认为是健壮的。系统是事件驱动的,因此回测环境通常可以很好地模拟活动环境。该系统还支持优化的执行算法,以尽量降低交易成本。因为这些回测软件超出了大多数零售交易员的承受能力,因此不会详细讨论。

更多内容请关注公众号【火象】~

成功的量化交易 PART 2-交易系统(3)相关推荐

  1. pb系统的twap交易指令_量化交易系统开发技术案例丨量化交易开发源码平台

    在投资活动中采用程序化交易和算法交易,由计算机交易系统进行投资决策和完成交易过程,可以按照既定规则来进行大规模复杂计算.分析.生成指令及持仓,而且不会像人那样犯有限理性造成的错误,甚至犯了错误不愿意纠 ...

  2. 量化交易系统 python btc_GitHub - crabboy/abu: 阿布量化交易系统(股票,期权,期货,比特币,机器学习) 基于python的开源量化交易,量化投资架构...

    abu能够帮助用户自动完善策略,主动分析策略产生的交易行为,智能拦截策略生成的容易失败的交易单. 现阶段的量化策略还是人工编写的代码,abu量化交易系统的设计将会向着由计算机自动实现整套流程的方向迈进 ...

  3. 量化交易如何建立高效的交易系统(三)

    阅读原文:http://club.jr.jd.com/quant/topic/1366928 京东金融官方资讯QQ群:456448095 有什么想咨询的都可以来询问我们 谈了这么多,貌似又回到了我们的 ...

  4. 比特币量化交易:利用Python构建自己的算法交易系统

    随着科技的不断发展,传统的手工交易已经不再是唯一的路径,自动化交易系统越来越受到投资者们的欢迎.尤其是在高频率交易中,精细的算法能够让交易决策更快速.准确和有效. 本文将介绍以比特币为例,如何使用Py ...

  5. 量化交易系统 python源码_零起点TensorFlow与量化交易[PDF+源码][238.77MB]

    内容简介 Python量化回溯.TensorFlow.PyTorch.MXNet深度学习平台以及神经网络模型,都是近年来兴起的前沿科技项目,相关理论.平台.工具目前尚处于摸索阶段. TensorFlo ...

  6. alpha值计算 qcolor_量化交易与机器学习(四):如何研究alpha因子

    算法交易策略由指示何时购买或出售资产以产生相对于基准(例如指数)的较高回报的信号驱动. 资产回报率中未通过暴露于该基准而无法解释的部分称为alpha,因此旨在产生这种不相关收益的信号也称为alpha因 ...

  7. python用途适合做什么生意-PureQuant数字货币量化交易程序化交易python量化开源框架...

    什么是量化交易 量化交易起源于上世纪七十年代的股票市场,是指借助现代统计学和数学的方法,利用计算机技术来进行交易的证券投资方式.量化交易从庞大的历史数据中海选能够带来超额收益的多种"大概率& ...

  8. 系统化交易与量化交易理论与书籍

    股市交易必读书籍: [美]彼得·林奇(Peter Lynch) 约翰·罗瑟查尔德 <彼得·林奇的成功投资(典藏版)>,机械工业出版社,2018年05月 [美]史蒂夫·尼森(Steve Ni ...

  9. mt4量化交易接口:分享日常量化选股方法

    在量化投资中,每个交易者总有很多选股的原因,有的着重看财务指标,有的则喜欢依赖于技术分析,而实际上,量化选股的本质=因子+算法,因子就是交易者觉得影响股价变动的一个或多个原因,算法就是交易者心中遵循的 ...

最新文章

  1. 计算机视觉 | 图像描述与注意力机制
  2. Singleton设计模式
  3. 【计算机视觉】跟踪算法及相关主页
  4. Top-1 Error Top-5 Error
  5. swift瀑布流实现_CSS 实现瀑布流布局(display: flex)
  6. Python_列表常用操作
  7. 四十八、面试前,必须搞懂Java中的线程池(下篇)
  8. IOS-字符串太长换行拼接
  9. /etc目录下重要文件解释
  10. 如何打造自动驾驶的数据闭环
  11. DOS批处理对人脸库进行分类
  12. 自用电脑/物理机安装ESXI6.8集成网卡版详细教程
  13. 数字转型遇阻 ,Riverbed重塑APM工具
  14. Python带我飞:50个有趣而又鲜为人知的Python特性
  15. ip后面带端口号如何做域名解析
  16. 【Unity Shader 消融效果_案例分享】
  17. 发烧后的咽喉肿痛自我治疗
  18. 如何更方便的探讨技术
  19. 去后厂村开游戏厅吧!基于PP-TinyPose的简易体感游戏开发框架
  20. Redis项目应用场景与实例(三):队列(List)

热门文章

  1. 无须代码,一键生成微信好友图片墙!
  2. IGMP、MLD原理
  3. https客户端与服务端认证过程详解
  4. 数据结构之String
  5. leela zero 在amd显卡使用
  6. 也做贝尔宾团队角色测试
  7. STM32F103标准库开发----CAN总线通信实验----发送和接收
  8. 雅虎笔试题整理+自己写的答案
  9. 2019量子计算机排名,中国实现20个量子比特全局纠缠 量子计算机最新进展2019 量子计算机概念龙头股...
  10. 迈向2015,你的智能手环还在戴吗?