年化28.5,最大回撤23.5%,夏普比1.19​,红利低波动+创成长ETF的趋势轮动策略(代码+数据)

一直说世界运行的逻辑,如何抽丝剥茧?

两个要素,一是科技,二是金融。科技代表先进的生产力,金融代表生产关系再分配。

两大要素成就这个星球上最强的帝国。

后续我们会着重从科技、金融的视角,去看待历史,立足当下,解读未来。

今天是星球每周发布代码和策略集的日子。

今天还要新增一个策略,在昨天风险平价策略稳健的绝对型收益策略:长期年化10.6%的风险平价策略(代码+数据)的基础上,加上波动率。

波动率是用户自己可以调节的,波动率高,预期收益就大,反之亦然。

在风险平价给出权重的基础上,计算预期波动率,若波动率太高,则等比例降低风险资产权重,反之提升。

这是波动率设定为7%的效果,策略更加稳健,夏普比得到进一步提升。

图片

本地化运行界面:

图片

图片

class TargetVol(Algo):
    def __init__(
            self,
            target_volatility,
            lookback=pd.DateOffset(months=3),
            lag=pd.DateOffset(days=0),
            covar_method="standard",
            annualization_factor=252,
            exclude=[]
    ):
        super(TargetVol, self).__init__()
        self.target_volatility = target_volatility
        self.lookback = lookback
        self.lag = lag
        self.covar_method = covar_method
        self.annualization_factor = annualization_factor
        self.exclude = exclude

    def __call__(self, target):
        current_weights = target.temp["weights"]
        selected = current_weights.keys()

        # if there were no weights already set then skip
        if len(selected) == 0:
            return True

        t0 = target.now - self.lag
        prc = target.df_close.loc[t0 - self.lookback: t0, selected]
        returns = prc.pct_change().dropna()

        if len(returns) < 10:
            return True

        # calc covariance matrix
        # if self.covar_method == "ledoit-wolf":
        #    covar = sklearn.covariance.ledoit_wolf(returns)
        if self.covar_method == "standard":
            covar = returns.cov()
        else:
            raise NotImplementedError("covar_method not implemented")

        weights = pd.Series(
            [current_weights[x] for x in covar.columns], index=covar.columns
        )

        vol = np.sqrt(
            np.matmul(weights.values.T, np.matmul(covar.values, weights.values))
            * self.annualization_factor
        )

        # 波动率偏小
        count = 0
        if vol < self.target_volatility:
            while vol < self.target_volatility:
                count += 1
                if count > 10:
                    break

                mul = self.target_volatility / vol

                for k in target.temp["weights"].keys():
                    if k in self.exclude:  # exclude通常为债券等低风险
                        continue
                    target.temp["weights"][k] = (
                            target.temp["weights"][k] * mul
                    )

                weights = pd.Series(
                    [target.temp["weights"][x] for x in covar.columns], index=covar.columns
                )

                vol = np.sqrt(
                    np.matmul(weights.values.T, np.matmul(covar.values, weights.values))
                    * self.annualization_factor
                )

            if vol is float('NaN'):
                return True
            weights = pd.Series(
                [target.temp["weights"][x] for x in covar.columns], index=covar.columns
            )
            # print(target.temp["weights"])
            target.temp["weights"] = weights / weights.sum()
            # print(target.temp["weights"])
            return True

        for k in target.temp["weights"].keys():
            if k in self.exclude:  # exclude通常为债券等低风险
                continue
            target.temp["weights"][k] = (
                    target.temp["weights"][k] * self.target_volatility / vol
            )

        '''

        print(self.target_volatility[k] / vol,weights, new_weights)
        print(new_vol)
        '''

        return True

所以策略及系统代码已经打包发布,请大家前往星球下载更新:

图片

【星球优惠券】AI量化实验室&财富自由践行社

吾日三省吾身

我在“财富自由践行社”里留个作业题,希望大家说说对财富自由的理解。

感谢同学们的认真答复,下面的节选挺有代表性的。

图片

以下是我在星球的答复

看了几位同学的回复,在意料之中。想到财富自由,更多联想到的是“欲望”而不是自由。

专栏里第一篇文章:“财富自由之路,从正确认识财富自由开始——我的财富自由公式”。希望大家能够达成共识。随心所欲的财富是机遇,能力,运气多种因素叠加的结果,不是普通人可以期望和安排的。

大家说的房子,其实是对过去十几年房价暴涨带来的误解。你可以这么想,去掉商品属性,房子的价值是什么?

你说住?不对,北京远郊大房子肯定比老破小好住。

住,一是离公司近;二是孩子读书。

所谓财富自由,是不必为生活而工作,第一个因素去掉。你会发现,如果没有工作的约束,地点不是限制,一线城市并非必须。

三线乃至三线城市一流的教育资源,不比北京二线教育资源差。医疗类似。张雪峰就从北京去了苏州。

所以,我们定义财富自由 = 被动收入 > 必须开支 = 本金*收益率>生活开支即可。

欲望低(生活开支少) = FIREer。

就三个要素:本金(我们讲成长,成功是概率的),收益率(10%,咱们星球来完成), 欲望(靠你自己)

最近策略与文章:

稳健的绝对型收益策略:长期年化10.6%的风险平价策略(代码+数据)

十二年年化21.4%的大小盘(沪深300vs创业板ETF)轮动策略,简单而有效(代码+数据下载)

创业板单标的择时策略,年化20.6%,投资只要你有耐心,守纪律,年化20%+并不难。(代码+数据)

实盘SAAS化策略:长期年化29.6%,代码发布,请下载更新

我们有两个星球:

 AI量化实验室,关注AI量化投资,开发&开源共享20%+的策略集,数据集。多因子,AI模型,量化框架等。

财富自由践行社:10%低风险投资组合+财富自由快车道的心法,践行手册,主要不聊投资,谈储蓄,复利,成长, 人生意义与幸福。

【星球优惠券】AI量化实验室&财富自由践行社

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

今天继续写策略:

创业板动量成长指数选取创业板市场中具有良好成长能力和动量效应的50只股票组成的指数。该指数反映了创业板中成长能力良好、动量效应显著的上市公司整体运行情况。所谓成长能力望成为未来市场的领导者。而动量效应则是指这些公司近期股价走势较好。

红利低波动指数选取市场上50只流动性好、连续分红、红利支付率适中、每股股息正增长以及股息率高且波动率低的证券作为样本。

两者有较低的相关性,很适合做轮动策略。

图片

图片

年化28.5,最大回撤23.5%,夏普比1.19,还不错。

图片

走势图如下,数据已经更新至昨天收盘:

图片

之前的策略:实盘SAAS化策略:长期年化29.6%,代码发布,请下载更新

20%+难不难,仁者见仁,投资是逆人性的过程,是一个无限游戏,风险与收益并存,但我们在寻找概率意义上风险与收益的不对称。

吾日三省吾身

之前分享过,如果要告诉年轻时的自己重要的事情: 投资,阅读和写作

仔细想来,年轻时候还真也尝试和起心动念过。

但没有所谓的“坚持”下来。

原因是什么?——这三者都是复利起作用的事情。

但复利遵循“幂次”法则,一开始慢,可能慢到你无法感知,很多人就因为看不到起步,就放下了。比如读了一年书,运动了一个月,没有变化,算了。本金太少,只有10万,就算10%也才1万块,改变不了什么,就放弃了。

图片

在很长时间内,比如5年,甚至不如线性增长,是不是很“无奈”。

这时候就需要认知格局,长期主义。

前面的部分,想清楚,然后长期主义去做就好了,人生一定会越来越好。

但想进入财富自由快车道,需要创造价值。财富是社会对你创造价值的认可和回馈。

除了这三件“常规”事情之外,如何找到一个具体的事情呢?

在热爱的领域,建立自己专长,充分利用杠杆效应。——“把自己产品化”(纳瓦尔宝典)。

最近策略与文章:

十二年年化21.4%的大小盘(沪深300vs创业板ETF)轮动策略,简单而有效(代码+数据下载)

创业板单标的择时策略,年化20.6%,投资只要你有耐心,守纪律,年化20%+并不难。(代码+数据)

实盘SAAS化策略:长期年化29.6%,代码发布,请下载更新

我们有两个星球:

 AI量化实验室,关注AI量化投资,开发&开源共享20%+的策略集,数据集。多因子,AI模型,量化框架等。

财富自由践行社:10%低风险投资组合+财富自由快车道的心法,践行手册,主要不聊投资,谈储蓄,复利,成长, 人生意义与幸福。

【星球优惠券】AI量化实现室&财富自由践行社

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103675
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 29 日
下一篇 2024 年 7 月 29 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注