# 스케일러 설정
"""
open, high, low, close, Mean, Upper, Lower, Upper fib,
low fib, Plot, Plot.1, Plot.2, ParabolicSAR, H, M, L,
RES, SUP, EMA_34, short_line, VWAP, 34 EMA, hlc3
"""
price_scaler = MinMaxScaler()
""" Volume.1, A/D Volume """
vol_scaler = MinMaxScaler()
""" OnBalanceVolume """
obv_scaler = MinMaxScaler()
""" MF """
mf_scaler = MinMaxScaler()
""" Accumulation/Distribution """
ad_scaler = MinMaxScaler()
""" RSI """
rsi_scaler = MinMaxScaler()
""" Second RSI """
rsi2_scaler = MinMaxScaler()
""" Second MFI """
mfi_scaler = MinMaxScaler()
""" BB Basis, BB Upper, BB Lower """
bb_scaler = MinMaxScaler()
""" Plot.3, Plot.4, CCI """
cci_scaler = MinMaxScaler()
# 스케일 데이터 fitting
price_scaler.fit(np.array(copy_data[['open', 'high', 'low', 'close', 'Mean ', 'Upper ',
'Lower', 'Upper fib ', 'low fib', 'Plot', 'Plot.1',
'Plot.2', 'ParabolicSAR', 'H', 'M', 'L', 'RES', 'SUP',
'EMA_34', 'short_line', 'VWAP', '34 EMA', 'hlc3']]).reshape(-1, 1))
vol_scaler.fit(np.array(copy_data[['Volume.1', 'A/D Volume']]).reshape(-1, 1))
obv_scaler.fit(np.array(copy_data[['OnBalanceVolume']]).reshape(-1, 1))
mf_scaler.fit(np.array(copy_data[['MF']]).reshape(-1, 1))
ad_scaler.fit(np.array(copy_data[['Accumulation/Distribution']]).reshape(-1, 1))
rsi_scaler.fit(np.array(copy_data[['RSI']]).reshape(-1, 1))
rsi2_scaler.fit(np.array(copy_data[['Second RSI']]).reshape(-1, 1))
mfi_scaler.fit(np.array(copy_data[['Second MFI']]).reshape(-1, 1))
bb_scaler.fit(np.array(copy_data[['BB Basis', 'BB Upper', 'BB Lower']]).reshape(-1, 1))
cci_scaler.fit(np.array(copy_data[['Plot.3', 'Plot.4', 'CCI']]).reshape(-1, 1))
# 학습데이터 0 ~ 1 스케일
copy_data[['open', 'high', 'low', 'close', 'Mean ', 'Upper ',
'Lower', 'Upper fib ', 'low fib', 'Plot', 'Plot.1',
'Plot.2', 'ParabolicSAR', 'H', 'M', 'L', 'RES', 'SUP',
'EMA_34', 'short_line', 'VWAP', '34 EMA', 'hlc3']] = price_scaler.transform(np.array(copy_data[['open', 'high', 'low', 'close', 'Mean ',
'Upper ', 'Lower', 'Upper fib ', 'low fib',
'Plot', 'Plot.1', 'Plot.2', 'ParabolicSAR',
'H', 'M', 'L', 'RES', 'SUP', 'EMA_34', 'short_line',
'VWAP', '34 EMA', 'hlc3']]).reshape(-1, 23))
copy_data[['Volume.1', 'A/D Volume']] = vol_scaler.transform(np.array(copy_data[['Volume.1', 'A/D Volume']]).reshape(-1, 2))
copy_data[['OnBalanceVolume']] = obv_scaler.transform(np.array(copy_data[['OnBalanceVolume']]).reshape(-1, 1))
copy_data[['MF']] = mf_scaler.transform(np.array(copy_data[['MF']]).reshape(-1, 1))
copy_data[['Accumulation/Distribution']] = ad_scaler.transform(np.array(copy_data[['Accumulation/Distribution']]).reshape(-1, 1))
copy_data[['RSI']] = rsi_scaler.transform(np.array(copy_data[['RSI']]).reshape(-1, 1))
copy_data[['Second RSI']] = rsi2_scaler.transform(np.array(copy_data[['Second RSI']]).reshape(-1, 1))
copy_data[['Second MFI']] = mfi_scaler.transform(np.array(copy_data[['Second MFI']]).reshape(-1, 1))
copy_data[['BB Basis', 'BB Upper', 'BB Lower']] = bb_scaler.transform(np.array(copy_data[['BB Basis', 'BB Upper', 'BB Lower']]).reshape(-1, 3))
copy_data[['Plot.3', 'Plot.4', 'CCI']] = cci_scaler.transform(np.array(copy_data[['Plot.3', 'Plot.4', 'CCI']]).reshape(-1, 3))
Scaled Chart Data