#having some trouble

1 messages · Page 1 of 1 (latest)

sharp thorn
#

code:

from datetime import datetime, timedelta
import tradermade as tm
from sklearn.preprocessing import StandardScaler
import pandas as pd
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
from keras.models import Sequential
from keras.layers import Dense

tm.set_rest_api_key("I1KRGRTMBTTDe9QR7wI_")

now = datetime.utcnow().strftime('%Y-%m-%d-%H:%M')
start = (datetime.utcnow() - timedelta(hours=10)).strftime('%Y-%m-%d-%H:%M')

frames = []
for c in ["USDJPY", "NZDJPY", "SEKJPY"]:
    df = tm.timeseries(currency=c, start=start, end=now, interval="hourly", fields=["open", "high", "low","close"])
    df.insert(0, "currency", c)
    frames.append(df)

df = pd.concat(frames)

currency_dummies = pd.get_dummies(df['currency'], prefix='currency')
df = pd.concat([df, currency_dummies], axis=1)
df.drop('currency', axis=1, inplace=True)

print(df)

df['date'] = pd.to_datetime(df['date']).astype('int64') // 10**9

column_names = df.columns.tolist()
column_names.remove('close')
X = df.drop(column_names, axis=1).values
y = df[['close']].values

scaler_X = StandardScaler()
scaler_Y = StandardScaler()
X = scaler_X.fit_transform(X)
y = scaler_Y.fit_transform(y)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

model = Sequential()
model.add(Dense(64, input_dim=X.shape[1], activation='relu'))
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='linear'))

model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(X_train, y_train, epochs=5, batch_size=32, validation_data=(X_test, y_test))

# test on real data
df = tm.timeseries(currency="NOKJPY", start=start, end=now, interval="hourly", fields=["open", "high", "low","close"]).loc[0]
print(df)

df['currency_NOKJPY'] = 1

df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d %H:%M:%S')
df["date"] = df["date"].timestamp()

scaled_data = scaler_X.transform(df)
predictions = model.predict(scaled_data)

print(predictions)
#

i am noobie