Lyndon的量化修炼之路——布林通道优化策略(二)

article/2025/9/19 10:31:46

策略参数优化


//期市妖风大,小心被刮飞。本文不构成任何实质性建议,也不对任何依此进行的交易结果负责

参数优化几乎是优化每一个量化交易策略的必经之路,对于参数优化的基本方法已经在双均线优化策略中介绍过,再次不多做介绍,后边也还会有对参数优化方法的改进,但再次均不提及,以免使内容过于繁杂。

定义参数组(Tm,Ts,Tc,r),其中Tm表示均线的周期,Ts表示标准差的计算周期,Tc表示价格在中轨以上(或以下)延续周期阈值,r表示标准差乘数。在这里有必要啰嗦一下布林通道的上下轨道计算方法:

上轨道=MA+r×STD
下轨道=MA-r×STD

仍然首先在日K线上利用穷举法对上述回测期间的模型求取最佳参数组合,其中Tm的值域为[5,50],步长为1;Ts值域为[5,50],步长为1;Tc的值域为[5,15],步长为1;r的值域为[0.8,3.6],步长为0.2;各参数之间无关联关系。

计算得到的结果中选择总收益排名前10的参数组合。在均线策略中选择最优策略组合的方法主要参考了总收益和回撤大小,但事实上评判一个策略的优良与否需要考虑的因素角度,在此暂时选择总盈利率(越高越好)、胜率(越高越好)、交易次数(越低越好)、盈亏比(越高越好)、最大权益回撤(越低越好)、总盈利率/最大权益回撤比例(越高越好)六项指标来对参数组进行评价,各指标权重如下:

指标总盈利率胜率交易次数盈亏比最大权益回撤总盈利率/最大权益回撤比例
权重50%5%10%15%8%12%

并将各指标均一化处理后赋以各自权重,相加后得到各参数组的得分,将上述30组参数根据这一评价方法计算后的得分如下图所示:

在这里插入图片描述
其中(45,18,11,3.4)参数组的得分为1.1248,较其他的参数组得分更高,因此将其作为2016年1月1日至2018年9月15日期间回测所使用的参数组合,同时将初始策略在该时间段内的表现进行对比,并使用之前默认的参数组(26,26,-,2)。

策略盈利率年化收益率胜率盈亏比交易次数权益最大回撤比夏普比率
初始策略(26,26,-,2)-49.83%-18.26%61.90%0.352179.81%-1.92
规则优化(45,18,11,3.4)70.49%25.83%35.06%2.867732.48%4.25

在这里插入图片描述

显然,经过优化的参数组表现要强于前者,初始策略表现始终较差,且最后的大行情判断错误,致使较大损失,而参数优化后的策略仍保持了盈利状态,并对后期的大行情有正确的判断。尽管我们无法否认对于样本的参数优化应用于其他样本时,很难保证持续之前的盈利能力,但相信可以通过其他方法来进一步改善参数组的预测能力,而在此将不展开讨论。

状态指标化

在趋势策略里面我们往往会观察不同指标曲线或曲线组合变化的状态,并以此来辅助我们的判断,但实际操作中计算机往往只会根据当前的单一时点的值来对是否发出交易信号进行判断。那么将这一思路引入量化交易中也显得十分有意义,通过将不同的状态定义为固定的数值,使程序在判断交易的过程中参考当时行情与策略呈现的状态,最终决定交易的方式。这里利用布林通道来对该思路进行初步的探索。

首先需要归纳出布林通道较为常见的几种状态:

①通道扩大/收窄;

当通道开始扩大时,说明之前聚集的能量开始逐渐释放,也就是较大的趋势开始形成,当通道收窄时,说明能量释放结束,同时开始为下一次趋势的形成准备。

②中轨与上轨运行方向趋同/背离;

中轨与上轨的背离往往发生在下行趋势中通道扩大的前半部分,或是上行趋势中通道扩大的后半部分,其余的时候表现为趋同。

③中轨于下轨运行方向趋同/背离;

中轨于下轨的背离往往发生在上行趋势中通道扩大的前半部分,或是下行趋势中通道扩大的后半部分,其余的时候表现为趋同。

④价格与轨道运行方向趋同/背离;

当三轨同向运行时,往往是趋势较为稳固的时候,此时价格总体上朝着相同方向运行的可能性较大。

⑤价格运行方向。

这里确定各项指标运行方向的方法,是通过拟合向前一定周期的值,通过斜率的正负判断向上还是向下。然后分别定义5个布尔变量来表示5种不同的状态:Channel(扩大=1,收窄=0)、Up&Mid(趋同=1,背离=0)、Down&Mid(趋同=1,背离=0)、Price&Boll(趋同=1,背离=0)、Price(向上=1,向下=0),此时由于量化的特征,程序运算的结果较为精确,即使偏移的角度较小,价格也不存在严格意义上的横向运行(即价格的回归线性方程斜率不可能为0,此时不考虑涨跌停的情况,因为此情况下无法正常交易)。

通过对历史曲线状态的观察,针对以上5种状态得出以下几个基本的结论:
①当通道扩大时,在已形成的价格运行方向上将形成较大的趋势,此时不宜有与价格方向相反的持仓;
②在较大趋势的前半段形成的价格落差往往大于后半段;
③不宜进行与通道运行方向相背的交易,但当价格轨道运行方向由趋同转为背离时,可以平仓止盈,当再次趋同重新开仓。

这三条结论可以一定程度上过滤掉一部分错误方向的开仓,也可以避免较为明确的趋势开始出现时,程序却错误地判断为观望等情况,将其转换为代码装入程序,依然沿用上一步优化得到的参数组,观察一下利用状态指标优化后的表现。

策略盈利率年化收益率胜率盈亏比交易次数权益最大回撤比夏普比率
规则优化(45,18,11,3.4)70.49%25.83%35.06%2.867732.48%4.25
状态指标化(45,18,11,3.4)80.07%29.25%41.58%2.0510132.48%5.31

在这里插入图片描述

显然在交易的同时加入对曲线状态的考虑,使得模型的回测收益较之前有所提高,同时胜率提高也说明此前的预期基本得到实现。

~~~~~~~~~ ~ 风雨不倒的小尾巴 ~ ~~~~~~~~


http://chatgpt.dhexx.cn/article/3H4A440D.shtml

相关文章

【Python量化】布林带策略

文章目录 一、计算布林带三、构建策略,计算持仓头寸序列和买卖信号序列四、计算策略收益五、绘制交易信号 此文章首发于公众号:Python for Finance 链接:https://mp.weixin.qq.com/s/CJR2gwXkkzFRavZ8I98qdw 布林带(BOLL&#x…

Lyndon的量化修炼之路——布林通道优化策略(一)

//期市妖风大,小心被刮飞。本文不构成任何实质性建议,也不对任何依此进行的交易结果负责经过某位大佬的提醒,原来大白有另外的含义,侵权了侵权了(原谅我孤陋寡闻),所以还是简单点好。 我也不知…

现货黄金指标精讲(布林通道)

现货黄金的特点在于可以多空双向交易,如果投资者能精通一到两种的技术分析手段,必定能大幅提高交易的成功率。布林通道指标不仅能揭示金价运行的趋势,还能提供清晰的买卖信号,帮助长、中、短线的投资者提高交易决策的质量。 一、布…

布林通道 Bollinger Bands——非炒股向个人学习笔记

有一组数据,大多数是以时间序列的数据,如年、月、日为度量的某指标变化。(上图的绿线不用管) 布林通道的作用是描述数值的近期波动程度,具体表现就表现在轨道的收窄与拓宽上。 一、基本概念 作图需设定的变量&#x…

eclipse安装教程与使用教程

第一首先在电脑的浏览器中输入“eclipse官网”。 然后在网页中点击进入eclipse的官方下载网站。 2 第二然后再点击页面右边的“download”。 在弹出的页面下面点击“download packages”。 3 第三然后在下面找到“eclipse IDE for java developers”的选项。 在选项右边有…

eclipse基础实用教程

一、打开eclipse,创建java文件 1.点击eclipse.exe文件 Workspace:(这个是你写的代码存放位置,可以自己选择创建一个文件夹) 2.新装的eclipse中在new里面未找到java project, 点击Open Perspective&#…

eclipse使用教程(图文)

很多人都知道要用eclipse来做java开发,但很多的新手朋友却不知道怎么下载和安装eclipse。下面给你介绍一下怎么下载和安装eclipse来用于自己的学习或者项目开发, 很多人都知道要用eclipse来做java开发,但很多的新手朋友却不知道怎么下载和安装…

Eclipse详细安装教程

Eclipse安装教程 前言一、Eclipse是什么?二、安装步骤1. Eclipse下载下载网址 2. Eclipse安装 前言 Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。 一、Eclipse是什么? Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言…

Eclipse最新最简最详细安装教程

Eclipse最新最简最详细安装教程 1、首先打开官方地址(见下面) Eclipse官方下载地址:点击打开官方链接 2、点击红箭头指向的红框中的“Download Packages”。 3、出现新的页面之后往下翻找到并点击红箭头指向的红色矩形的部分Eclipse IDE f…

Eclipse安装教程 ——史上最详细安装Java Python教程说明

Eclipse安装教程 ——史上最详细安装Java&Python教程说明 (Win7_64位 Eclipse 64位 JDK_8u131_64位 python2.7.8 PyDev5.7.0插件) 适用操作系统:Win7 64位 所需要的软件以及插件:Eclipse 64位、JDK_8u131_64位、python2.7.8、PyDev5.7.0插件 …

Eclipse 教程

Eclipse的使用 前言一、Eclipse的介绍二、下载与安装1.下载2.安装 三、基本使用步骤1.启动2.创建项目3. 创建包及class文件 四、一些使用技巧1. 快速生成构造方法2.自动补全3. 快速生成get-set方法4. 查找某变量所在位置,或者替换某变量的变量名5. 快速导入包6.合理利用eclipse…

视频消重处理,视频原创怎么做,视频处理软件

现在的新传媒行业,有很多小伙伴搬过来的视频都不太清楚怎么把它变成自己的视频,也就是消重,现在有一款工具可以达到这种消重原创,像某头条通过率在96%以上了 这是一个视频消重处理软件,现在给大家说说功能和页面 1&…

视频合成-moviepy

最近发现,公司在进行视频合成的时候,部分业务不是在客户端进行合成,而是在后端进行合成,让我有点惊讶,立马问开发要了代码,想要看看到底在后端如何处理的。 学习文档:https://blog.csdn.net/uc…

计算机图像视频处理

计算机图像视频处理 计算机视觉概论 计算机视觉概念 计算机图像处理,也即数字图像处理(Digital Image Processing), 是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,是通过计算机对图像进行去除噪声、增强、复原、分割、提取…

视频处理

1.视频处理 在视频压缩前后,对视频图像质量增强的操作视频编解码系统输出的图像主观质量不仅与压缩算法的性能有关,还受视频处理的影响压缩之前对视频的处理称作预处理(Pre-processing)压缩之后对视频的处理称作后处理&#xff0…

基于PythonOpenCv的视频图像处理

博主简介 博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的&#xff0c…

openpose如何处理视频

openpose提供了官方的bin文件,可以通过shell直接处理视频, 此外还提供了一系列的demo文件,用于处理图片文件。 那如何修改官方的demo用来处理视频呢? 找了不少别人的教程都是通过 cv2.dnn.readNetFromCaffe(protoFile, weight…

使用python的视频处理

本文探讨的是使用python对视频进行如下操作: 将待处理的视频分割成帧对每一帧进行处理对处理后的帧合并得到最终的视频 为了方便接下去的实验过程,读者必须具备如下的工具: 1、依赖包python-opencv 2、借助工具ffmpeg import cv2 import …

VideoProc v4.4 多功能视频处理工具

前言 VideoProc是WinX/MacX HD Video Converter Deluxe的进阶版本,在功能上更上一层。VideoProc全方位整合了影片转档、影片压缩、(YouTube)影片下载、影片剪辑的功能,使你在Windows上管理不同的多轨道、SD、HD、4K影片的绝佳方案…

视频分类Video-Swin-Transformer

视频分类Video-Swin-Transformer 视频分类Video-Swin-Transformer 视频分类Video-Swin-Transformer前言一、Video-Swin-Transformer二、环境安装三、数据预测四、对源码进行更改五、总结六、参考资料 前言 提示:这里可以添加本文要记录的大概内容: 星光…