首页 存档 技术 查看内容

【干货分享】《编程与交易》

2018-3-30 13:00 |来自: 互联网 388 0

摘要: 说在最前面 编程与交易这个主题涉及的面非常广,我自己了解也很有限,这里给大家分享一下我对这一方面的粗浅认识,有错漏的地方请大家及时提出指正。 编程和交易的关系 交易的场景: 我们先来看看交易的场 ...


  • 说在最前面




编程与交易这个主题涉及的面非常广,我自己了解也很有限,这里给大家分享一下我对这一方面的粗浅认识,有错漏的地方请大家及时提出指正。

  • 编程和交易的关系



交易的场景:


我们先来看看交易的场景,通常都是像下面这样的:


编程的场景:


下面这个截图,来自于微信公众号的通知公告,上面也有关于页面代码的内容:



下面这个截图,来自于微信公众号的通知公告,上面也有关于页面代码的内容:



  • 交易与编程的区别:


两者的交易,从直观上来说,交易更多是从具体的场景介入,比如我们看的行情图画面像,即更多的来自于我们的视觉输入,我们可以直观地看到它的价格走势变化,是上升还是下降。比如下面的这一幅图:




而编程是比较抽象的工作,它通过大量的语句叠加,实现我们所需要的逻辑,进而形成整一个程序的功能。


  • R型认知和L型认知

讲到这里,想插入一下关于认知的一些知识。认知有两种模式:R模式与L模式,这个就是我们通常所说的“左脑型”与“右脑型”一样。补充说明一下,这个概念最早来自于解剖学以及神经学领域,它认为人的大脑可以分为左右两部分,每部分承担不同的部分,右脑负责创造性思维或感性思维,左脑负责逻辑思维或理性思维。随着研究的深入,这样的划分其实很粗暴,所谓的逻辑思维并不专属与一侧半球。但下面还是将这两种认知模式提炼出来,并命名为R型认知以及L型认知。


具体内容可以参考开智学堂周亮的《学习神经科学,大脑传言不攻自破》


R型认知是富模式认知,它有以下特点:

  • 非语言

  • 非理性

  • 综合

  • 直觉

  • 具体

  • 全面


R型例子:你的眼前是下面这样一幅画面,在纸上将这个画面画出来。



L型认知是线性模式认知,它包含了以下的能力:


  • 语言能力

  • 分析能力

  • 符号能力

  • 抽象能力

  • 数字能力

  • 逻辑能力

  • 线性思维能力


L型例子:在试卷上解答数学题,比如像下面这一道。



R型转换成L型:假如要求你把上面那幅画面的房子,在10秒内画出,那结果可能会是下面这样:


我们现实中并不可能存在这样的房子,因为这是二维的,我们看到的画面是三维、立体的。但我们又很清楚这是一个房子,它有屋顶、门口和窗户,这个图案实际就是一个符号,用以表达我们脑海中画面的那个房子,这就抽象成了L型。


一个R型和L型的小例子:


下面的图案,你是看到了什么字母呢?

O O

O O

O O

OOOOOO

O O

O O

O O


R型看到的是H,而L型看到的则是具体的细节;

“R型看森林,L型看树木”


  • 什么是编程?

前面插入了认知部分的介绍,这里还回到编程这个主题。那什么是编程呢?编程就是一组指令集,我们先来看看下面熟悉的情景:


妈妈:你帮忙去市场买点胡萝卜回来,要嫩一点的。如果有报纸卖的话,帮忙买份报纸。对了,出门的时候帮忙把垃圾扔出去。


我们来对上面的指令集进行一下总结:

- [ ] 倒垃圾

- [ ] 买胡萝卜,要嫩的

- [ ] 如果有报纸卖,买报纸


上面的动作指令如果写成代码的话,会像下面这样:

begin

{

Take_Out_The_Trash();

If carrots_are_fresh Then Buy_Carrots();

If See_News** Then Buy_News**();

}


可以看到,这个程序并不复杂,就是我们需要做的动作清单列表,而这样的列表就形成了一个小程序,或者更准确地讲,是一个小的程序模块。


编程如何指导交易

编程如何才能与交易进行结合,并且能提高我们的交易绩效呢?


  • 指示交易信号

编程是具体动作的抽象化实现,我们先从熟悉的场景入手:我们把行情的指标进行修改--均线加粗,改为绿色





我们可以继续加入更多的想法

  • 价格由上往下穿越均线,并且MACD也伴随从正数转为负数时,画一个向下的箭头

  • 价格由下往上穿越均线,并且MACD也伴随从负数转为正数时,画一个向上的箭头



统计交易数据

统计真实的交易数据,了解自己的交易模式,也是非常重要的内容。而日常的交易数据就不少,历史数据则更多,程序给予我们下面的帮助:

  • 自动收集原始交割单,进行统计

  • 统计正确率、盈亏比、持仓时间、最大盈利/亏损等关键交易参数

  • 资金曲线统计(收益率、回撤)

  • 数据比对(个人与市场、个人与团体、团体与团体等)


有了程序协助之后,可以大大减少人手处理上面数据的时间,让交易员可以有更多的时间专注于自己的交易以及市场的变化上。


程序化交易

编程可以实现程序化交易,即确定好交易逻辑后,就可以交由计算机自动执行。与人手交易对比,程序化交易会有以下的优缺点:


优点:

  • 100%的执行率!

在条件的判断方面,只有“是”与“非”,有非常明确的边界;在执行方面,程序没有贪婪、恐惧的情感干预,只有既定逻辑。

  • 高速的响应时间,无延迟下单

通过程序,可以对最新的行情数据迅速作出反应,并立即执行相关的市场操作,比起人手交易速度快几个数量级。人从看到行情数据到作出反应,将有零点几秒的反应时间,而计算机的下单速度可以去到微秒级别。

  • 可以同时交易多个品种

这里还是对比人手交易与计算机交易。人手下单的话,最多只能关注到有限的几个品种,而计算机则可以同时交易很多个品种。在执行套利方面,计算机会有非常大的优势。

  • 快速迭代

交易员如果修改自己的交易系统,将会有较长的适应时间。而程序化交易的话,只需要将新的程序部署到实际交易的环境中即可,整个过程可能只需要几分钟。


缺点:

  • 前面提到的优点,它同时也是缺点,正因为只有固定的逻辑,所以它无法应付程序条件之外的情形,或者说遇到条件之外的情形,将会产生很大的亏损;我们见到的黑天鹅事件,当中也有程序化交易产生的持续止损


程序化交易的逻辑

程序化交易看起来这么神奇,它是怎样做到的呢?

  • 买卖单,加剧了市场的波动程度

  • 非常依赖网络的稳定性和机器的性能

程序化交易的服务器,一般都部署到离交易所网络距离最近的节点,以节省信息传输的时延;同时计算机硬件性能也将直接影响到程序运行的效率。样做到的呢?程序化的交易逻辑来自于数学,通过建立相应的数学模型,形成对未来的预测结果。使用到的数学模型有:

  • 小波分析

  • 向量机学习(SVM)

  • 偏微分方程

  • 贝叶斯网络等等


    程序化的平台介绍

    • 统计和建模:Matlab、R语言、Python、SPSS等等

    • 自动化下单:MT4、Multichart、TradeBlazer(开拓者)、文华、金字塔、Python等等

    • 通过券商、期货商的接口或外接系统接入:恒生、迅投PB、金仕达等等

    • 用什么平台不重要,重要的是想法和逻辑


    程序化交易的发展趋势

    1. 计算机参与的高频交易将越来越多,人手靠速度抢单的优势将被削弱

    2. 套利的实现,使得交易标的与参考标的的差价越来越小,近乎同步

    3. 高频交易将被严格监管,但因市场太大,高频交易的实际参与者以及交易规模将持续扩大

    4. 交易制度的差别,将使高频发展受到**:

    • 竞价交易与做市商制度

    • T 1与T 0

    • 是否允许短时间内大量的下单和撤单


    Python介绍

    在这里,需要介绍一下Python语言。它是一门编程语言,在日常的编程中越来越多的程序员在使用它进行开发。由于支持的库(即程序资源)越来越丰富,在量化交易领域也是一样。目前,有两个网站支持Python在线编写策略进行回测以及模拟交易,都做得非常不错。一个是优矿(https://uqer.io/),一个是米筐https://ricequant.com/)。


    说到如何了解和学习Python,这里给大家推荐一本书,就是《Learn Python the Hard Way》,如果英文版比较难看的话,可以找中文版看一下。

    中文版的名字叫《笨方法学Python》。书中除了教具体的编程外,其学习的方**非常值得我们借鉴,这套方法可以套用到学习其他的技能上。

    它的方**很简单,就是:编程=》输出(看到程序结果)-》调整程序-》观察新的输出结果。通过不断的人机交互,深入学习Python的语句、特点等,非常容易上手。下面是两本书的封面图。




    最后附上2016开发平台的前20排行榜,给大家了解一下目前各个开发平台的使用情况:



    问答环节:


    • 问:我们现在的高频交易手法并不复杂,这个策略有可能被做成程序吗

    • 答:如果交易的策略可以清晰描述出判断条件的,可以尝试做出相应的程序,但测试可能较难,因为需要大量的Tick数据进行回测。

    • 问:Python是一门编程语言吗?

    • 答:是的,它与C 、VB这些都是一门编程语言。




    【微投资】专注财富成长打造的全方位信息交流平台,为热爱投资并向往金融交易成为生活方式的您提供瞬时、高效、精点的行情资讯,贴合市场动态、实时交易数据做最干货的分析及推荐,踏踏实实的与你一同成长!


    本文转载于微信公众号: 微投资(weitouzi888),更多微信文章请扫描关注公众号:

    声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

    路过

    雷人

    握手

    鲜花

    鸡蛋

    相关分类

    返回顶部