《量化投資:以Python/ target=_blank class=infotextkey>Python為工具》第五部分筆記
先來畫k線圖,要注意finance模塊已經從matplotlib庫中去除,現在要用mpl_finance庫,單獨安裝。
其中有candlestick_ohlc函數,用來畫k線圖或者叫蠟燭圖。函數接受的日期格式是浮點類型,接受的數據格式是列表型,要進行相應的轉換,詳見github庫里本章的代碼。
下面嘗試幾個跟指標有關的交易策略。
1.動量交易策略
即股價上漲或下跌的慣性。
計算方法有作差法,即今天的價格減去一段時間間隔以前的價格。
動量m = Pt - Pt-m
計算萬科的5日動量,作圖
動量交易策略:動量大于0,買入,動量小于0,賣出。
計算策略的勝率,畫出直方圖。
勝率大于0.5,但也沒有大太多。
2.RSI指標
用來衡量股票買賣力量的相對強弱。
RSI = 100×(UP/(UP+DOWN))
UP表示周期內股價上漲幅度的平均值, DOWN表示周期內股價下跌幅度的平均值。
RSI取值范圍為0~100,大于50越多,表明股價上漲力量超過下跌力量越多。
用交通銀行股票做例子,先按上述公式計算RSI值,時間周期取6天。
最下面一個是RSI值。
再計算RSI24的值。
當短期rsi線穿過長期rsi線,為黃金交叉,買入信號,反之為死亡交叉,為賣出信號。
接著進行具體的策略回測。
策略為:當RSI6>80或RSI6向下穿過RSI24為賣出信號。當RSI6<20或RSI向上穿過RSI24為買入信號。
策略的收益時序圖
策略的勝率計算
58%
再畫圖看一下累積收益率
上面是股票本身的累積收益率,下面是策略的累積收益。可以看到策略還不如直接買入然后持有呢。
本文代碼:
https://github.com/zw.NET/MyQuant/tree/master/13