volumep = data_original.ix[:, 'Volume'].tolist() ma30 = pd.DataFrame(closep).rolling(14).mean().values.tolist() ma30 = [v[0] for v in ma30] ma60 = pd.DataFrame(closep).rolling(30).mean().values.tolist() ma60 = [v[0] for v in ma60] nine_period_high = pd.rolling_max(pd.DataFrame(highp), window=ROLLING / 2) nine_period_low = pd.rolling_min(pd.DataFrame(lowp), window=ROLLING / 2) ichimoku = (nine_period_high + nine_period_low) / 2 ichimoku = ichimoku.replace([np.inf, -np.inf], np.nan) ichimoku = ichimoku.fillna(0.).values.tolist() macd_indie = moving_average_convergence(pd.DataFrame(closep)) wpr = williams_percent_r(closep) rsi = relative_strength_index(closep, ROLLING / 2) volatility1 = pd.DataFrame(closep).rolling(ROLLING).std().values #.tolist() volatility2 = pd.DataFrame(closep).rolling(ROLLING).var().values #.tolist() volatility = volatility1 / volatility2 volatility = [v[0] for v in volatility] rolling_skewness = pd.DataFrame(closep).rolling(ROLLING).skew().values rolling_kurtosis = pd.DataFrame(closep).rolling(ROLLING).kurt().values X, Y = [], [] for i in range(WINDOW, len(data_original) - 1, STEP): try: o = openp[i:i + WINDOW]
def test_wpr(self): wpr = williams_percent_r.williams_percent_r(self.data) np.testing.assert_array_equal(wpr, self.wpr_expected)
def williams_percent(dataframe): from pyti.williams_percent_r import williams_percent_r return williams_percent_r(dataframe['close'])
ma30 = pd.DataFrame(closep).rolling(14).mean().values.tolist() ma30 = [v[0] for v in ma30] ma60 = pd.DataFrame(closep).rolling(30).mean().values.tolist() ma60 = [v[0] for v in ma60] nine_period_high = pd.rolling_max(pd.DataFrame(highp), window= ROLLING / 2) nine_period_low = pd.rolling_min(pd.DataFrame(lowp), window= ROLLING / 2) ichimoku = (nine_period_high + nine_period_low) /2 ichimoku = ichimoku.replace([np.inf, -np.inf], np.nan) ichimoku = ichimoku.fillna(0.).values.tolist() macd_indie = moving_average_convergence(pd.DataFrame(closep)) wpr = williams_percent_r(closep) rsi = relative_strength_index(closep, ROLLING / 2) volatility1 = pd.DataFrame(closep).rolling(ROLLING).std().values#.tolist() volatility2 = pd.DataFrame(closep).rolling(ROLLING).var().values#.tolist() volatility = volatility1 / volatility2 volatility = [v[0] for v in volatility] rolling_skewness = pd.DataFrame(closep).rolling(ROLLING).skew().values rolling_kurtosis = pd.DataFrame(closep).rolling(ROLLING).kurt().values X, Y = [], [] for i in range(WINDOW, len(data_original)-1, STEP): try:
from pyti.relative_strength_index import relative_strength_index rsi = relative_strength_index(close, period) from pyti.moving_average_convergence_divergence import moving_average_convergence_divergence macd = moving_average_convergence_divergence(close, short_period=1, long_period=10) from pyti.commodity_channel_index import commodity_channel_index cci = commodity_channel_index(close, high_data=high, low_data=low, period=period) from pyti.williams_percent_r import williams_percent_r willr = williams_percent_r(close) from pyti.accumulation_distribution import accumulation_distribution acd = accumulation_distribution(close_data=close, low_data=low, high_data=high, volume=volume) X = [] Y = [] for _ in range(10, len(open) - 1): tmp = [] tmp.append((int)(close[_] > sma[_])) tmp.append(wma[_]) tmp.append(mome[_]) tmp.append(rsi[_])
def convert(str): period = 10 dataset_train = pd.read_csv(str) x = dataset_train.iloc[:, 4].values try: open = dataset_train.iloc[:, 1].values except Exception: open = read_float_with_comma(dataset_train.iloc[:, 1].values) try: high = dataset_train.iloc[:, 2].values except Exception: high = read_float_with_comma(dataset_train.iloc[:, 2].values) try: low = dataset_train.iloc[:, 3].values except Exception: low = read_float_with_comma(dataset_train.iloc[:, 3].values) try: close = dataset_train.iloc[:, 4].values except Exception: close = read_float_with_comma(dataset_train.iloc[:, 4].values) try: volume = dataset_train.iloc[:, 5].values except Exception: volume = read_float_with_comma(dataset_train.iloc[:, 5].values) from pyti.simple_moving_average import simple_moving_average sma = simple_moving_average(close, period) from pyti.weighted_moving_average import weighted_moving_average wma = weighted_moving_average(close, period) from pyti.momentum import momentum mome = momentum(close, period) from pyti.relative_strength_index import relative_strength_index rsi = relative_strength_index(close, period) from pyti.moving_average_convergence_divergence import moving_average_convergence_divergence macd = moving_average_convergence_divergence(close, short_period=1, long_period=10) from pyti.commodity_channel_index import commodity_channel_index cci = commodity_channel_index(close, high_data=high, low_data=low, period=period) from pyti.williams_percent_r import williams_percent_r willr = williams_percent_r(close) from pyti.accumulation_distribution import accumulation_distribution acd = accumulation_distribution(close_data=close, low_data=low, high_data=high, volume=volume) X = [] Y = [] for _ in range(10, len(open)): tmp = [] tmp.append(sma[_]) tmp.append(wma[_]) tmp.append(mome[_]) tmp.append(rsi[_]) tmp.append(macd[_]) tmp.append(cci[_]) tmp.append(willr[_]) X.append(tmp) Y.append([close[_]]) X, Y = np.array(X), np.array(Y) return X, Y
def test_wpr(self): period = 14 wpr = williams_percent_r.williams_percent_r(self.high_data, self.low_data, self.close_data, period) print (wpr.tolist()) np.testing.assert_array_equal(wpr, self.wpr_expected)