Skip to content

Instantly share code, notes, and snippets.

@tsferro2
Created March 26, 2022 17:46
Show Gist options
  • Save tsferro2/e42bc664b66032e8762861bcf68ce668 to your computer and use it in GitHub Desktop.
Save tsferro2/e42bc664b66032e8762861bcf68ce668 to your computer and use it in GitHub Desktop.
# MOMENTUM
data['ADX'] = ta.ADX(data.High.values, data.Low.values,data.Close.values)
data['ADXR'] = ta.ADXR(data.High.values, data.Low.values,data.Close.values)
data['APO'] = ta.APO(data.Close.values)
data['AROONdown'],data['AROONup'] = ta.AROON(data.High.values, data.Low.values)
data['AROONdmu'] = data['AROONdown'] - data['AROONup']
data['AROONOSC'] = ta.AROONOSC(data.High.values, data.Low.values)
data['BOP'] = ta.BOP(data.Open.values,data.High.values, data.Low.values,data.Close.values)
data['CCI'] = ta.CCI(data.High.values, data.Low.values,data.Close.values)
data['CMO'] = ta.CMO(data.Close.values)
data['DX'] = ta.DX(data.High.values, data.Low.values,data.Close.values)
data['macd'],data['macdsignal'],data['macdhist'] = ta.MACD(data.Close.values)
data['macdFIX'],data['macdsignalFIX'],data['macdhistFIX'] = ta.MACDFIX(data.Close.values)
data['MFI'] = ta.MFI(data.High.values,data.Low.values, data.Close.values,data.Volume.values.astype(float))
data['MINUS_DI'] = ta.MINUS_DI(data.High.values, data.Low.values,data.Close.values)
data['MINUS_DM'] = ta.MINUS_DM(data.High.values, data.Low.values)
data['MOM'] = ta.MOM(data.Close.values)
data['PLUS_DI'] = ta.PLUS_DI(data.High.values, data.Low.values,data.Close.values)
data['PLUS_DM'] = ta.PLUS_DM(data.High.values, data.Low.values)
data['PPO'] = ta.PPO(data.Close.values)
data['ROC'] = ta.ROC(data.Close.values)
data['ROCP'] = ta.ROCP(data.Close.values)
data['ROCR100'] = ta.ROCR100(data.Close.values)
data['RSI'] = ta.RSI(data.Close.values,14)
data['sLowk'],data['sLowd'] = ta.STOCH(data.High.values, data.Low.values,data.Close.values)
data['STOCHkmdSLow'] = data['sLowk'] - data['sLowd']
data['fastk'],data['fastd'] = ta.STOCHF(data.High.values, data.Low.values,data.Close.values)
data['STOCHkmdFast'] = data['fastk'] - data['fastd']
data['sLowkRSI'],data['sLowdRSI'] = ta.STOCHRSI(data.Close.values)
data['STOCKkmdRSI'] = data['sLowkRSI'] - data['sLowdRSI']
data['TRIX'] = ta.TRIX(data.Close.values)
data['ULTOSC'] = ta.ULTOSC(data.High.values, data.Low.values,data.Close.values)
data['WILLR'] = ta.WILLR(data.High.values, data.Low.values,data.Close.values)
# Volume
data['AD'] = ta.AD(data.High.values,data.Low.values, data.Close.values,data.Volume.values.astype(float))
data['ADOSC'] = ta.ADOSC(data.High.values,data.Low.values, data.Close.values,data.Volume.values.astype(float))
data['OBV'] = ta.OBV(data.Close.values,data.Volume.values.astype(float))
#VOLATILITY
data['ATR63'] = ta.ATR(data.High.values, data.Low.values,data.Close.values,63)
data['ATR'] = ta.ATR(data.High.values, data.Low.values,data.Close.values)
data['NATR'] = ta.NATR(data.High.values, data.Low.values,data.Close.values)
# CYCLES
data['HT_DCPERIOD'] = ta.HT_DCPERIOD(data.Close.values)
data['HT_DCPHASE'] = ta.HT_DCPHASE(data.Close.values)
data['inphase'],data['quadrature'] = ta.HT_PHASOR(data.Close.values)
data['sine'],data['leadsine'] = ta.HT_SINE(data.Close.values)
data['sls'] = data['sine'] - data['leadsine']
data['HT_TRENDMODE'] = ta.HT_TRENDMODE(data.Close.values)
# PRICE-ACTION
data['C/O'] = data.Close / data.Open -1
data['H/L'] = data.High / data.Low -1
data['C/L'] = data.Close / data.Low -1
data['H/Lt'] = data.High / data.Low.shift() -1
data['L/Lt'] = data.Low / data.Low.shift() -1
data['H/Ht2'] = data.High / data.High.shift(2) -1
data['H/Lt3'] = data.High / data.Low.shift(3) -1
data['L/Lt3'] = data.Low / data.Low.shift() -1
data['C/Ct2'] = data.Close / data.Close.shift(2) -1
data['C/Ct3'] = data.Close / data.Close.shift(3) -1
data['returns'] = np.log(data['Close'] / data['Close'] .shift())
data['direction'] = np.where(data['returns'] > 0, 1, 0)
# return bins
bins = list(np.linspace(-0.02, 0.02, 4))
data['direction_bins'] = np.digitize(data['returns'], bins=bins)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment