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

量化交易 - RSRS(阻力支撑相对强度)- 正确用法 - 年均收益18%

经过研究,发现RSRS的正确用法其实是需要用到两个数据,分别是

n: 一阶拟合样本数,m:求均值方差样本数,其中n比较小 如18,m比较大 如1100

经过调优后,收益率显著上升! 如下图:

(并且算法上优化,不重复计算)

 将源码贴出来,感兴趣的点个赞和关注,谢谢!

# 导入函数库
from jqdata import *
import pandas as pd
import numpy as np
import statsmodels.api as smdef initialize(context):set_benchmark('000300.XSHG')set_option('use_real_price', True)set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')g.security = '000300.XSHG'g.buy_beta, g.sell_beta = 0.7, -0.7g.is_first, g.beta_list, g.r2_list = True, [], []run_daily(market_open, time='open', reference_security='000300.XSHG')def calculate_rsrs(end_date='', n=18, m=1100):# n: 一阶拟合样本数,m:求均值方差样本数; 采用普通最小二乘法拟合,前面算过的就不重复计算了if g.is_first:df = get_price(g.security, end_date=end_date, count=m+n, frequency='daily', fields=['high','low'])else:df = get_price(g.security, end_date=end_date, count=n, frequency='daily', fields=['high','low'])for i in range(len(df))[(-m if g.is_first else -1):]:x = sm.add_constant(df['low'][i-n+1:i+1])y = df['high'][i-n+1:i+1]model = sm.OLS(y, x).fit()beta = model.params[1]r2 = model.rsquaredg.beta_list.append(beta)g.r2_list.append(r2)  section = g.beta_list[-m:]mu = np.mean(section)sigma = np.std(section)z_score = (section[-1] - mu)/sigmaz_score_right = z_score * beta * r2g.is_first = Falsereturn z_score_rightdef market_open(context):cash = context.portfolio.available_cashz_score_right = calculate_rsrs(context.previous_date)if z_score_right>g.buy_beta and cash>0:order_value(g.security, cash)elif z_score_right<g.sell_beta and context.portfolio.positions[g.security].closeable_amount > 0:order_target(g.security, 0)

 

 

相关文章:

  • 进行ecovadis认证有哪些优势?百胜咨询:专业ecovadis认证辅导机构
  • Java并发:线程池
  • 车载软件架构 --- 二级boot设计说明需求规范
  • 阻塞队列-ArrayBlockingQueue
  • C++算法(11):vector作为函数参数的三种传递方式详解
  • Mininet--nodelib.py源码解析
  • Fluent 内置双向流固耦合FSI 液舱晃荡仿真计算
  • Vue的模板语法——指令语法
  • Discuz!与DeepSeek的深度融合:打造智能网址导航新标杆
  • 测试基础笔记第八天
  • 如何解决Enovia许可冲突
  • 抱佛脚之学SSM三
  • Linux操作系统--进程等待
  • 【全网最全】23种设计模式思维导图详解 | 含React/Vue/Spring实战案例
  • JavaScript 闭包:从原理到实战应用
  • 单片机 + 图像处理芯片 + TFT彩屏 进度条控件
  • Nacos 客户端 SDK 的核心功能是什么?是如何与服务端通信的?
  • Qt界面控件中点击触发处理耗时业务的方法
  • 【MySQL】详细介绍(两万字)
  • 基于大模型的腹股沟疝全流程预测与诊疗方案研究报告
  • 澳大利亚大选提前投票开始
  • 人民日报聚焦外贸“重镇”福建晋江:多元化布局扩大“朋友圈”
  • 普京签署法律,诋毁俄军将面临最高7年监禁
  • 农业未来十年展望:预计粮食单产水平将提高7.8%,达到421千克/亩
  • 甘肃古浪县发生3.0级地震,未接到人员伤亡和财产损失报告
  • 特朗普就防卫负担施压日本,石破茂:防卫费应由我们自主决定