高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用

注:WAVT指标由Warensoft(王宇)原创。

前面聊了一系列的常见应用指标,包括短线、长线的指标,并且也无耐的指出每种指标的问题。当然每写一篇文章,也都是一次学习过程。经过一年多的学习研究,笔者也自创了一个应用指标,并将其命名为WAT指标,本次让我们一起来探讨一下,欢迎大家扔砖!

1.指标定义

WAVTWarensoft交易量趋势(Warensoft Volume Trend,是根据一定时期内交易量描述出买卖趋势的指标量,适合于中长期交易。WAVT指标表达形式,如下所示:

如图所示,WAVT指标包括两种显示形式,一个是曲线图,一个是方波图,方波图是由曲线图计算得到的。其中,曲线图可以较为直观的显示当前行情的变化趋势,但是不便于量化交易;而方波图是对曲线图进行了一次数值变换,适合计算机进行量化交易。

2.趋势线的计算

我相信有很多程序猿和我一样,一直都希望通过行情变化曲线的极值点,来捕获最合理的买卖时机。这里存在两个技术难点:

  • 曲线是否平滑(曲线不平滑,就难以确定极值点)
  • 曲线的末端是否稳定(不稳定,就会常常出现误判)

对于趋势线的计算,最简单的想法是利用K线进行绘制。由于K线是市场的最直接反映,所以其波动性会比较大,因此,以K线作为数据源的话,整个图像中出现的M头或W底会非常的多。

前段时间,研究了一下OBV指标,同时,有一个10多年的老股民朋友(也是资深软件工程师)告诉我说:“可以利用交易量来模拟行情”。本人大受启发,因此,WAVT的趋势线的数据源是来自市场交易量的。

前一篇文章中(谈RSI指标),我们说过经典的MACD以及MA均线,都是从固定周期的价格作为判读的指导思想,并将价格进行平滑处理,然后得到可参考的判读结果。排除个人经验外,这些计算方法从方法论层面上来说是一种数值化判定方法(即:先有数据,再判定结果)。

然而基于交易量的OBV指标,则是从交易量的角度,分析人们的交易信心(信心是无法量化的),因此,OBV指标是带有预测性。另外,相同周期的OVB指标要比MA指标更靠近真实行情,同时OBV的曲线要比MA的曲线平滑得多!

咱们书归正文,WAVT指标中的趋势线算法描述如下:

public List<TimeValuePair> GetWAVTTrendLine()

        {

            //1.首先获取带有Vol值的K线数据。

            var kline = GetKline();

            //2.计算OBV指标值,注意这里使用40做为平滑周期

            var obv = GetOBV(kline,);

            //3.获取极值点采样,注意这里需要进行两次采样,因此参数为2

            var peeks = GetPeekPoints(obv, );

            //4.因为极值点数据,在时间上是不连续的,

            //因此,需要对极值点数据进行线性插值,以保证每个时间点上都有数据

            peeks = InterplotData(peeks);

        }

经过上面4个步骤,我们就可以得到WAVT趋势线。具体算法比较复杂,看官们可以自己实现,或者调用Warensoft Stock Service Client来实现。其图像如下所示:

3.方波图的计算

趋势线的特点是比较直观,适合人眼来观察行情,但是不便于计算机量化处理。下面我们来进行方波化变换,以便计算机量化。其过程如下:

//1.计算WAVT趋势线

            var trendLine = GetWAVTTrendLine();

            //2.所有数据减去前一个数值,得到方波值

            var value = trendLine[i] - trendLine[i - ];

            //3.对方波数据进行噪声滤波,以去掉干扰数据

            value = MakeFilter(value);

经过上面3个步骤,我们就可以得到WAVT方波图,其图像如下所示:

4.应用方式

通过前面的算法描述,我们不难发现,方波图可以较好的把握大体的买卖时机,即:

  • 当数据由负值向上穿越0线时,可以买入
  • 当数据由正值向下穿越0线时,可以卖出

如下图所示:

5.总结

本指标算法尚在测试中,应用需要谨慎。

WAVT指标可以用于中长期的交易,但是只能大体来把握趋势,和其他技术指标一样,WAVT指标存在一定的延时性,在应用的时候会错过最最低值和最最高值。

高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用的更多相关文章

  1. 高频交易算法研发心得--RSI指标及应用

    高频交易算法研发心得--RSI指标及应用 前面文章中我们提到了MA均线(包括EMA,SMA).MACD以及SAR指标,这三类指标存在一个共同特点,即:从固定周期的价格作为判读的指导思想,并将价格进行平 ...

  2. 高频交易算法研发心得--MACD指标算法及应用

    凤鸾宝帐景非常,尽是泥金巧样妆. 曲曲远山飞翠色:翩翩舞袖映霞裳. 梨花带雨争娇艳:芍药笼烟骋媚妆. 但得妖娆能举动,取回长乐侍君王. [摘自<封神演义>纣王在女娲宫上香时题的诗] 一首定 ...

  3. AI大厂算法测试心得:人脸识别关键指标有哪些?

    仅仅在几年前,程序员要开发一款人脸识别应用,就必须精通算法的编写.但现在,随着成熟算法的对外开放,越来越多开发者只需专注于开发垂直行业的产品即可. 由调查机构发布的<中国AI产业地图研究> ...

  4. 高频交易:Solarflare组建超低延迟网络

    10Gb以太网适配器制.网卡造商Solarflare目前正在将自己的网卡系列产品转变为服务器产品.其产品在金融领域有着广泛的应用. Solarflare首先将现场可编程门阵列(FPGA)放入网络适配器 ...

  5. 商品期货高频交易策略Tick框架

    原帖地址:https://www.fmz.com/bbs-topic/1184在商品期货高频交易策略中, Tick行情的接收速度对策略的盈利结果有着决定性的影响,但市面上大多数交易框架,都是采用回调模 ...

  6. Java才是世界上最好的语言,Java在高频交易中替代C++

    高频交易 高频交易是指从那些人们无法利用的极为短暂的市场变化中寻求获利的计算机化交易,比如,某种证券买入价和卖出价差价的微小变化,或者某只股票在不同交易所之间的微小价差.在高频交易中,自动化应用程序每 ...

  7. 高频交易[z]

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:袁浩瀚链接:https://www.zhihu.com/question/21789812/answer/22178178来源 ...

  8. 高频交易策略之Penny Jump[z]

    高频交易策略之Penny Jump 今天假设有一个笨笨的大型机构投资人(共同基金,银行,退休基金....),他想要买进一只股票,但又不想挂市价买进,所以就在市场里面挂了一张要买进的大单.这时候所有市场 ...

  9. 缓存算法(FIFO 、LRU、LFU三种算法的区别)

    FIFO算法 FIFO 算法是一种比较容易实现的算法.它的思想是先进先出(FIFO,队列),这是最简单.最公平的一种思想,即如果一个数据是最先进入的,那么可以认为在将来它被访问的可能性很小.空间满的时 ...

随机推荐

  1. [Node.js框架] 为什么要开发 Codekart 框架

    两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后接触了Lisp.python.java.Ruby.Lisp几乎 ...

  2. Visual Studio 2010 单元测试之一---普通单元测试

    原文:Visual Studio 2010 单元测试之一---普通单元测试 本文以Visual Studio 2010为例,来介绍如何在Visual Studio里面进行单元测试. 首先来介绍普通单元 ...

  3. ACdream 1195 Sudoku Checker (暴力)

    Sudoku Checker Time Limit: 2000/1000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) Submi ...

  4. 查询职责分离(CQRS)模式

    查询职责分离(CQRS)模式 在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体.在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户 ...

  5. Android项目---TouchListener

    public static interface View.OnTouchListener android.view.View.OnTouchListener Known Indirect Subcla ...

  6. DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?

    DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)? 阅读目录: 问题根源是什么? <领域驱动设计-软件核心复杂性应对之道>分层概念 Repositor ...

  7. Mocha JavaScript TDD

    JavaScript TDD with Mocha 2014-04-30 02:05 by owenyang, 317 阅读, 0 评论, 收藏, 编辑 开发现状 当新的版本快要发布的时候,大家都忙于 ...

  8. jQuery Tags Input 插件显示选择记录

    利用jQuery Tags Input 插件显示选择记录 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采 ...

  9. .NET 类库研究

    .NET 类库研究必备参考 添加微软企业库源码 前不久,为大家提供了一个.NET 类库参考源码的网站,扣丁格鲁(谐音“coding guru”),使用了段时间,发现一些不方便的地方,特意做了一些更改, ...

  10. Aforge.net 一个专门为开发者和研究者基于C#框架设计

    时间过得真快啊,转眼今年就要过去了,大半年都没有写博客了,要说时间嘛,花在泡妹子和搞英语去了,哈哈...前几天老大问我 怎么这么长时间都没写博客了,好吧,继续坚持,继续分享我的心得体会. 这个系列我们 ...