当前位置: 首页 > news >正文

年化60.7%,最大回撤-16.5%,RSRS标准分择时效果差不多

原创内容第653篇,专注量化投资、个人成长与财富自由。

中秋节,祝大家中秋快乐!

人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。

今天引入RSRS来择时,看下策略效果。

图片

年化60.7%,最大回撤-16.5%,RSRS标准分择时效果差不多。

图片

numpy版本的rsrs指标计算,性能还可以:

import numpy as npfrom numpy.lib.stride_tricks import as_strided as strideddef rolling_window(a: np.array, window: int):'生成滚动窗口,以三维数组的形式展示'shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)strides = a.strides + (a.strides[-1],)return strided(a, shape=shape, strides=strides)def numpy_rolling_regress(x1, y1, window: int = 18, array: bool = False):'在滚动窗口内进行,每个矩阵对应进行回归'x_series = np.array(x1)y_series = np.array(y1)# 创建一个一维数组dd = x_seriesx = rolling_window(dd, window)yT = rolling_window(y_series, window)y = np.array([i.reshape(window, 1) for i in yT])ones_vector = np.ones((1, x.shape[1]))XT = np.stack([np.vstack([ones_vector, row]) for row in x])  # 加入常数项X = np.array([matrix.T for matrix in XT])  # 以行数组表示reg_result = np.linalg.pinv(XT @ X) @ XT @ y  # 线性回归公示if array:return reg_resultelse:frame = pd.DataFrame()result_const = np.zeros(x_series.shape[0])const = reg_result.reshape(-1, 2)[:, 0]result_const[-const.shape[0]:] = constframe['const'] = result_constframe.index = x1.indexfor i in range(1, reg_result.shape[1]):result = np.zeros(x_series.shape[0])beta = reg_result.reshape(-1, 2)[:, i]result[-beta.shape[0]:] = betaframe[f'factor{i}'] = resultreturn frame@calc_by_symbol
def RSRS(high: pd.Series, low: pd.Series, N: int = 18, M: int = 600):beta_series = numpy_rolling_regress(low, high, window=N, array=True)beta = beta_series.reshape(-1, 2)[:, 1]beta_rollwindow = rolling_window(beta, M)beta_mean = np.mean(beta_rollwindow, axis=1)beta_std = np.std(beta_rollwindow, axis=1)zscore = (beta[M - 1:] - beta_mean) / beta_stdlen_to_pad = len(low.index) - len(zscore)# print(len_to_pad)pad = [np.nan for i in range(len_to_pad)]pad.extend(zscore)zscore = pd.Series(pad, index=low.index)len_to_pad = len(low.index) - len(beta)pad = [np.nan for i in range(len_to_pad)]pad.extend(beta)beta = pd.Series(pad, index=low.index)return zscore

一点感受,复杂且高大上的指标,看起来很酷,其实过拟合和失效的可能性更高。有时候,回归到简单的指标,比如均线,ATR,RSI等经典指标反而会有惊喜。

代码下载:AI量化实验室 星球,已经运行三年多,1100+会员。quantlab代码交付至5.X版本,含几十个策略源代码,因子表达式引擎、遗传算法(Deap)因子挖掘引等,每周五迭代一次。

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

02 五年财务自由退休

财富的核心永远是价值创造。 

把你擅长的事情,产品化。

把你热爱的事情,变得擅长。就是这个逻辑。 

重要的事(why),这是你的价值观,是一切的原点。 

擅长的事(how), 你才能交付你的价值,这是交换规律决定的。

喜欢的事(what),唯热爱可抵岁月长。

当身边的朋友开始消费降级。

当有人已经对未来找到工作不报任何希望。

真正的考验就将开始。

你身边有否这样的朋友?

似乎他们什么都知道,从宏大叙事到八卦野史。

但似乎就是什么也没有去做。

所谓“知行合一”。可能就要解决这样的问题吧。

重要的事:自由、简单,好奇,成果。

擅长的事:逻辑,本质,分享

喜欢的事:宏观,整合创造。

限时免费,感兴趣可入)五年之约,一起出发吧!

作者:AI量化实验室(专注量化投资、个人成长与财富自由)

 扩展  •  历史文章   

• 年化收益52%,最大回撤13%,卡玛比率3.77,ETF轮动系列大有可为(附策略代码和数据下载)。

• 年化12.6%,最大回撤才2.6的债券轮动策略,卡玛比4.79,稳稳的幸福

• 年化收益61.9%,最大回撤-13.3%,卡玛比率达到4.6,ETF趋势策略优化

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


http://www.mrgr.cn/news/28642.html

相关文章:

  • 零基础Java第十六期:抽象类接口(二)
  • Visual Studio 2022 安装
  • SCUI Admin + Laravel 整合
  • wordpress站外调用指定ID分类下的推荐内容
  • openresty入门教程:rewrite_by_lua_block
  • 【Qt】Macbook M1下载安装
  • pytorch 模型训练太慢怎么办,试一试这17种方法可以优化训练过程,pytorch 提高训练速度的方法 除了num_worker
  • 【小白】一文安装anaconda
  • Java创建者模式(一)——单例设计模式(饿汉式、懒汉式、枚举式 | 完成详解,附有代码+案例)
  • docker容器镜像服务配置
  • Vue学习记录之一(介绍及脚手架的使用)
  • 深入解析 Cursor:AI 驱动的编程工具与应用示例
  • RabbitMQ Spring客户端使用
  • 道路裂缝,坑洼,病害数据集-包括无人机视角,摩托车视角,车辆视角覆盖道路
  • pytorch训练过程搭建及模型的保存与加载
  • LAMP环境搭建记录:基于VM的Ubuntu虚拟机
  • DFT理论知识 scan insertion详解
  • C++——stack和queue的模拟实现
  • 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)
  • Linux per memcg lru lock
  • 编程辅助工具下一个热门应用场景是什么?(二)
  • C++ 带约束的Ceres形状拟合
  • Node.js 安装及项目实践
  • MySQL索引
  • istio中serviceentry结合vs、dr实现多版本路由
  • 【计算机网络 - 基础问题】每日 3 题(九)