RSRS研报复现——年化21.5%,含RSRS标准分,右偏标准分的Backtrader指标计算(代码+数据)

原创文章第583篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。

继续Backtrader,今天讲讲指标扩展。

作为规则型的量化框架,指标是非常重要的元素,它是策略的基础。

我们来扩展一个经典的指标,RSRS——来自光大证券研报的“阻力支撑”指标。

尽管Backtrader内置140多个指标及运算符,外加talib的扩展,仍然不够,比如RSRS指标。

继承自bt.Indicator,lines里定义我们这个指标有几个line, params是参数,在init里做一次性的“向量”运算,在next里按元素计算。

Backtrader的指标继承自bt.Indicator。与实现策略类似,在next函数里计算指标的值。我们取high, low两个数据序列,每次取N个值,然后线性回归取斜率。

import backtrader as bt
import numpy as np
import statsmodels.api as smclass RSRS(bt.Indicator):lines = ('rsrs', 'R2')params = (('N', 18), ('value', 5))def __init__(self):self.high = self.data.highself.low = self.data.lowdef next(self):high_N = self.high.get(ago=0, size=self.p.N)low_N = self.low.get(ago=0, size=self.p.N)try:X = sm.add_constant(np.array(low_N))model = sm.OLS(np.array(high_N), X)results = model.fit()self.lines.rsrs[0] = results.params[1]self.lines.R2[0] = results.rsquaredexcept:

       self.lines.rsrs[0] = 0

       self.lines.R2[0] = 0




class RSRS_Norm(bt.Indicator):
lines = ('rsrs_norm','rsrs_r2','beta_right')
params = (('N', 18), ('M', 600))

def __init__(self):
self.rsrs = RSRS(self.data)
self.lines.rsrs_norm = (self.rsrs - bt.ind.Average(self.rsrs, period=self.p.M))/bt.ind.StandardDeviation(self.rsrs, period= self.p.M)
self.lines.rsrs_r2 = self.lines.rsrs_norm * self.rsrs.R2
self.lines.beta_right = self.rsrs * self.lines.rsrs_r2

图片

图片

代码在如下位置:

图片

代码下载:

AI量化实验室——2024量化投资的星辰大海

基于大模型的可控文本生成

CTG(Controllable Text Generation)——在传统的文本生成的基础上,增加对生成文本一些属性、风格、关键信息等等的控制,从而使得生成的文本符合我们的某种预期。

现在大模型在生成文本方面,流畅度是没有问题的,而且天然支持多轮对话,意图识别。——但也有一个弊端,就是它仍然是计算下一个字符的概率,那么,对于内容的走向,我们是无法掌控,当然更无法进行微调改进。

比如data-to-text领域,我们希望大模型去查询数据库,然后用自然语言表达给用户。这在大数据领域,自动化报表,或者金融领域——量化投研都有非常有用。

历史文章:

年化15.73%:创业板指数布林带突破Backtrader策略(代码+数据)

年化19.2%:backtrader+quantstats实现创业板动量择时(代码+数据)

年化达21%(K=1),最大回撤35%,K=3时,卡玛比最优,最大回撤20%(年化15.2%)| Quantlab5.0代码发布

AI量化实验室——2024量化投资的星辰大海

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3225668.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

ESP-NOW无线通信

ESP-NOW无线通信 ESP-NOW无线通信协议简介ESP-NOW单向通信ESP-NOW双向通信ESP32的MAC地址总结 ESP-NOW无线通信协议简介 ESP-NOW 是由Espressif开发的基于数据链路层的无线通信协议,它将五层 OSI 上层协议精简为一层,数据传输时无需依次经过网络层、传输…

气膜体育馆的空气质量控制系统智能化管理—轻空间

随着科技的不断进步,气膜体育馆在全球范围内得到了广泛应用。一个重要的原因是其先进的空气质量控制系统,这不仅提高了场馆内部环境的舒适度,也保障了使用者的健康安全。轻空间将详细探讨气膜体育馆的空气质量控制系统是如何实现智能化管理的…

教师管理小程序的设计

管理员账户功能包括:系统首页,个人中心,教师管理,个人认证管理,课程信息管理,课堂记录管理,课堂统计管理,留言板管理 微信端账号功能包括:系统首页,课程信息…

Web知识库应用程序LibreKB

什么是 LibreKB ? LibreKB 是一款知识库 Web 应用程序。免费、开源、自托管,基于 PHP/MySQL。 官方并没有 Docker 镜像,老苏这次图省事,并没有像往常一样构建一个镜像,而是基于 Docker 搭建了一个 LAMP 环境&#xff0…

警惕!焦虑过度的这些症状正在悄悄侵蚀你的生活!

在快节奏的现代社会中,焦虑已成为许多人生活的一部分。适度的焦虑可以激发我们的斗志,推动我们前进。然而,当焦虑过度时,它可能会变成一把双刃剑,对我们的身心健康造成严重威胁。本文将探讨焦虑过度的表现,…

【Python进阶】拷贝、闭包、装饰器,函数分类

目录 一、对象属性和类属性 1、对象属性 2、类属性 二、类方法和静态方法 1、类方法 2、静态方法 3、扩展综合案例 三、深拷贝和浅拷贝 1、浅拷贝 2、深拷贝 3、浅拷贝和深拷贝的区别 四、函数知识 1、函数的定义与调用 2、函数名记录的是引用 3、函数名当作参数…

记录|C#安装+HslCommunication安装

记录线索 前言一、C#安装1.社区版下载2.VS2022界面设置 二、HslCommunication安装1.前提2.安装3.相关文件【重点】 更新记录 前言 初心是为了下次到新的电脑上安装VS2022做C#上机位项目时能快速安装成功。 一、C#安装 1.社区版下载 Step1. 直接点击VS2022,跳转下…

apksigner安装

apksigner安装 下载cmdline-tools获取SDK 组件如果发生报错&#xff1a;Error: Could not determine SDK root.Error: Either specify it explicitly with --sdk_root or move this package into its expected location: <sdk>\cmdline-tools\latest\&#xff0c;并把 安…

首月免月租,手机卡首月免月租什么意思?

手机卡首月免月租是真的吗&#xff1f;只有首月免吗&#xff1f;最近有不少小伙伴来咨询首月免月租这件事了&#xff0c;今天这篇文章就给大家解开这个疑惑。 话不多说&#xff0c;下面让我们直接进入正题&#xff1a; 首先&#xff0c;三大运营商的卡一般只有移动和电信的套餐…

14.爬虫---Selenium 经典动态渲染工具的使用

14.Selenium 经典动态渲染工具的使用 1.查看chrome浏览器版本2.ChromeDriver 安装3.Selenium 安装4.验证安装5.基本用法5.1启动浏览器5.2导航到页面5.3查找元素5.3.1单个元素 find_element5.3.2多个元素 find_elements 5.4 执行操作5.5 动作链ActionChains5.6 执行 JavaScript …

帕金森病患者应该如何确定自己每天适宜的饮水量?

帕金森病患者确定每天适宜的饮水量时&#xff0c;应该考虑到药物副作用、运动障碍和便秘等问题。建议的饮水量通常是每天6至8杯水&#xff0c;相当于约2000毫升左右。这个量可以根据个人的体重、气候条件、活动水平以及是否有其他健康问题进行适当调整。 为了科学合理地安排饮水…

半导体光伏废水深度除氟树脂

摘要&#xff1a;海普开发的HP3600纳米除氟吸附剂&#xff0c;这种树脂对水体中的氟均具有高效的选择性&#xff0c;已应用于多个领域含氟废水的处理&#xff0c;为客户提供了优质、高效的除氟解决方案。 #半导体光伏废水深度除氟树脂 半导体作为各种高新技术飞速发展的基础&a…

IF不降反增!审稿速度,比我家网速还快!3本接受率高的医学期刊,赶紧码住!

&#x1f50d; 为什么选择这3本期刊&#xff1f; 今天老毕给大家分享3本医学 SCI&#xff0c;分别为Tumori Journal、Adipocyte以及Annals of Medicine。 这3本医学杂志&#xff0c;不仅审稿速度快&#xff0c;录用率还高&#xff0c;其中不乏接受率为48%的“毕业神刊”。2024年…

图解HTTP(5、与 HTTP 协作的 Web 服务器 6、HTTP 首部)

5、与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站&#xff0c;也可作为通信路径上的中转服务器提升传输效率。 用单台虚拟主机实现多个域名 在相同的 IP 地址下&#xff0c;由于虚拟主机可以寄存多个不同主机名和域名的 Web 网站&#xff0c;因此…

万字学习——DCU编程实战补充

参考资料 2.1 详解DCU架构 DCU 开发与使用文档 (hpccube.com) DCU架构是什么样的 计算单元阵列&#xff0c;如图CU0、CU1等缓存系统&#xff08;L1一级缓存&#xff0c;L2二级缓存&#xff09;全局内存(global memory)CPU和DCU数据通路&#xff08;DMA&#xff09; 我的理解…

如何在 Windows 10 上恢复未保存的 Word 文档

您是否整晚都在处理一个重要的 word 文件&#xff0c;但忘记保存它了&#xff1f;本文适合您。在这里&#xff0c;我们将解释如何恢复未保存的 word 文档。除此之外&#xff0c;您还将学习如何恢复已删除的 word 文档。 从专业人士到高中生&#xff0c;每个人都了解丢失重要 W…

Linux初始化新的git仓库

1.在git服务器上找到项目常部署的git地址可以根据其他项目的git地址确认 例如ssh://git192.168.10.100/opt/git/repository.git 用户名&#xff1a;git&#xff08;前面的是用户&#xff09; 服务器地址&#xff1a;192.168.10.100 git仓库路径&#xff1a;/opt/git/ 2.在服务器…

C++笔试真题

可变分区管理方案 最佳适应&#xff1a;空闲区按容量递增最坏适应&#xff1a;空闲区按容量递减首先适应&#xff1a;空闲区按地址递增 C的结构体中有构造函数。 Linux新建用户或组 useradd&#xff1a;命令用于建立用户账号usermod&#xff1a;修改用户账号groupadd&#…

中职网络安全B模块Cenots6.8数据库

任务环境说明&#xff1a; ✓ 服务器场景&#xff1a;CentOS6.8&#xff08;开放链接&#xff09; ✓ 用户名&#xff1a;root&#xff1b;密码&#xff1a;123456 进入虚拟机操作系统&#xff1a;CentOS 6.8&#xff0c;登陆数据库&#xff08;用户名&#xff1a;root&#x…

第一次坐火车/高铁,如何坐?全流程讲解

第一次坐动车注意事项 第一次乘动车流程&#xff1a;进站→安检→候车厅→找检票口→过闸机→站台候车→找车厢→上车找座→下车→出站 乘车流程 一、进火车站/高铁站&#xff1a;刷购票证件原件进站 1、自助闸机刷证&#xff1a;身份证 2、人工通道&#xff1a;护照、临时…