ETF动量轮动+RSRS择时,RSRS修正标准分,回撤降至16%

news2024/11/18 5:36:45

原创文章第113篇,专注“个人成长与财富自由、世界运作的逻辑, AI量化投资”。

昨天的策略我是比较满意的,沿着进化的方向在迭代我们的策略。ETF轮动+RSRS择时,加上卡曼滤波:年化48.41%,夏普比1.89

我们会持续做这件事。

星球的会员群里,大家的讨论氛围非常好,非常好。这才是我们做社群的核心目的,也坚定我想把这件事持续做下去的信心。

很多人技术很好,只是没有找到量化的方向;另外一些同学经验非常丰富,需要前沿技术的突破来提升等等。

01 RSRS标准分

前面我们计算了RSRS的值,在研报上还有标准分,就是rolling(600)天的标准化。这里我们实现一个Norm的表达式。

class Norm(Rolling):
    def __init__(self, feature, N):
        super(Norm, self).__init__(feature, N, "slope")

    def _load_internal(self, instrument):
        # 因子标准化
        def get_zscore(sub_series):
            mean = np.mean(sub_series)
            std = np.std(sub_series)
            return (sub_series[-1] - mean) / std

        series = self.feature.load(instrument)
        series = series.fillna(0.0)
        result = series.rolling(self.N, min_periods=100).apply(get_zscore)
        series = pd.Series(result, index=series.index)
        return series

另外昨天有星球成员反馈,可以让quantstats直接打开html。

import webbrowser
webbrowser.open('stats.html')

使用标准分进行回测:

RSRS_benchmark = '510300.SH'
#e.add_extra(RSRS_benchmark, fields=['RSRS($high,$low,18)', '$RSRS_beta<0.8'], names=['RSRS', 'signal'])
e.add_extra(RSRS_benchmark, fields=['RSRS($high,$low,18)','Norm($RSRS_beta,600)','$Zscore<0.0'], names=['RSRS','Zscore', 'signal'])

在使用标准分之后,回撤会进一步下降,当然收益率也随之减少。

02 总结与反思

动量与RSRS都是不错的东西,如何把它们有机整合起来,还需要再做更深层次的挖掘,结合真实交易背后的逻辑,实现订单与交易的情况进行分析。一个指标完深入了,比起追求更多花里胡哨的东西,要有用得多。

我们还会继续在RSRS,KF,动量,ETF轮动策略上深挖。

03  随笔

当我这个原创数字更新到1000时,我相信疫情消散,人间皆安。

昨天看万维纲的《高手》,做决策的时候,10/10/10的理念,也就是想想自己10分钟,10个月,10年后对自己当前这个决策会怎么看。

我把它引入到自己的情绪管理。10秒,10小时,1000天。

10秒原则会让你避免掉很多情绪上的”应激反应“,很多人在地铁上与陌生人能吵得面红耳赤,甚至大打出手。其实很多时候,想骂人的话,想动的手,你让自己能冷静10秒钟,感觉不叫事;

10小时,差不多是一个半天,都决策时,给自己一个冷静期;

10年太长,那么沧海桑田,往前看三年,想想眼前面临的困难,纠结,担忧还算不算事?往前看三年,疫情不是事。我们要做的,趁着这些时光,快速充实自己,在类似的黑天鹅出现时,不会再次陷入被动。

ETF轮动+RSRS择时,加上卡曼滤波:年化48.41%,夏普比1.89

我的开源项目及知识星球

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

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

相关文章

Linux从入门到精通(十)——进程管理

文章篇幅较长&#xff0c;建议先收藏&#xff0c;防止迷路 文章跳转Linux从入门到精通&#xff08;八&#xff09;——Linux磁盘管理goLinux从入门到精通&#xff08;九&#xff09;——Linux编程goLinux从入门到精通&#xff08;十&#xff09;——进程管理goLinux从入门到精…

Go Web项目 接口开发全流程

风离不摆烂学习日志 Day5 — Go Web项目 接口开发全流程 接上篇地址 Web项目学习之项目结构 routes包分析 InitRoutes package routesimport ("fmt""github.com/gin-gonic/gin""go-web-mini/common""go-web-mini/config""go-we…

Charles断点

1、断点测试的含义 1.1、断点&#xff08;英语&#xff1a;Breakpoint&#xff09;是程序中为了调试而故意停止或者暂停的地方。 调试设置断点&#xff1a;可以让程序运行到该行程序时停住&#xff0c;借此观察程序到断点位置时&#xff0c;其变量、寄存器、I/O等相关的变量内…

mysql InnoDB 索引结构

目录 前言 1. InnoDB常见的索引 2. B树索引 2.1 二分查找法 2.2 二叉查找树 2.3 平衡二叉树 2.4 B树索引 2.5 B树索引 2.5.1 聚集索引 2.5.2 非聚集索引 2.5.3 聚集索引与非聚集索引区别 前言 索引的本质是让mysql以最高效、扫描行数最少的方式找到需要的数据。索引…

Paper写作怎么了解题目方面的重要性?

我们常听到&#xff1a;Paper的好坏&#xff0c;从选择题目开始&#xff01;可见选择Paper题目的重要性。这正是我们今天要探讨的内容。 We often hear that the quality of paper starts from choosing the topic!This shows the importance of selecting paper topics.This i…

数字信号处理-9-离散余弦变换

1 波形合成 假定给一系列振幅和一系列频率&#xff0c;要求构建一个信号&#xff0c;此信号是这些频率元素的和。这样的操作就是合成 def synthesize(amps, fs, ts):"""amps 振幅数组fs 频率数组ts 采样时间点"""# ts 和 fs 的外积&#xff0c…

Spring Cloud(十三):Spring 扩展

Spring扩展点 Bean的生命周期中的BeanPostProcessor扩展点Spring扩展点梳理 Spring扩展点应用场景 整合Nacos 服务注册 ApplicationListener扩展场景——监听容器中发布的事件Lifecycle Nacos 发布订阅 & Eureka 服务启动、同步、剔除Lifecycle扩展场景——管理具有启动、停…

JSP快速入门

目录 1、jsp简述 2、JSP快速入门 2.1、搭建环境 2.2、导入JSP页面 2.3、编写代码 2.4、启动测试 3、JSP原理 4、JSP脚本 4.1、JSP脚本的分类 4.2、案例 4.2.1、需求 4.2.2、实现 ​编辑 4.2.3、测试 ​编辑4.3、JSP缺点 5、JSP语法 5.1、JSP页面的基本结构…

【每日一题Day36】LC1742盒子中小球的最大数量 | 哈希表 找规律

盒子中小球的最大数量【LC1742】 You are working in a ball factory where you have n balls numbered from lowLimit up to highLimit inclusive (i.e., n highLimit - lowLimit 1), and an infinite number of boxes numbered from 1 to infinity. Your job at this facto…

[附源码]java毕业设计养老院管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

C++ 语言学习 day10 复习(2)

1.友元 的三种形式 /*********** 友元 ************ * ①全局函数做友元 * ②类做友元 * ③类成员函数做友元 * **************************/ 代码&#xff1a; #include <iostream> #include <string> using namespace std;/* ③类函数友元 : 程序规则{ 自上…

Charles下载抓包基本流程

一、Charles官网下载链接&#xff1a; https://www.charlesproxy.com/download/ 二、抓包步骤&#xff1a; 1、安装Charles&#xff0c;并打开 2、电脑设置代理端口&#xff1a; 打开charles->Proxy->Proxy Settings,设置代理端口&#xff0c;如图所示 3、手机设置代…

Day10--配置uni-app的开发环境

1.啥子是ui-app呢&#xff1f; 1》官方介绍&#xff1a; 2》博主介绍 ************************************************************************************************************** 2.开发工具建议使用HBuilder X *************************************************…

BSA/HSA表面修饰二甘醇酐,人血清白蛋白HSA、牛血清白蛋白BSA偶联二甘醇酐

BSA作用&#xff1a; BSA一般做为稳定剂被用于限制酶或者修饰酶的保存溶液和反应液中&#xff0c;因为有些酶在低浓度下不稳定或活性低。加入BSA后&#xff0c;它可能起到“保护”或“载体”作用&#xff0c;不少酶类添加 BSA后能使其活性大幅度提高。不需要加BSA的酶加入BSA一…

【时序预测-SVM】基于鲸鱼算法优化支持向量机SVM实现时序数据预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

【数据结构】二叉树详解(上篇)

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《数据结构》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; 二叉树&…

18 【Redux Toolkit】

18 【Redux Toolkit】 上边的案例我们一直在使用Redux核心库来使用Redux&#xff0c;除了Redux核心库外Redux还为我们提供了一种使用Redux的方式——Redux Toolkit。它的名字起的非常直白&#xff0c;Redux工具包&#xff0c;简称RTK。RTK可以帮助我们处理使用Redux过程中的重…

ABTest样本量计算

A/B 测试一般是比较实验组和对照组在某些指标上是否存在差异&#xff0c;当然更多时候是看实验组相比对照组某个指标表现是否更好。 这样的对比在统计学上叫做两样本假设检验&#xff0c;即实验组和对照组为两样本&#xff0c;假设检验的原假设Ho&#xff1a;实验组和对照组无…

Springboot 整合 JWT + Redis 实现双Token 校验Demo(简单实现)

一、新建一个SpringBoot 项目&#xff0c;springboot项目创建过程详见 mac idea 创建 springboot 项目_JAVA&#xff24;WangJing的博客-CSDN博客_mac idea创建springboot项目 二、SpringBoot 整合使用 Rdis SpringBoot 项目 添加 redis配置_JAVA&#xff24;WangJing的博客…

Linux内存映射函数mmap与匿名内存块

学习系列&#xff1a;《APUE14.8》《CSAPP9.8.4》 1 总结 memory-mapped io可以将文件映射到内存中的buffer&#xff0c;当我们从buffer读写数据时&#xff0c;其实操作的是对应文件中的数据。这样可以达到不使用READ/WRITE的IO操作。mmap也可以直接映射匿名内存块&#xff0c…