用python进行比特币价格择时分析

比特币价格的历史数据可以直接在GitHub进行下载:https://github.com/yan-wong/BitcoinPriceHistoryInChina

或者按此文的代码获取:https://blog.csdn.net/weixin_37272286/article/details/78032131

 本文的源码地址为:https://pan.baidu.com/s/1K_VVu8UwZ_tJPS5Wp--R2g

 

 密码:cti9

 

BTC-CNY的csv文件(也包含在源码中),时间:2013-06-11到2017-09-18,价格预览:

大致趋势(图一为成交量,图二为价格):

1.       单因子分析

1.1   RSI (相对强弱指数):

(源代码见:1.py

RSI 金叉以及RSI<30时,判断为买入点(后调整参数为40)

RSI 死叉以及RSI>70时,判断为卖出点

 

以红点为买入点,黑点为卖出点,得到交易图:

 

交易时间及买卖价格为:

分析:上涨时涨势很快,错过了几波大涨行情

平均年化收益率:20.0%

 

1.2 双均线

(源代码见:2.py

分别以五日均线和十日均线的金叉和死叉判断入场点和出场点(后加入调整系数1.01和1.02控制买卖次数)

 

以红点为买入点,黑点为卖出点,得到交易图:

 

 每次买入卖出的时间和价格也会进行输出:

 

 

分析:因为在两次大涨时都捕捉到了行情,结果较好,因为添加系数的原因,中间的震荡行情几乎没有交易

平均年化收益率:141.6%

 

1.3   交易量

(源代码见:3.py

通过分析交易量和价格走势,在较为平稳的上涨趋势时,成交量会大幅上涨,当BTC价格大涨时,交易量会急剧减少,持有人会倾向于继续持有,因此当成交量持续上涨时,判断之后会有上涨行情

 

 

 

 

 

 

2. 多因子策略

2.1 拟合判断

2.2 综合判断

(源代码见:4.py

结合前面的分析,做如下策略方案:

当成交量持续上升时,判断接下来的是上涨行情,持续持有,当成交量下降时,不做判断;

当双均线金叉时,判断接下的是上涨行情,持续持有;

当价格出现急剧下跌后,判断会有上涨行情

当双均线死叉时,判断为卖出点

 

 

 

调整参数扩大震荡期交易频率:

 

 

分析:BTC价格策略关键是捕捉上涨趋势并持续持有,在高区震荡时抛出,剧烈下跌后抢反弹行情,最大回撤太大

平均年化收益率:1726.8%,最大回测太大,达到了69.6%

 

在卖出点加入止损点后:

 

 

平均年化收益率:1487.8%,最大回撤37.5%

 

 

 价格趋势和收益率走势图如图所示:

 

结论:BTC价格策略关键是捕捉上涨趋势并持续持有,在高区震荡时抛出,剧烈下跌后抢反弹行情

改进:每次剧跌后的反弹行情没有捕捉到,可增加关于这部分的判断,平缓区间内的交易方法需要优化

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-08-19 15:27  TimoTong  阅读(1584)  评论(0编辑  收藏  举报