【实证】轮动不择时,年化29.7%,回撤25%,加上择时效果反而不好(代码+数据)

今天的代码:对比深红利与创成长轮动,择时与不择时的两个策略:

图片

图片

图片

轮动不择时,年化29.7%,回撤25%,择时反而不好。

import config
from datafeed.dataloader import CSVDataloader
import numpy as np

fields = ['roc(close,20)','roc_20>0.02','roc_20<0','calc_signal(long,exit)']
names = ['roc_20','long','exit', 'signal']
df = CSVDataloader(config.DATA_DIR_QUOTES.resolve(), symbols=['159967.SZ','512890.SH']).load(fields, names)

df_close = df.pivot_table(values='close',index=df.index, columns='symbol')
df_signal = df.pivot_table(values='signal', index=df.index, columns='symbol')
df_roc = df.pivot_table(values='roc_20', index=df.index, columns='symbol')
df_close.dropna(inplace=True)
df_signal.dropna(inplace=True)
print(df_close)
print(df_signal)

import algos_extend,bt

s_pick = bt.Strategy('轮动', [
                       bt.algos.SelectWhere(df_signal),
                       #algos_extend.SelectTopK(df_roc,2),
                       bt.algos.WeighEqually(),
                       bt.algos.Rebalance()])

bench = bt.Strategy("benchmark",[bt.algos.RunOnce(),
                                 bt.algos.SelectAll(),
                                 bt.algos.WeighEqually(),
                       bt.algos.Rebalance()])
bkt_pick = bt.Backtest(s_pick, df_close)
bkt_bench = bt.Backtest(bench, df_close)
res = bt.run(bkt_pick)
res.plot()

社群里有不少量化新手着急学习,因此我尽量按之前给出的提纲的时间顺序来更新:

目前已经更新完开发环境,很多同学卡在环境上,代码运行不起来的情况,这是我使用了多年了最佳实践,希望可以帮助到你。

图片

大家在星球直接阅读即可(有代码和数据的,会附在文末):

图片

1.1.2 投资的三个层次

按照个人积极参与主动决策的程度,把投资分成三个层次:

  1. 一、战略资产配置。
  2. 被动管理,很少参与。在做好资产配置后,只做一些被动再平衡的操作;
  3. 二、战术资产配置。
  4. 在战略资产配置的基础上,关注宏观层面大的周期,在周期偏好的资产上持有更多的仓位,做战术性的调优。
  5. 三、择时
  6. 积极判断市场方向,期望做到“低买高卖”。

这三个层次,从上到下,越来越不确定,越来越难,风险也越来越高。当然如果能做好,收益也是越来越大。

其实从稳健的角度,建议新手都从第一层次做起,比较容易做到从理财往投资过渡。但是很遗憾,大部分人一上手就是冲着第三层次来的,“追涨杀跌”却常常做错方向,最终沦为韭菜。

除了按风险收益来划分之外,按投资手法和工具还可以将投资划分为:基本面、技术面和量化投资等。

一个完整的AI量化系统通常包含几个部分:数据、因子、回测系统、策略。

当然还有风控,实盘等。

一个回测系统是必要的组成。回测系统是投资分析的必要非充分条件。为什么这么说?回测结果好,不代表未来这个策略一定有效,因为要凑一个看似“有效”的策略很容易。比如,以沪深300作为benchmark,我们这么“操作”:把过去一年里,超过指数收益率的股票列出来,作为回测的股票池。那么只要写一个buyandhold的最简单策略,那它的收益率一定是超过指数的。但回测系统可以“证伪”。比如很多人鼓吹了“两条均线打天下”,“一个MACD指标作投资”等,把它变成策略回测一下,估计这些人自己都不再相信了。

在回测系统之上,更重要的就是“因子”发现。

我们可以把基本面,技术面能够影响到收益率或风险的要素、指标都称为因子。如何高效发现这些因子,需要对资本市场,财务,技术面,甚至人性有深刻理解。

所以,目标就升华为,通过AI等技术,去理解我们的经济/金融行为。

从上到下分析,从宏观(指数),行业,公司,舆情,技术面多维度去理解,及它们之间的相互作用。

 

历史文章:

【AI量化投资:从入门到实战】专栏大纲及布林带通道策略代码下载

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

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

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

相关推荐

发表回复

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