Esempio n. 1
0
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)
Esempio n. 2
0
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