基于图形识别的全品种交易策略

2024-01-02 16:50

本文主要是介绍基于图形识别的全品种交易策略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

原文链接:基于图形识别的全品种交易策略

NO:01

如果您是股票、期货、外汇交易者,我相信以下几个名词您一定听说过,头肩底、头肩顶、双底、双顶、圆弧顶底等等。

1534387133602027517.jpg

 

经典技术分析尽管历来备受价值投资流派的非议,但依然世代传承,所谓存在即合理,我们暂且不辨其真伪,而是抱着没有偏见的心态去认识它。

 

NO:02

不管交易者利用哪种形态作为技术来分析的图形。但有一点是可以肯定的,所有形态的构成都来自于价格,所以价格本身才是所有图形中最重要的因素。

1534387150534163726.jpg

 

认识到这一点之后,图形形态的利用就显得尤其重要,因为这是识别市场各种形态,从而得出市场观点的途径。

 

NO:03

客观的说,形态识别只是众多技术分析方法中的一个分支,人为主观可以很容易识别出来是哪一种图形,比如只用铅笔和直尺就可以分离出来的价格(通常还有成交量)形态。关键是要花时间学习基本规则,这样就可以在交易时最有效地运用这些方法。 

 

尽管形态识别的想法看起来有点陌生,但它建立在久经考验的方法的基础之上,对交易者有很大帮助。重要的是, 在制定适当的方法以确定在哪个价位入市、设定止损订单及设定利润目标时,形态是需要考虑的因素。 当然,这些因素亦是所有交易者在管理整体投资组合时,需要考虑的一些关键因素。

 

NO:04

在讲这个策略之前,先科普一下平动惯性力。

根据牛顿第二定律,当物体所受的不为零的恒定合外力时,将作匀加速运动,其力与运动的关系为:

1534387179188758315.png

上式中,F是物体所受的合外力,m是物体的质量,a是物体的加速度。

我们将上式进行简单的变形:

1534387187911503646.png

这并不令人意外,但这个形式有助于我们从另一个角度思考匀加速物体在运动时力和运动的关系。我们若定义:

1534387193923465369.png

那么第二个式子可以写成:

1534387201063675215.png

观察该式会发现,我们新定义的 仿佛是一个新加入的与F相平衡的力,令物体现在出于一种 “ 合外力为零 ” 的 “ 平衡 ” 状态。但这并不是真正的平衡状态,因为并不是通常意义上我们所说的“物体与物体之间的作用力”。

它没有施力物体,也找不到对应的反作用力。但是它的单位的确和力相同,效果仿佛也和力一样。我们把这个量叫做惯性力

惯性力看起来像是一个数学上的小把戏,但实际用途很广。引入了它以后,我们可以像平衡物体的受力分析那样,对不平衡物体进行 “ 受力分析 ” 。同时,也能更自然地解释很多力学现象。

 

NO:05

比如说,中国A股市场,在1996年12月26日开始实施涨跌停板制度。正式由于这个原因衍生出来一个:涨停战法。关于涨停战法,在方法上有很多种,这里只讲逻辑理论。

其背后的逻辑也是这样的:价格的运动方式,其实跟物理学中的物体移动是类似的。当市场平静的时候,价格可能会随机游走。但是当市场不稳定的时候,可能会走出单边的极端行情。

1534387234063413901.jpg

 

但是,在A股中是有涨跌停机制的,除了新股,其他股票当日涨幅只能小于10%左右,这样的人为限制,相当于给股票安装了一个刹车。开过车的人都知道,当踩下刹车的时候,车子会因为惯性,继续向前冲一段。

那么,价格也是有惯性的,当价格达到人为限制涨停时,价格的运动也不会马上就停止,次日价格继续上涨的概率会更大。

 

NO:06

其实,本篇策略并不是简单的涨停战法, 但也是利用了价格中的惯性。

 

想象一下:

当你在水面往东推一只小船,如果水面是平静的,你所付出的力可能是150N;如果是流动的水面,水的流向是自西往东,你所付出的力可能是150N - 水的阻力。如果水的流向是自东往西,你所付出的力可能是150N + 水的阻力。

 

在市场中:

影响价格的因素非常多,而且无时无刻不再千变万化,难以捉摸。有人看多,有人看空。价格的成交是成对出现的,即买者和卖者。不过,总的来说,如果买者大于卖者,价格将上涨;如果卖者大于买者,价格将下跌。

 

重点来了:

我们把买者和卖者换算成力(N),即如果买力大于卖力,价格将上涨;如果卖力大于买力,价格将下跌。

 

继续推导:

我们以买力(N)为例,如果在平稳的市场中,价格可能会随机游走,即买力为150N;如果市场出现较大的上涨行情,价格出现正反馈,顺着上涨的势头,就算是小于150N的买力,就能让价格继续创新高;但是,如果在较大的下跌行情中,价格出现负反馈,如果价格逆转上涨,此时的买力就会大于150N,甚至更多。

 

NO:07

有了上述的底层逻辑,我们可以试着用代码去验证这个想法。关于形态的量化,有个非常好用的 TA-Lib 库。

1534387267730494207.jpg

 

TA-Lib 用中文可以称作技术分析库,是一种广泛用在程序化交易中进行金融市场数据的技术分析的函数库。它提供了多种技术分析的函数,可以大大方便我们量化投资中编程工作,内容包括:

 

1、多种指标,如ADX、MACD、RSI、布林轨道等等。

2、K线形态识别,如黄昏之星,锤形线等等。

 

虽然从某些方面看起来似乎很基础,但是形态识别的基础来自寻找出现在金融交易产品价格中的模式。这些形态可用于追踪这些金融产品支撑位与阻力位的变化。

 

NO:08

测试环境如下:

1534387282688558804.jpg

 

1、测试品种:BTC期货。

2、测试时间:2017 年 8 月 01 日-2017 年 12 月 27 日。

3、测试费用:手续费 0 元,开平仓各设置 2 跳滑点。

4、资金配比:单利模式。

5、测试说明:K 线走完发单。无任何未来函数、偷价、过度优化、跨周期调用、分段优化等行为。

 

NO:09

测试绩效如下:

1534387302745843708.jpg

 

 

 

NO:10

市场行为包含一切;价格以趋势方式演变;历史会重演。相比于时间上的差异性,技术分析更为重视历史价格数据在空间上的变化。

1534387329275649333.jpg

 

技术分析三大假设,不是三、五本书就能够说清楚的。这种近乎于哲学层面的理论,它是建立在一个交易者人生认知体系之上的存在(狭义交易系统→广义交易系统→人生认知系统),并非像知识层面的概念一样,短时间内简简单单的就能够传达,并确保对方准确,且完整的接受。

 

延伸阅读:交易策略的构建——不只是测试与优化

转载于:https://my.oschina.net/u/3949328/blog/1940610

这篇关于基于图形识别的全品种交易策略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/563068

相关文章

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

SpringRetry重试机制之@Retryable注解与重试策略详解

《SpringRetry重试机制之@Retryable注解与重试策略详解》本文将详细介绍SpringRetry的重试机制,特别是@Retryable注解的使用及各种重试策略的配置,帮助开发者构建更加健... 目录引言一、SpringRetry基础知识二、启用SpringRetry三、@Retryable注解

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR