Bootstrap

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 sm


class RSRS(bt.Indicator):
    lines = ('rsrs', 'R2')

    params = (('N', 18), ('value', 5))

    def __init__(self):
        self.high = self.data.high
        self.low = self.data.low

    def 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.rsquared
        except:

       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量化投资的星辰大海

;