简单聊聊算法交易

儿子娃娃
2021-12-31

昨天偶然看到量化交易基金2021年化收益打爆一系传统基金的文章,突然想聊聊量化的东西。


今天先来说说我对算法交易的看法,这玩意在大二实习的时候第一次接触。然后就疯狂迷恋上了,记得当时没日没夜的想要写出一个万能的策略。不过后来不管是抄别人的还是自己想,结果都不如意,渐渐的就放弃了。当然这不是说算法交易不行,主要是我自己菜。


时隔近两年后,一个用机器学习去优化期权定价的想法,我又重新找回了这个老朋友。同时看到老虎自己也有了自己的量化平台,就想着刚好通过建立一个十分简单的策略,给大家讲解一下什么是算法交易,以及我对于它的一些想法。


大致上一个算法交易成型需要四步:建立策略,编写代码,回测,优化调整


首先第一步我们需要去想如何构建这个交易策略,比如说用什么指标?什么时候用?一般来说,运用技术指标发现交易信号是最常见也是最简单的策略。所以这个例子我准备用布林带来当作我的唯一指标,交易信号就是当收盘价在中轨之上,我就以下一日的开盘价全仓做多,如果收盘价在中轨之下,我就空仓。这是布林带最简单的用法之一。这个策略的好处就是能防止不断的抄底,控制回撤,还可以加大赢率。


接下来第二步是编写代码。不同的平台有着不同的写法,编程有一定基础的朋友应该看完文档后很快就能上手了。就拿老虎来说,整个编写简单分为三部分:初始化,交易前处理,交易主体。初始化就是设置一些基础的东西,比如像交易标的,杠杆比例,账户资金等等。交易前处理就是把一些如要使用的技术指标提前计算。交易主体是写交易逻辑的地方,整个策略的精华都在这个部分。下图就是我对于之前布林带交易策略的代码。

简单来说一下这个代码的意义,第一部分初始化,我只设置了交易标的和对比标的,都是苹果公司。第二部分我导入前20日的收盘价,通过布林带公式计算出了上轨,中轨和下轨。第三部分,对比现收盘价和中轨数值,如果收盘价大于中轨 ,那么满仓买入,如果小于中轨,空仓。


完成代码后,就来到了最重要的回测部分。回测是用历史数据来检验这个交易策略效果怎么样。时间范围我选择了从2021年1月1日到2021年12月20日,并且选择了五个热门标的。


首先拿老虎来具体说一下,首先在回测结果里,我们能看到收益概述,这也是整个算法交易最重要的结果。

可以看到,基准收益是-44%,策略收益是77%。如果从1月1日买入100元的老虎股票,然后一直拿着到上个星期,那我账户金额是56元,相反如果我用这个算法去交易那么我的账户金额会是177元,两者差了三倍。


另外老虎量化平台还提供了多元化的回测结果,如下图,交易的时间点和持仓占比也能看到。

当然如果图片过于笼统,在交易详情里有更详细的记录,每一笔交易,方向,价格,盈亏,仓位都可以看到。

通过这些数据就可以进一步了解我们的交易策略,从而进入最后一个阶段优化和调整。如果单从这个回测来看,应该有人会说这个算法还需要调整吗?都已经超基准这么多了。如果你有这个想法那就是掉进了算法交易最常见的一个坑。这个坑我来用剩下四个标的的回测结果来解释。分别是苹果,蔚来,特斯拉,PLTR。为了减少幸存者偏差,我是直接从老虎热门股票榜里抽的。

这四个图就比较有意思了,除了苹果,我的策略都是吊打基准。尤其特斯拉表现出乎意料的好,如此简单明了的策略,竟然也能在一整年内算法保持跑赢状态,真是令我惊讶。接下来就来说这第一个坑:标的适用性。一个好的策略应该拿到那里都能显示出优异的表现,虽然我的策略在五个股票中四个都表现非常不错,但依旧在许多标的的表现令人差强人意。这也是为什么要通过测试不同的标的以及总结分析回测结果去优化的原因。常见的方法有增强算法逻辑和增加策略复杂度。同时时间上的优化也非常重要,下一图同样的策略还是苹果公司,我把时间拉长到了2018年1月1日,比之前多了三年时间,让我们来看看结果。

时间一长,策略竟然能保持一直跑赢基准的状态,还多出了近一百个点。这就是第二个坑:时间适用性。当然成就一个好的算法交易还有其他一些标准,但就我个人理解来说,如果能填补上这两个坑,也就是标的和时间,那么这个策略就可以毕业了。虽然看似简单,但做起来真的是非常艰难。


扯了这么多,就是想给大家介绍一下如何使用算法交易和使用时要注意的地方。量化交易近两年来发展迅速,许多大佬的策略都是让人五体投地。量化也分非常多的类型,比如因子模型,基本面选股,数学建模,事件驱动,机器学习等等。其中用技术指标的算法交易算是比较容易接触和学习的。希望后面能在社区看到越来越多关于这方面的分享。最后祝大家2022年新年快乐!同时老虎证券在虎年也能更加生龙活虎[龇牙] 

$老虎证券(TIGR)$$特斯拉(TSLA)$$蔚来(NIO)$$苹果(AAPL)$$Palantir Technologies Inc.(PLTR)$     

炒股技术派
炒股技术派聚集地,分享关于K线的财富密码~
免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。

精彩评论

  • 刀哥拉丝
    2021-12-31
    刀哥拉丝
    老师是学习计算机的吗?看着代码写的不错。
  • 揭人不揭短
    2021-12-31
    揭人不揭短
    你这个代码现在还可以套用吗?看着比较吸引人。
    • 儿子娃娃
      不建议直接用 这个代码更多是展示目的
  • 哎呀呀小伙子
    2021-12-31
    哎呀呀小伙子
    大佬现在也是靠量化交易来操作股票吗?
  • 玉米地里吃亏
    2021-12-31
    玉米地里吃亏
    用这个量化模型操作会不会有点高频?
    • 儿子娃娃
      不算高频 用tigr跑出来一年也就31次交易
  • 小虎AV
    2021-12-31
    小虎AV
    新年快乐🎆🎊🎉🍾️
  • 宝宝金水_
    2021-12-31
    宝宝金水_
    不仅仅是授人以鱼还授人以渔,好人一生平安。
发表看法
17
3