Пример #1
0
# I welcome all suggestions for how to do this better
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

from Stock_NN_Funcs import build_data
import numpy as np
from keras.models import load_model, Sequential
import math
import matplotlib.pyplot as plt

TEST_CASH = 1000
model_name = sys.argv[1]
test_secs = ["WIKI/ORCL"]
trading_days_in_year = 252

_build_data = build_data(raw=True,
                         random_split=False,
                         start_date="2015-01-01",
                         end_date="2017-01-01")
# _build_data = build_data(random_split = False, start_date = "2014-01-01", end_date = "2016-01-01")
_build_data.send(None)
# aapl = _build_data.send("WIKI/AAPL")
one_input_length = 463  #len(aapl["trX"][0])

# def keras_builder(builder):
# 	# s = yield
# 	while(1):
# 		for stock_code in test_secs:
# 			output = builder.send(stock_code)
# 			if output is not None:
# 				x = np.reshape(output["X_norm"], (1,) + np.shape(output["X_norm"]))
# 				y = np.reshape(output["trY"], (1,) + np.shape(output["trY"]))
# 				# for x, y in zip(x, y)
Пример #2
0
				flag = 0

	if flag == -1:
		CASH += shares * (short_price - day_price)
	elif flag == 1:
		CASH += shares * day_price
	if CASH > best:
		global best 
		best = CASH
	# saver.save(sess, "./"+"_".join(s.split("/")[1] for s in sys.argv[1:])+".ckpt")

	print(CASH)

print("Training...")

builder = build_data()
builder.send(None)
one_input_length = len(builder.send("WIKI/AAPL")["trX"][0])
layer_sizes = [one_input_length, 500, 500, 500, 2]   # the 3 is technically not a layer (it"s the output), but it"s here for convenience

tf.set_random_seed(1)

if not load_model_arg:
	x = tf.placeholder("float", [None, one_input_length])
	y = tf.placeholder("float")
	prediction = neural_network_model(x)
	cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction,y))
	optimizer = tf.train.AdamOptimizer().minimize(cost)

	saver = tf.train.Saver(max_to_keep = 5)
Пример #3
0
from keras.models import Sequential
from keras.layers import TimeDistributed, Dense, LSTM, GRU, Dropout
from keras.regularizers import l2, l1
from keras.callbacks import Callback, ModelCheckpoint
from Stock_NN_Funcs import build_data

np.random.seed(7)

load_model_arg = sys.argv[1] == "-l"

train_secs = sys.argv[(2 if load_model_arg else 1):]

samples_per_epoch = len(train_secs)
nb_epoch = 120

_build_data = build_data(random_split=False)
_build_data.send(None)
aapl = _build_data.send("WIKI/AAPL")
one_input_length = len(aapl["trX"][0])


def keras_builder(builder):
    # s = yield
    while (1):
        for stock_code in train_secs:
            output = builder.send(stock_code)
            if output is not None:
                x = np.reshape(output["trX"], (1, ) + np.shape(output["trX"]))
                y = np.reshape(output["trY"], (1, ) + np.shape(output["trY"]))
                # for x, y in zip(x, y)
                yield x, y
Пример #4
0
from Stock_NN_Funcs import build_data
import numpy as np
from keras.models import load_model, Sequential
from keras.layers import Recurrent
from keras.utils.layer_utils import layer_from_config
import math
import matplotlib.pyplot as plt

TEST_CASH = 100
model_name = sys.argv[1]
test_secs = ["WIKI/CZR"]
trading_days_in_year = 252


# _build_data = build_data(random_split = False, start_date = "1999-01-01", end_date = "2017-01-01")
_build_data = build_data(random_split=False, start_date="2014-01-01", end_date="2016-01-01")
_build_data.send(None)
# aapl = _build_data.send("WIKI/AAPL")
one_input_length = 463  # len(aapl["trX"][0])

# def keras_builder(builder):
# 	# s = yield
# 	while(1):
# 		for stock_code in test_secs:
# 			output = builder.send(stock_code)
# 			if output is not None:
# 				x = np.reshape(output["X_norm"], (1,) + np.shape(output["X_norm"]))
# 				y = np.reshape(output["trY"], (1,) + np.shape(output["trY"]))
# 				# for x, y in zip(x, y)
# 				yield x, y