Example #1
0
def main():
    # Load orderbook
    orderbook = Orderbook()
    orderbook.loadFromEvents('ob-1-small.tsv')


    env = gym.make("ctc-executioner-v0")
    env.configure(orderbook)
    model = deepq.models.cnn_to_mlp( convs=[(1, 10, 20)], hiddens=[200])
    act = deepq.learn(
        env,
        q_func=model,
        lr=1e-4,
        max_timesteps=100000,
        buffer_size=5000,
        exploration_fraction=0.1,
        exploration_final_eps=0.1,
        target_network_update_freq=1,
        print_freq=10,
    )
    print("Saving model as ctc-executioner-v0.pkl")
    act.save("ctc-executioner-v0.pkl")
Example #2
0
from order_side import OrderSide
from orderbook import Orderbook

orderbook = Orderbook()
orderbook.loadFromEvents('ob-1-small.tsv')
orderbook_test = orderbook
orderbook.summary()

side = OrderSide.SELL
levels = list(range(-20, 21))

episode = {
    'episode': 9,
    'steps': {
        0: {
            'action': 2,
            'index': 167,
            't': 100,
            'i': 0.9999999999999999,
            'reward': -6.224232140000822
        },
        1: {
            'action': 39,
            'index': 173,
            't': 90,
            'i': 0.9999999999999999,
            'reward': 1.9899999999997817
        },
        2: {
            'action': 21,
            'index': 179,
    return model


def saveModel(model, name):
    # serialize model to JSON
    model_json = model.to_json()
    with open(name + '.json', "w") as json_file:
        json_file.write(model_json)
    # serialize weights to HDF5
    model.save_weights(name + '.h5')
    print('Saved model "' + name + '" to disk')


# Load orderbook
orderbook = Orderbook()
orderbook.loadFromEvents('ob-1.tsv')
orderbook_test = orderbook
orderbook.summary()

# import datetime
# orderbook = Orderbook()
# config = {
#     'startPrice': 10000.0,
#     'endPrice': 9940.0,
#     'levels': 25,
#     'qtyPosition': 0.1,
#     'startTime': datetime.datetime.now(),
#     'duration': datetime.timedelta(minutes=30),
#     'interval': datetime.timedelta(seconds=1)
# }
# orderbook.createArtificial(config)