PythonでRCI,MACD,移動平均線
RCI
RCIの説明は下記のサイトを参考
QuantXでRCIを実装してみた - Qiita
そのまま実装したのが下記。
# rci_short = get_rci(close,9) で呼ぶ # closeは各足の終値 def get_rci(close, period): rci = [] table = [[0] * 4 for i in range(period)] df = pd.DataFrame(close, columns=(['close'])) for i in range(len(close)): if i < period: rci.append(None) else: d_ = 0 for j in range(period): table[j][0]=close[i] table[j][1]=period - j rank_price = df[i - period + 1: i + 1].rank(method='min', ascending = False).values for j in range(period): table[j][2]=int(rank_price[j]) for j in range(period): d_ = d_ + (table[j][1] - table[j][2]) * (table[j][1] - table[j][2]) rci.append( 6 * d_ / (period * (period*period -1))) rci[i] = (1-rci[i])*100 return rci
MACD
インストールした際の経緯は下記
import talib macd, macdsignal, macdhist = talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
移動平均線
import talib sma5 = talib.SMA(infected_count, timeperiod=5)