1.
基于volumn的保温杯中性策略,效果比ILLQStd差一些。问了GPT,一般用于中性策略的因子,市值因子,跟流动性差不多,还有波动性因子。
2,不过测试了波动性因子,效果并不明显。
df[factor_name] = df['close'].pct_change().rolling(window=n).std()
流动性因子效果接近,还不错。
下面这个思路也不行。gpt也说波动性对未来趋势没法预测。
3.做多跌的多的,做空跌的少的
df[factor_name] = df['close'].rolling(window=n, min_periods=1).min() / df['close']
也没有明显的特征。不是说跌的多的就能涨,涨的多的就能跌。币圈还是有很大的动量效应。
4.本想着用RSI来试试看,效果也不行。
df[factor_name] = ta.momentum.RSIIndicator(df['close'], window=n).rsi()。就是说RSI越大,并不一定涨或者跌。
为什么只有邢大能找到这种流动性因子呢?
5,20240118
bwb3框架,纯多头,涨的最多的选10个币,跌的最多的选10个币,做成20个币的纯多头,
结果是归零。
df_long['PctChange_168_abs'] = df_long.groupby('candle_begin_time')['PctChange_168'].transform(lambda x: x.abs()) df_long = df_long.loc[ df_long.groupby('candle_begin_time')['PctChange_168_abs'].nlargest(20).reset_index()['level_1']]
再试试选涨幅前20的币,纯多头。
df_long = df_long.loc[ df_long.groupby('candle_begin_time')['PctChange_168'].nlargest(20).reset_index()['level_1']]
也归零。
是不是128参数太大了,7小时试试,争取赶上暴涨,然后跟一波。
df_long = df_long.loc[ df_long.groupby('candle_begin_time')['PctChange_1'].nlargest(20).reset_index()['level_1']]
急速归零。
这方法不行,因子还是需要那种基本面或者有理论经济基础的,比如说netbuy,买的人多就能涨,小市值能涨的更多。不能是量化因子。因为量化因子随参数的波动很大。量化因子最好用来过滤。不要做主因子。
20240122
如果一根小时K涨了10%,我就买入。想着会不会有惯性原理。
回测py:
guanxing.py 段落1
回测条件:
当一根K线涨幅超过0.1时,就在下一根K线开始卖出(注意时卖出,不是买入,相当于一根K线涨幅超过10%,认为涨的太多了,做空它),就持有一个小时后平仓。
spot数据**:**
币种大于0的百分比 72.53668763102725 平均利润 4346.7856497075945 大于0的利润总和,大于0币种的平均利润 2438275.423893083 7047.038797378852 小于0的利润总和,小于0币种的平均利润 -364858.6689825602 -2785.1806792561847
如果改成原来自己想的,超过10%,然后买入,看看下面的回测结果
币种大于0的百分比 22.431865828092242 平均利润 -4346.7856497075945 大于0的利润总和,大于0币种的平均利润 364858.66898256005 3409.8941026407483 小于0的利润总和,小于0币种的平均利润 -2438275.423893083 -6589.9335780894135
结果很差。所以自己想的策略不太靠谱。
相当于对于小时K,大涨后跌的概率会变大,所以就是做空。那么只能用swap来回测。
币种大于0的百分比 48.818897637795274 平均利润 -343.16174748844156 大于0的利润总和,大于0币种的平均利润 157288.59833490054 1268.4564381846817 小于0的利润总和,小于0币种的平均利润 -244451.6821969647 -1880.397555361267
竟然是负的平均利润。就是说如果纯在合约做,则是亏本的,但是加上现货,则是赚的。
真的是不让做的能赚钱,只有现货,无法做空。
那我如果在合约里做多呢?
币种大于0的百分比 41.34 平均利润 380.62 币种小于于0的百分比 48.82 大于0的利润总和,大于0币种的平均利润 244451.68 2328.11 小于0的利润总和,小于0币种的平均利润 -157288.6 -1055.63
那么结论是,合约里如果一根K线涨了10%以上,做多下一根K线,能赚钱。而在现货中,则需要做空才能赚钱,做多会亏的很惨。
现货的威力那么大么?不一定,因为现货时间早,可能跟历史的回测也有关系。swap和spot回测时间是不一样的。
难道是一个币种在只有现货的时候需要做空?而在有了合约以后则需要做多?
可以以合约上线的时间为分割点做一个统计。这种现象是由于下面哪种因素导致的呢?
1,合约上线时间晚,跟最近几年的行情有关系
2,现货不能做空。
那么就先看看第一种原因
guanxing.py 段落2
第一种情况,将有合约的币种从上线合约开始作为分割点,分别计算只有spot的时段和上线swap以后的时间 都是涨10%,做空下一根K。
结果如下
spot大于0的个数 144
swap大于0的个数 114
总是是233个合约,相当于当一个币种上线了合约后,做空的收益会变差。只有spot的时候,做空利润为正的百分比61.8%,然后上线合约后48%。只有spot的平均利润 1769,上线swap后的平均利润-398.
那么如果我现在只统计只有spot的时候会是什么情况呢?
guanxing.py 段落3
spot大于0的个数 332 总个数 470
平均值4200,总和1982183,
总交易次数 14297
大概算了下,每小时的交易次数 14297/24/365/4 = 0.4次。
每次交易的平均利润 = 1982183/14297=138刀/10000=1.38%。
然后其实杠杆那边是可以做空大部分的币的,可以试一试。就是回测没有考虑到手续费和杠杆借币的情况。先可以程序监控,然后手工做几天试试。看这个1.38%每次交易盈利,应该够手续费和杠杆借币的钱了。
保温杯中性
只做大币种和指数的合约(远离妖币,资金容量大) 长周期持仓(可以手动交易) 策略原理清晰可理解,追求稳定性,长期性 中性/保温杯中性,是量化策略之王,永远有生命力的策略。 中性策略收益有波动,不能保证稳赚,但是长期收益不会差。 未来方向: 1.适当扩展选币池子,可以手工增加你觉得不错的币。现在只有5个。 2.成交量前30%的币中做中性 3.增加多空数量不平衡的设置 ,降低回测。中性最怕妖币。在现阶段不用加,因为都是大币种和指数。不存在暴涨的情况。 4.将现货加入多头的币池。 5.将某个板块的币,比如gaMefi,小市值30%的币,作为一个指数。自己构建指数。 6.增加基本面数据。最近一段时间消耗的gas费等
常见问题
会一直更新: 1,360freewifi无法启动成功 驱动问题,安装360freeap_whole_setup_5.3.0.5020.exe 2,微信聊天记录无法迁移 需要在手机设置里把微信的本地网络开关打开。
中性策略概述
20221030 D:\天翼云盘下载\coin\part3\b圈量化课程高清版(文件较大,建议网速快的同学下载)\ 3.3.01 中性策略概述.mp4 观后感: 刑不行2022年新加的课程。 1,皮尔逊选股策略,有个柱状图,特别规律,从前0-10%,10%-20%,直至90%-100%收益一直递减。这样就很好的说明了这个策略的有效性非常高。需要深入研究一下这个策略。 2,中性策略在股票圈做多股票,做空股指,因为没法做空个股。但是在币圈,做空的对象换成打分在90%-100%这些币种,做多的是打分最高的10%币种。 如何做空股指? 3,对冲基金用的就是这种中性策略。选股策略是策略之王。最容易出成果。 4,alpha指的是选股策略收益,beta是大盘收益。对冲基金都是alpha - beta。 5,币圈现在由于有合约的存在,且bn上已经有100多种的币种可以同时做多做空,这就为在币圈用中性创造了条件,币种越多可以取得的alpha越多。 6,刑不行不太看好未来的中国的beta。 7,刑不行根据历史行情,预测还有一波下跌。 打算把这个皮尔逊策略和中性策略实盘起来。
1.
基于volumn的保温杯中性策略,效果比ILLQStd差一些。问了GPT,一般用于中性策略的因子,市值因子,跟流动性差不多,还有波动性因子。
2,不过测试了波动性因子,效果并不明显。
df[factor_name] = df['close'].pct_change().rolling(window=n).std()
流动性因子效果接近,还不错。
下面这个思路也不行。gpt也说波动性对未来趋势没法预测。
3.做多跌的多的,做空跌的少的
df[factor_name] = df['close'].rolling(window=n, min_periods=1).min() / df['close']
也没有明显的特征。不是说跌的多的就能涨,涨的多的就能跌。币圈还是有很大的动量效应。
4.本想着用RSI来试试看,效果也不行。
df[factor_name] = ta.momentum.RSIIndicator(df['close'], window=n).rsi()。就是说RSI越大,并不一定涨或者跌。
为什么只有邢大能找到这种流动性因子呢?
5,20240118
bwb3框架,纯多头,涨的最多的选10个币,跌的最多的选10个币,做成20个币的纯多头,
结果是归零。
df_long['PctChange_168_abs'] = df_long.groupby('candle_begin_time')['PctChange_168'].transform(lambda x: x.abs()) df_long = df_long.loc[ df_long.groupby('candle_begin_time')['PctChange_168_abs'].nlargest(20).reset_index()['level_1']]
再试试选涨幅前20的币,纯多头。
df_long = df_long.loc[ df_long.groupby('candle_begin_time')['PctChange_168'].nlargest(20).reset_index()['level_1']]
也归零。
是不是128参数太大了,7小时试试,争取赶上暴涨,然后跟一波。
df_long = df_long.loc[ df_long.groupby('candle_begin_time')['PctChange_1'].nlargest(20).reset_index()['level_1']]
急速归零。
这方法不行,因子还是需要那种基本面或者有理论经济基础的,比如说netbuy,买的人多就能涨,小市值能涨的更多。不能是量化因子。因为量化因子随参数的波动很大。量化因子最好用来过滤。不要做主因子。
20240122
如果一根小时K涨了10%,我就买入。想着会不会有惯性原理。
回测py:
guanxing.py 段落1
回测条件:
当一根K线涨幅超过0.1时,就在下一根K线开始卖出(注意时卖出,不是买入,相当于一根K线涨幅超过10%,认为涨的太多了,做空它),就持有一个小时后平仓。
spot数据**:**
币种大于0的百分比 72.53668763102725 平均利润 4346.7856497075945 大于0的利润总和,大于0币种的平均利润 2438275.423893083 7047.038797378852 小于0的利润总和,小于0币种的平均利润 -364858.6689825602 -2785.1806792561847
如果改成原来自己想的,超过10%,然后买入,看看下面的回测结果
币种大于0的百分比 22.431865828092242 平均利润 -4346.7856497075945 大于0的利润总和,大于0币种的平均利润 364858.66898256005 3409.8941026407483 小于0的利润总和,小于0币种的平均利润 -2438275.423893083 -6589.9335780894135
结果很差。所以自己想的策略不太靠谱。
相当于对于小时K,大涨后跌的概率会变大,所以就是做空。那么只能用swap来回测。
币种大于0的百分比 48.818897637795274 平均利润 -343.16174748844156 大于0的利润总和,大于0币种的平均利润 157288.59833490054 1268.4564381846817 小于0的利润总和,小于0币种的平均利润 -244451.6821969647 -1880.397555361267
竟然是负的平均利润。就是说如果纯在合约做,则是亏本的,但是加上现货,则是赚的。
真的是不让做的能赚钱,只有现货,无法做空。
那我如果在合约里做多呢?
币种大于0的百分比 41.34 平均利润 380.62 币种小于于0的百分比 48.82 大于0的利润总和,大于0币种的平均利润 244451.68 2328.11 小于0的利润总和,小于0币种的平均利润 -157288.6 -1055.63
那么结论是,合约里如果一根K线涨了10%以上,做多下一根K线,能赚钱。而在现货中,则需要做空才能赚钱,做多会亏的很惨。
现货的威力那么大么?不一定,因为现货时间早,可能跟历史的回测也有关系。swap和spot回测时间是不一样的。
难道是一个币种在只有现货的时候需要做空?而在有了合约以后则需要做多?
可以以合约上线的时间为分割点做一个统计。这种现象是由于下面哪种因素导致的呢?
1,合约上线时间晚,跟最近几年的行情有关系
2,现货不能做空。
那么就先看看第一种原因
guanxing.py 段落2
第一种情况,将有合约的币种从上线合约开始作为分割点,分别计算只有spot的时段和上线swap以后的时间 都是涨10%,做空下一根K。
结果如下
spot大于0的个数 144
swap大于0的个数 114
总是是233个合约,相当于当一个币种上线了合约后,做空的收益会变差。只有spot的时候,做空利润为正的百分比61.8%,然后上线合约后48%。只有spot的平均利润 1769,上线swap后的平均利润-398.
那么如果我现在只统计只有spot的时候会是什么情况呢?
guanxing.py 段落3
spot大于0的个数 332 总个数 470
平均值4200,总和1982183,
总交易次数 14297
大概算了下,每小时的交易次数 14297/24/365/4 = 0.4次。
每次交易的平均利润 = 1982183/14297=138刀/10000=1.38%。
然后其实杠杆那边是可以做空大部分的币的,可以试一试。就是回测没有考虑到手续费和杠杆借币的情况。先可以程序监控,然后手工做几天试试。看这个1.38%每次交易盈利,应该够手续费和杠杆借币的钱了。
保温杯中性
只做大币种和指数的合约(远离妖币,资金容量大) 长周期持仓(可以手动交易) 策略原理清晰可理解,追求稳定性,长期性 中性/保温杯中性,是量化策略之王,永远有生命力的策略。 中性策略收益有波动,不能保证稳赚,但是长期收益不会差。 未来方向: 1.适当扩展选币池子,可以手工增加你觉得不错的币。现在只有5个。 2.成交量前30%的币中做中性 3.增加多空数量不平衡的设置 ,降低回测。中性最怕妖币。在现阶段不用加,因为都是大币种和指数。不存在暴涨的情况。 4.将现货加入多头的币池。 5.将某个板块的币,比如gaMefi,小市值30%的币,作为一个指数。自己构建指数。 6.增加基本面数据。最近一段时间消耗的gas费等
常见问题
会一直更新: 1,360freewifi无法启动成功 驱动问题,安装360freeap_whole_setup_5.3.0.5020.exe 2,微信聊天记录无法迁移 需要在手机设置里把微信的本地网络开关打开。
中性策略概述
20221030 D:\天翼云盘下载\coin\part3\b圈量化课程高清版(文件较大,建议网速快的同学下载)\ 3.3.01 中性策略概述.mp4 观后感: 刑不行2022年新加的课程。 1,皮尔逊选股策略,有个柱状图,特别规律,从前0-10%,10%-20%,直至90%-100%收益一直递减。这样就很好的说明了这个策略的有效性非常高。需要深入研究一下这个策略。 2,中性策略在股票圈做多股票,做空股指,因为没法做空个股。但是在币圈,做空的对象换成打分在90%-100%这些币种,做多的是打分最高的10%币种。 如何做空股指? 3,对冲基金用的就是这种中性策略。选股策略是策略之王。最容易出成果。 4,alpha指的是选股策略收益,beta是大盘收益。对冲基金都是alpha - beta。 5,币圈现在由于有合约的存在,且bn上已经有100多种的币种可以同时做多做空,这就为在币圈用中性创造了条件,币种越多可以取得的alpha越多。 6,刑不行不太看好未来的中国的beta。 7,刑不行根据历史行情,预测还有一波下跌。 打算把这个皮尔逊策略和中性策略实盘起来。
Share Dialog
Share Dialog
Subscribe to KeepLearning
Subscribe to KeepLearning
<100 subscribers
<100 subscribers
No activity yet