保4可以考虑的方向

1,多因子,多币,前置过滤,保3和纯多的轮动,保2与纯多的结合,直接用过滤,有段时间不做空。回撤的阶段,可解释性很强,策略易于理解。

20240118

空头过滤很强的话,导致牛市只有选出一个或者少于设定的20个币,那么默认空头也是用半份资金。这种情况下,如果只选出了一个空头,会把全部的空头仓位都在一个币上,这样就很危险,容易爆仓,即使有监测脚本。然后想到的解决办法是,一开始就按照40个币来设定每个币的仓位,如果没有选出,则空闲资金。这样,牛市的话空头仓位也会比较少,符合行情。

先看看回测部分的代码:

看论坛上有个bias_7效果很好,用一下。

默认实盘配置下,

df_long = df_long[(df_long['filter_rank'] < 0.9)]

df_short = df_short[(df_short['filter_rank'] < 0.9)] df_short = df_short[(df_short['Bias_168'] < 0)]

累积净值 12.99 年化收益 96.74% 最大回撤 -15.99%

空头只用bias过滤,感觉效果也不行啊。

df_long = df_long[(df_long['filter_rank'] < 0.8)]

df_short = df_short[(df_short['Bias_168'] < 0)]

累积净值 9.87 年化收益 83.00% 最大回撤 -17.21%

从论坛抄了个作业,逆天啊

累积净值 281.84 年化收益 343.20% 最大回撤 -15.11%

https://bbs.quantclass.cn/thread/31330

配置,0.1选币,

hold_period = '1D'

factor_list = [ ('ILLQStd', True, 7, 0.35), ('QuoteVolumeStd', True, 5, 0.65) ]

filter_list = [ ('RsiZhongXing', 14), ('Bias', 7), ]

多头过滤

df_long['filter_rank'] = df_long.groupby('candle_begin_time')['RsiZhongXing_14'].rank(ascending=True, pct=True)

df_long = df_long[(df_long['filter_rank'] < 0.4)]

空头过滤

df_short = df_short[(df_short['Bias_7'] < 0)]

这还是个1D的持仓。

看看具体是哪个引起的高收益。去掉空头过滤试试看

去掉空头过滤后,效果就很一般了,回测结果如下

累积净值 19.01 年化收益 117.54% 最大回撤 -42.49%

从这里看出,用bias过滤效果很大,应该把这个因子融入到实盘中,或者吸收它的方法, 在大牛市的时候,不要做空,直接全部做多就好。暂时想到的方法是,用当前close比168个小时前的close对比,统计所有币种,如果涨的币种个数是跌的币种个数的两倍(这个可以设置为参数),则不做空。

只做多的情况应该要很严格,也就是这个倍数要比较高,要确定性的牛市再只做空,所以这个空头学问比较大。刚才想到的用当前close和168个小时前的close比较来判断趋势,感觉不行,因为判断不准趋势。当然这里有两个参数能影响,1,和多久以前的close比较。2,这个倍数。

这个倍数很关键。!!

20240119

回测结果,

选币多空都是20个,因子参数128,持仓1H,

多头过滤

df_long = df_long[(df_long['filter_rank'] < 0.9)]

空头过滤

post image

结果如下

累积净值 88.24 年化收益 226.21% 最大回撤 -17.85%

分年收益率: 涨跌幅 candle_begin_time2020-12-31 80.13% 2021-12-31 604.2% 2022-12-31 268.28% 2023-12-31 94.32% 2024-12-31 -2.79%

与正在跑的策略相比,净值和年华提高,但是最大回撤也变大,这可以解释,因为纯多头的时候没有空头保护,也会跌。导致最大回撤增大。

用m/n>1试试看,就是如果整个市场涨的各种个数比跌的币种个数多的话,这个周期就是纯多头。这种情况是不是空头的手续费会比较高,因为一会开仓,一会平仓。所以最好是以D为单位来做这个事情。

先看看m/n>1的情况

多头过滤和原来一样,空头过滤如下

post image

累积净值 81.46 年化收益 219.40% 最大回撤 -15.19%

分年收益率: 涨跌幅 candle_begin_time2020-12-31 80.92% 2021-12-31 535.04% 2022-12-31 252.24% 2023-12-31 108.37% 2024-12-31 -3.4%

如果将空头过滤改成m/n>-1,表示每个周期都不选空头,那么就是纯多头。回测结果

累积净值 14456.53 年化收益 1152.91% 最大回撤 -64.83%

和实盘跑的策略当空头选币数量设置为0的结果一样。

如果我过滤很严,比如m/(m+n) > 0.9时才做多。

条件 m / (m + n) > 0.9,回测结果:

累积净值 35.38 年化收益 156.30% 最大回撤 -20.00%

如果市场大跌,那么所有币种都会大跌。但是处于牛市的时候,会有结构性的一些币种先涨,那么我将条件设置为0.3,就是如果有1/3的币种时涨的,我也只做多头。必须要去掉的是在大熊市中的纯多头情况。如果在震荡市和大牛市,我都希望是纯多头。其实这个0.3还可以小。只要有涨的币,我就是纯多头。因为如果是大熊市,很难有币能涨。这个168需要再改大一点。当然这种情况下也会吃到大牛市中的回调,这部分回撤。

m / n > 0.1:

累积净值 119.79 年化收益 253.62% 最大回撤 -26.81%

看来纯多的累计净值大,主要来自跌后的反弹?

试试

m / n < 0.1:

累积净值 40.33 年化收益 165.32% 最大回撤 -32.79%

纯多头比这种过滤条件的优势是纯多头的话全部资金都在做空,但是如果你偶尔纯多头,会浪费大量的资金在空头上。

试试21天的效果,如果当前的close比21天前的close大的话,则判断是向上的趋势。

post image

336小时回测的结果

累积净值 99.8 年化收益 236.98% 最大回撤 -21.79%

最大回撤开始时间 2021-02-22 03:00:00 最大回撤结束时间 2021-02-24 08:00:00

最大回撤时间在两天之内发生,可以看看发生了什么。除了这个回撤,也有一次-17%的回撤,其他都在-15%以内。

post image

累积净值 92.15 年化收益 229.96% 最大回撤 -29.53%如果用长短均线判断趋势呢

就是当前的close在短均线之上,也在长均线之上。用10,700参数试试。先用pct试试把,就是当前close大于24小时的close,也大于720小时前的close.

空头过滤

post image

累积净值 35.52 年化收益 156.57% 最大回撤 -27.67%

效果不明显。

post image

累积净值 42.68 年化收益 169.30% 最大回撤 -24.68%

写在前面,

简单记录下听直播的时候的ppt和邢大说的内容,感觉比直接听直播要省时间。当作是学习笔记吧

直播内容:

纯多的方案:

方案1:无脑跑纯多,死扛回撤。把70%的回撤只当作数字,但实盘都是血

方案2:对单币进行单独择时过滤

使用bias<0 进行前置过滤 :当选币的价格小于均线时就不去选他。目的是在牛市的时候就不要去加空头---能够市场整体上涨时慢慢甩掉空头,变成纯多。风险:一部分时间会空非常少的币种,爆仓风险较大

也可以使用bias<0进行后置过滤,选出币之后再过滤

方案3:空头整体进行择时

空头择时不触发空仓:跑多空中性策略

空头择时触发空仓后跑纯多

方案4:纯多头择时

择时触发空仓后不持仓

不触发时跑纯多

其实就是指数择时策略,策略波动大,很难坚持

方案5:多空比例不平衡

比如六成仓位做多,4成仓位做空

相当关于80%的资金做中性,20%的资金做纯多

相比于其他方案,更推荐这一个

一定程度上可以弥补由于BTC的暴涨造成的回撤,但也会由于市场暴跌造成更大的回撤

研究方向:

做研究,最重要的时研究方向的选择,选对方向一路正反馈,选错就是石沉大海

分享会以上的方向都探索过,性价比都一般。

择时与选币

任何策略细分到最后都是选股和择时

永远多往选股上靠---择时性价比低

保温杯4---面对纯多诱惑,降低风险的解决方案

传统的策略轮动:在多个选股策略之间进行轮动,总共5个选股策略,每周从5个策略中选择一到两个,下周买入

也有人在币圈中性策略之间轮动:动量中性和保温杯之间的轮动, 不同动量中性策略之间的轮动

策略轮动,在同类型策略之间进行轮动,对策略进行二次选择(本质还是选股策略)

有没有想过在不同的策略之间进行轮动?

保温杯4 解决方案

  • 在纯多策略和中性策略之间进行轮动:

  • 纯多:满仓多头

  • 中性:一半多头一般空头

  • 每个周期结束,判断下个周期持仓是跑纯多还是中性

  • 纯多转中性:平仓一半多头,拿钱作为保证金开空头

  • 中性转多头:平掉全部空头,全部的钱跑多头

  • **纯多策略和中性策略之间进行轮动...