def post(): K.clear_session() namasaham = request.form['namasaham'] model = joblib.load('model' + namasaham) #split tanggal,bulan,tahun date = request.form['tanggal'] date = datetime.datetime.strptime(date, '%Y-%m-%d') tanggal = date.strftime('%d') if tanggal[0] == str(0): tanggal1 = int(tanggal[1]) else: tanggal1 = int(tanggal) print(tanggal1) bulan = date.strftime('%m') if bulan[0] == str(0): bulan1 = int(bulan[1]) else: bulan1 = int(bulan) tahun = date.strftime('%Y') tahun1 = int(tahun) tanggal_predict = str(tahun + '-' + bulan + '-' + tanggal) #import data stock price real_saham = Fetcher(namasaham + ".JK", [2018, 1, 1], [tahun1, bulan1, tanggal1], interval="1d") real_saham = real_saham.getHistorical() real_saham = real_saham.iloc[:, 0:2] real_saham = real_saham.dropna() #set index and drop data in predict_date real_saham = real_saham.set_index("Date") if tanggal_predict in real_saham.index.values: real_saham = real_saham.drop(tanggal_predict, axis=0) real_saham = real_saham.tail(10) #transform from sklearn.preprocessing import MinMaxScaler sc = MinMaxScaler() saham = sc.fit_transform(real_saham) window = 3 predictX = dataset_predict.createDataset(saham, window) predictX = predictX.reshape(len(saham) - window + 1, window, 1) predictY = model.predict(predictX) #denormalisasi predictY = sc.inverse_transform(predictY) predict_next_day = "Rp. {}".format(int(predictY[-1][0])) price_previous_day = "Rp. {}".format(int(real_saham['Open'][-1])) previous_date = real_saham.index[-1] return render_template('predict.html', predict=predict_next_day, price_previous=price_previous_day, tanggal_predict=tanggal_predict, previous_date=previous_date, namasaham=namasaham)
def get_historical(stock_ticker): data = Fetcher(stock_ticker, [1990, 1, 1]).getHistorical() data['Date'] = pd.to_datetime(data['Date']) data = data.drop(columns=['Open', 'High', 'Low', 'Adj Close', 'Volume']) data['Date'] = pd.to_datetime(data['Date']).values.astype( np.int64) // 10**6 data = data.rename(columns={"Date": "x", "Close": "y"}) data = data.dropna() data = data.to_dict('records') return data