python量化交易:各种指标的绘图、计算及交易策略

《量化投资:以Python为工具》第五部分笔记
先来画k线图,要注意finance模块已经从matplotlib库中去除,现在要用mpl_finance库,单独安装 。
 
其中有candlestick_ohlc函数,用来画k线图或者叫蜡烛图 。函数接受的日期格式是浮点类型,接受的数据格式是列表型,要进行相应的转换,详见github库里本章的代码 。

python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
下面尝试几个跟指标有关的交易策略 。
1.动量交易策略
即股价上涨或下跌的惯性 。
计算方法有作差法,即今天的价格减去一段时间间隔以前的价格 。
动量m = Pt - Pt-m
计算万科的5日动量,作图
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
动量交易策略:动量大于0,买入,动量小于0,卖出 。
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
计算策略的胜率,画出直方图 。
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 

python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
胜率大于0.5,但也没有大太多 。
2.RSI指标
用来衡量股票买卖力量的相对强弱 。
RSI = 100×(UP/(UP+DOWN))
UP表示周期内股价上涨幅度的平均值,DOWN表示周期内股价下跌幅度的平均值 。
RSI取值范围为0~100,大于50越多,表明股价上涨力量超过下跌力量越多 。
用交通银行股票做例子,先按上述公式计算RSI值,时间周期取6天 。
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
最下面一个是RSI值 。
再计算RSI24的值 。
当短期rsi线穿过长期rsi线,为黄金交叉,买入信号,反之为死亡交叉,为卖出信号 。
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
接着进行具体的策略回测 。
策略为:当RSI6>80或RSI6向下穿过RSI24为卖出信号 。当RSI6<20或RSI向上穿过RSI24为买入信号 。
策略的收益时序图
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
策略的胜率计算
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
58%
再画图看一下累积收益率
python量化交易:各种指标的绘图、计算及交易策略

文章插图
 
上面是股票本身的累积收益率,下面是策略的累积收益 。可以看到策略还不如直接买入然后持有呢 。
本文代码:
https://github.com/zwdnet/MyQuant/tree/master/13

【python量化交易:各种指标的绘图、计算及交易策略】


    推荐阅读