# 保4可以考虑的方向

By [KeepLearning](https://paragraph.com/@keeplearning-2) · 2024-01-11

---

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](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)\]

空头过滤

![](https://storage.googleapis.com/papyrus_images/5c2dcb4653a3b7ddbf075bf87d017840cc8cda72956488d468deafdc83a27bea.png)

结果如下

累积净值 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的情况

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

![](https://storage.googleapis.com/papyrus_images/cab483b32d4ec376287801fdaf23d5cf97adbaebeb61cd3a9400f4964061a602.png)

累积净值 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大的话，则判断是向上的趋势。

![](https://storage.googleapis.com/papyrus_images/024157b38e8952d7ee4606446a2b18ec9f2d99ff32ca087d63cf42bdd1826209.png)

336小时回测的结果

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

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

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

![](https://storage.googleapis.com/papyrus_images/e5ed438d69fedc744c9484d7f8e665f9357d697780572e83bb9ab31e55e3a17f.png)

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

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

空头过滤

![](https://storage.googleapis.com/papyrus_images/b55810dddaac70d5bd62d7a9ddbfba2913f25b94558a02baef2eff2be05a32a7.png)

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

效果不明显。

![](https://storage.googleapis.com/papyrus_images/8c6ceff736aed157b9219f6de4f3d73e9e2e1790dbadc92e9db3132ab707f778.png)

累积净值 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 解决方案

*   **在纯多策略和中性策略之间进行轮动：**
    
*   **纯多：满仓多头**
    
*   **中性：一半多头一般空头**
    
*   **每个周期结束，判断下个周期持仓是跑纯多还是中性**
    
*   **纯多转中性：平仓一半多头，拿钱作为保证金开空头**
    
*   **中性转多头：平掉全部空头，全部的钱跑多头**
    
*   \*\*纯多策略和中性策略之间进行轮动...

---

*Originally published on [KeepLearning](https://paragraph.com/@keeplearning-2/4)*
