[
  {
    "path": ".ipynb_checkpoints/singlestock_regresion_(1)-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#TODO: normalize data, more cost fns, \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    #prices=np.asarray(list(prices))\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"    return (prices-prices.shift(-1))/prices\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"gs = get_prices('GS')\\n\",\n    \"rets = get_returns(gs)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# we define two placeholders for our input and output\\n\",\n    \"x = tf.placeholder(tf.float32, [None, 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None, 1])\\n\",\n    \"\\n\",\n    \"# we define trainable variables for our model\\n\",\n    \"W = tf.Variable(tf.random_normal([100, 1]))\\n\",\n    \"b = tf.Variable(tf.random_normal([1]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b\\n\",\n    \"\\n\",\n    \"# two choices for cost function: cross entropy or mean squared error\\n\",\n    \"# use MSE for now\\n\",\n    \"# TODO learn more about cost fns and training steps\\n\",\n    \"cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))\\n\",\n    \"train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)\\n\",\n    \"#MSE:\\n\",\n    \"cost = tf.reduce_sum(tf.pow(y-y_, 2))/(2*1000)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 1000 cost= 0.019055584\\n\",\n      \"Epoch: 2000 cost= 0.005943393\\n\",\n      \"Epoch: 3000 cost= 0.002348902\\n\",\n      \"Epoch: 4000 cost= 0.001233126\\n\",\n      \"Epoch: 5000 cost= 0.000856721\\n\",\n      \"Epoch: 6000 cost= 0.000721102\\n\",\n      \"Epoch: 7000 cost= 0.000669394\\n\",\n      \"Epoch: 8000 cost= 0.000648663\\n\",\n      \"Epoch: 9000 cost= 0.000639970\\n\",\n      \"Epoch: 10000 cost= 0.000636177\\n\",\n      \"Epoch: 11000 cost= 0.000634464\\n\",\n      \"Epoch: 12000 cost= 0.000633667\\n\",\n      \"Epoch: 13000 cost= 0.000633285\\n\",\n      \"Epoch: 14000 cost= 0.000633100\\n\",\n      \"Epoch: 15000 cost= 0.000633007\\n\",\n      \"Epoch: 16000 cost= 0.000632960\\n\",\n      \"Epoch: 17000 cost= 0.000632936\\n\",\n      \"Epoch: 18000 cost= 0.000632923\\n\",\n      \"Epoch: 19000 cost= 0.000632917\\n\",\n      \"Epoch: 20000 cost= 0.000632913\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.initialize_all_variables()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        c = sess.run(cost, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(c))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1121c5fd0>]\"\n      ]\n     },\n     \"execution_count\": 61,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x111ce6080>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#train results\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: train_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position.reshape(-1) * train_outs\\n\",\n    \"plot(np.cumprod(returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 62,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1123ae860>]\"\n      ]\n     },\n     \"execution_count\": 62,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1121dc550>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#test results\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: test_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position.reshape(-1) * test_outs\\n\",\n    \"plot(np.cumprod(returns+1))\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "DataFlow_Suite/lstm_exec.py",
    "content": "import tensorflow as tf\nimport numpy as np\nimport numpy.random as rng\nimport pandas.io.data as web\nimport numpy as np\nimport pandas as pd\n\n\ndef get_prices(symbol):\n    start, end = '2007-05-02', '2016-04-11'\n    data = web.DataReader(symbol, 'yahoo', start, end)\n    data=pd.DataFrame(data)\n    prices=data['Adj Close']\n    prices=prices.astype(float)\n    return prices\n\ndef get_returns(prices):\n        return ((prices-prices.shift(-1))/prices)[:-1]\n    \ndef get_data(list):\n    l = []\n    for symbol in list:\n        rets = get_returns(get_prices(symbol))\n        l.append(rets)\n    return np.array(l).T\n        \nsymbol_list = ['C', 'GS']\nrets = get_data(symbol_list)\n\ndef lstm_iterator(raw_data, num_steps, data_size):\n    batch_size=1\n \n    raw_data = np.array(raw_data, dtype=np.float32)\n\n    data_len = len(raw_data)\n    batch_len = data_len // batch_size\n    data = np.zeros([batch_size, batch_len, data_size], dtype=np.float32)\n    for i in range(batch_size):\n        data[i] = raw_data[batch_len * i:batch_len * (i + 1),:]\n\n    epoch_size = (batch_len - 1) // num_steps\n\n    if epoch_size == 0:\n        raise ValueError(\"epoch_size == 0, decrease batch_size or num_steps\")\n\n    for i in range(epoch_size):\n        x = data[:, i*num_steps:(i+1)*num_steps]\n        y = data[:, i*num_steps+1:(i+1)*num_steps+1]\n        yield (x[0], y[0])\n        \n        \n        \n        \n        \nclass LSTMModel(object):\n    def __init__(self, num_steps, num_samples):#, config):\n        symbol_list = ['C', 'GS']\n\n        positions = tf.constant([-1,0,1]) #long, neutral or short\n        num_positions = 3\n        num_symbols = len(symbol_list)\n        self.num_samples = num_samples\n        self.num_steps = num_steps\n\n        #n_input = num_symbols * 100\n\n        hidden_size=21\n        n_classes = num_positions * num_symbols\n\n        #self.num_steps = tf.placeholder(tf.int64)\n\n        # define placeholders \n        self.inputs_ = tf.placeholder(tf.float32, [None, num_symbols])\n        self.targets_ = tf.placeholder(tf.float32, [None,  num_symbols])\n\n        cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_size, forget_bias=0.0, state_is_tuple=True)\n        #cell = tf.nn.rnn_cell.MultiRNNCell([cell] * config.num_layers)\n        cell = tf.nn.rnn_cell.InputProjectionWrapper(cell,  num_symbols)\n        cell = tf.nn.rnn_cell.OutputProjectionWrapper(cell, n_classes)\n\n\n        outputs=[]\n        self.initial_state = cell.zero_state(1, tf.float32)\n        state = self.initial_state\n        time_step = 0\n        \n        '''with tf.variable_scope(\"RNN\"):\n            def body(x):\n                inp = self.inputs_[time_step,:]\n                inp = tf.reshape(inp, [1,-1])\n                (cell_output, state) = cell(inp, state)\n                outputs.append(cell_output)\n                return \n\n            def condition(x):\n                return tf.reduce_sum(x) < 100\n        \n            tf.while_loop(condition, body, [x])'''\n            \n        with tf.variable_scope(\"RNN\"):\n            for time_step in range(self.num_steps):   #####num_steps???\n                if time_step > 0: tf.get_variable_scope().reuse_variables()    \n                inp = self.inputs_[time_step,:]\n                inp = tf.reshape(inp, [1,-1])\n                (cell_output, state) = cell(inp, state)\n                outputs.append(cell_output) #[6,]\n\n        self.final_state = state \n\n        y = tf.reshape(tf.concat(1, outputs), [-1, n_classes])\n\n\n\n\n\n        # loop through symbol, taking the columns for each symbol's bucket together\n        pos = {}\n        sample_n = {}\n        sample_mask = {}\n        symbol_returns = {}\n        relevant_target_column = {}\n        for i in range(num_symbols):\n            # isolate the buckets relevant to the symbol and get a softmax as well\n            symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\n            symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\n            # sample probability to chose our policy's action\n            sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\n            for sample_iter in range(num_samples):\n                sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\n                pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\n                symbol_returns[i*num_samples + sample_iter] = tf.mul(\n                                                                    tf.cast(pos[i*num_samples + sample_iter], tf.float32), \n                                                                     self.targets_[:,i])\n\n                sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), tf.float32)\n                relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\n                                                            symbol_probs * sample_mask[i*num_samples + sample_iter],1)\n\n\n\n        daily_returns_by_symbol_ = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\n        daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\n        daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\n\n        total_return = tf.reduce_prod(daily_returns+1, 0)\n        z = tf.ones_like(total_return) * -1\n        self.total_return = total_return = tf.add(total_return, z)\n\n\n        ann_vol = tf.mul(\n            tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\n            np.sqrt(252)\n            )\n        self.sharpe = tf.div(total_return, ann_vol)\n        #Maybe metric slicing later\n        #segment_ids = tf.ones_like(daily_returns[:,0])\n        #partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\n\n\n        training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\n        ones = tf.ones_like(training_target_cols)\n        gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\n\n        gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\n\n        #cost = tf.mul(gradient , daily_returns_by_symbol_reshaped)\n        #cost = tf.mul(gradient , tf.expand_dims(daily_returns, -1))\n        cost = tf.mul(gradient , tf.expand_dims(total_return, -1))\n        #cost = tf.mul(gradient , tf.expand_dims(sharpe, -1))\n\n        self.optimizer = tf.train.GradientDescentOptimizer(0.0001).minimize(cost)\n        self.costfn = tf.reduce_mean(cost)\n        \n        \ndef run_train_results(m, epoch):\n    state = m.initial_state.eval()\n    rs = rets[:-200]\n    full_feed = {m.inputs_: rs[:-1], m.targets_: rs[1:], m.initial_state: state}\n    \n    t,s, c = session.run([ m.total_return, m.sharpe, m.costfn], feed_dict=full_feed)\n    t = np.mean(t)\n    s = np.mean(s)\n    print(\"Epoch:\", '%04d' % (epoch+1), \"cost=\",c, \"total return=\", \"{:.9f}\".format(t), \n         \"sharpe=\", \"{:.9f}\".format(s))\n    return t\n    \ndef run_test_results(m, epoch):\n    state = m.initial_state.eval()\n    rs = rets[-200:]\n    full_feed = {m.inputs_: rs[:-1], m.targets_: rs[1:], m.initial_state: state}\n    \n    t,s, c = session.run([ m.total_return, m.sharpe, m.costfn], feed_dict=full_feed)\n    t = np.mean(t)\n    s = np.mean(s)\n    print(\"Epoch:\", '%04d' % (epoch+1), \"cost=\",c, \"total return=\", \"{:.9f}\".format(t), \n         \"sharpe=\", \"{:.9f}\".format(s))\n    return t\n    \n\ndef run_epoch(m, epoch):\n    \n    full_feed = {m.inputs_: rets[:-1], m.targets_: rets[1:]}\n    state = m.initial_state.eval()\n    for step, (x, y) in enumerate(lstm_iterator(rets,20,2 )):\n        #m.num_steps = len(x)\n        feed_dict = {m.inputs_: x, m.targets_: y, m.initial_state: state}\n        _ , state = session.run([m.optimizer, m.final_state], feed_dict=feed_dict)\n    return\n\n\nresults = []\npos_results = []\nwith tf.Graph().as_default(), tf.Session() as session:\n    \n    with tf.variable_scope(\"model\", reuse=None):#, initializer=init):\n        m = LSTMModel(num_steps = 20, num_samples = 5)#, config=config)\n    with tf.variable_scope(\"model\", reuse=True):#, initializer=init):\n        mvalid = LSTMModel(num_steps = len(rets[:-200]) -1, num_samples = 1)#, config=config)\n    with tf.variable_scope(\"model\", reuse=True):#, initializer=init):\n        mtest = LSTMModel(num_steps = len(rets[-200:]) -1, num_samples = 1)\n    tf.initialize_all_variables().run()\n    for epoch in range(10):\n        \n        run_epoch(m, epoch )\n        print('getting results...')\n        trt = run_train_results(mvalid, epoch)\n    print('trt')\n    ttt = run_test_results(mtest, epoch)\n    print('test: ',ttt)\n    \n    results.append(ttt)\n    if trt>0:\n        pos_results.append(ttt)\nprint(np.mean(results))\nprint(np.mean(pos_results))\n"
  },
  {
    "path": "DataFlow_Suite/neural_net_exec.py",
    "content": "#import matplotlib.pyplot as plt\nimport tensorflow as tf\nimport numpy as np\nimport numpy.random as rng\nimport pandas.io.data as web\nimport numpy as np\nimport os\nimport pandas as pd\n\n# we modify this data organizing slightly to get two symbols\ndef get_prices(symbol):\n    start, end = '2007-05-02', '2016-04-11'\n    data = web.DataReader(symbol, 'yahoo', start, end)\n    data=pd.DataFrame(data)\n    prices=data['Adj Close']\n    prices=prices.astype(float)\n    return prices\n\ndef get_returns(prices):\n        return ((prices-prices.shift(-1))/prices)[:-1]\n    \ndef get_data(list):\n    l = []\n    for symbol in list:\n        rets = get_returns(get_prices(symbol))\n        l.append(rets)\n    return np.array(l).T\n\ndef sort_data(rets):\n    ins = []\n    outs = []\n    for i in range(len(rets)-100):\n        ins.append(rets[i:i+100].tolist())\n        outs.append(rets[i+100])\n    return np.array(ins), np.array(outs)\n        \nprint('loading data')\nsymbol_list = ['C', 'GS']\ndef data_loader_1(symbol_list):\n    if os.path.exists('rets.pkl'):\n        rets = pd.read_pickle('rets.pkl')\n    else:\n        rets = get_data(symbol_list)\n        pd.to_pickle(rets, 'rets.pkl')\n    ins, outs = sort_data(rets)\n    ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\n    div = int(.8 * ins.shape[0])\n    train_ins, train_outs = ins[:div], outs[:div]\n    test_ins, test_outs = ins[div:], outs[div:]\n\n    #normalize inputs\n    train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\n    return train_ins, test_ins, train_outs, test_outs\ntrain_ins, test_ins, train_outs, test_outs = data_loader_1(symbol_list)\nprint('loaded data')\n\n\nsess = tf.Session()\n\npositions = tf.constant([-1,0,1]) #long, neutral or short\nnum_positions = 3\nnum_symbols = len(symbol_list)\nnum_samples = 10\n\nn_input = num_symbols * 100\nn_hidden_1 = 10 # 1st layer number of features\nn_hidden_2 = 10 # 2nd layer number of features\nn_classes = num_positions * num_symbols # MNIST total classes (0-9 digits)\n\n\n# define placeholders \nx = tf.placeholder(tf.float32, [None, num_symbols * 100])\ny_ = tf.placeholder(tf.float32, [None,  num_symbols])\n\nweights = {\n    'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),\n    'h2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),\n    'out': tf.Variable(tf.random_normal([n_hidden_2, n_classes]))\n}\nbiases = {\n    'b1': tf.Variable(tf.random_normal([n_hidden_1])),\n    'b2': tf.Variable(tf.random_normal([n_hidden_2])),\n    'out': tf.Variable(tf.random_normal([n_classes]))\n}\n\ndef multilayer_perceptron(x, weights, biases):\n    # Hidden layer with RELU activation\n    layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])\n    layer_1 = tf.nn.relu(layer_1)\n    # Hidden layer with RELU activation\n    layer_2 = tf.add(tf.matmul(layer_1, weights['h2']), biases['b2'])\n    layer_2 = tf.nn.relu(layer_2)\n    # Output layer with linear activation\n    out_layer = tf.matmul(layer_2, weights['out']) + biases['out']\n    return out_layer\n\n# Construct model\ny = multilayer_perceptron(x, weights, biases)\n\n\n\n# loop through symbol, taking the columns for each symbol's bucket together\npos = {}\nsample_n = {}\nsample_mask = {}\nsymbol_returns = {}\nrelevant_target_column = {}\nfor i in range(num_symbols):\n    # isolate the buckets relevant to the symbol and get a softmax as well\n    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\n    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\n    # sample probability to chose our policy's action\n    sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\n    for sample_iter in range(num_samples):\n        sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\n        pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\n        symbol_returns[i*num_samples + sample_iter] = tf.mul(\n                                                            tf.cast(pos[i*num_samples + sample_iter], np.float32), \n                                                             y_[:,i])\n        \n        sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), np.float32)\n        relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\n                                                    symbol_probs * sample_mask[i*num_samples + sample_iter],1)\n    \n\n\ndaily_returns_by_symbol_ = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\ndaily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\ndaily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\n\ntotal_return = tf.reduce_prod(daily_returns+1, 0)\nz = tf.ones_like(total_return) * -1\ntotal_return = tf.add(total_return, z)\n\n\nann_vol = tf.mul(\n    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\n    np.sqrt(252)\n    )\nsharpe = tf.div(total_return, ann_vol)\n#Maybe metric slicing later\n#segment_ids = tf.ones_like(daily_returns[:,0])\n#partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\n\n\ntraining_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\nones = tf.ones_like(training_target_cols)\ngradient_ = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\n\ngradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\n\n#cost = tf.mul(gradient , daily_returns_by_symbol_reshaped)\n#cost = tf.mul(gradient , tf.expand_dims(daily_returns, -1))\ncost = tf.mul(gradient , tf.expand_dims(total_return, -1))\n#cost = tf.mul(gradient , tf.expand_dims(sharpe, -1))\n\noptimizer = tf.train.GradientDescentOptimizer(0.0001).minimize(cost)\ncostfn = tf.reduce_mean(cost)\n\n\ndef run_training_and_return_test_results():\n    print('START TRAINING_______________________________')\n    # initialize variables to random values\n    init = tf.initialize_all_variables()\n    sess.run(init)\n    # run optimizer on entire training data set many times\n    train_size = train_ins.shape[0]\n    for epoch in range(20000):\n        start = rng.randint(train_size-15)\n        batch_size = rng.randint(2,50)\n        end = min(train_size, start+batch_size)\n\n        sess.run(optimizer, feed_dict={x: train_ins[start:end], y_: train_outs[start:end]})#.reshape(1,-1).T})\n        # every 1000 iterations record progress\n        if (epoch+1)%1000== 0:\n            t,s, c = sess.run([ total_return, sharpe, costfn], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\n            t = np.mean(t)\n            s = np.mean(s)\n            print(\"Epoch:\", '%04d' % (epoch+1), \"cost=\",c, \"total return=\", \"{:.9f}\".format(t), \n                 \"sharpe=\", \"{:.9f}\".format(s))\n            #print(t)\n\n    print('DONE TRAINING _______________________________')\n\n    d_tr, t_tr = sess.run([daily_returns, total_return], feed_dict={x: train_ins, y_: train_outs})\n\n    d_te, t_te = sess.run([daily_returns, total_return], feed_dict={x: test_ins, y_: test_outs})\n\n    t_tr = np.mean(t_tr)\n    t_te = np.mean(t_te)\n\n    print(\"total return train=\", \"{:.9f}\".format(t_tr))\n    print(\"total return test=\", \"{:.9f}\".format(t_te))\n    return t_tr, t_te\n\nresults = []\npos_results = []\nfor i in range(100):\n    tr, te = run_training_and_return_test_results()\n    results.append(te)\n    if tr>0:\n        pos_results.append(te)\n    print('iter: ', i)\n    print(np.mean(results))\n    print(np.mean(pos_results))\n    #print('final from net', '%f' %zz)\n    \nprint(np.mean(results))\nprint(np.mean(pos_results))\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 LiamConnell\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# A tour through tensorflow with financial data\n\nI present several models ranging in complexity from simple regression to LSTM and policy networks. The series can be used as an educational resource for tensorflow or deep learning, a reference aid, or a source of ideas on how to apply deep learning techniques to problems that are outside of the usual deep learning fields (vision, natural language).\n\nNot all of the examples will work. Some of them are far too simple to even be considered viable trading strategies and are only presented for educational purposes. Others, in the notebook form I present, have not been trained for the proper amount of time. Perhaps with a bit of rented GPU time they will be more promising and I leave that as an excercise for the reader. Hopefully this project inspires some to try using deep learning techniques for some more interesting problems. [Contact me](mailto:ljrconnell@gmail.com) if interested in learning more or if you have suggestions for additions or improvements.\n\nThe algorithms increase in complexity and introduce new concepts as they progress:\n\n## Simple Regression [(notebook)][1]\nHere we regress the prices from the last 100 days to the next day's price, training *W* and *b* in the equation *y = Wx + b* where *y* is the next day's price, *x* is a vector of dimension 100, *W* is a 100x1 matrix and *b* is a 1x1 matrix. We run the gradient descent algorithm to minimize the mean squared error of the predicted price and the actual next day price. Congratulations, you passed highschool stats. But hopefully this simple and naive example helps demonstrate the idea of a tensor graph, as well as showing a great example of extreme overfitting.\n\n## Simple Regression on Multiple Symbols [(notebook)][2]\nThings get a little more interesting as soon as we introduce more than one symbol. What is the best way to model our eventual investment strategy? We start to realize that our model only vaguely implies a policy (investment actions) by predicting the actual movement in price. The implied policy is simple: buy if the the predicted price movement is positive, sell if it is negative. But that doesnt sound realistic at all. How much do we buy? And will optimizing this, even if we are very careful to avoid overfitting, even produce results that allign with our goals? We havent actaully defined our goals explicitly, but for those who are not familiar with investment metrics, common goals include:\n+ maximize risk adjusted return (like the [Sharpe](https://en.wikipedia.org/wiki/Sharpe_ratio) ratio)\n+ consistency of returns over time\n+ low market exposure\n+ [long/short equity](http://www.investopedia.com/terms/l/long-shortequity.asp)\n\nIf markets were easy to figure out and we could accurately predict the next day's return then it wouldn't matter. Our implied policy would fit with some goals (not long/short equity though) and the strategy would be viable. The reality is that our model cannot accurately predict this, nor will our strategy ever be perfect. Our best case scenario is always just winning slightly more than losing. When operating on these margins it is much more important that we consider the policy explicitly, thus moving to 'Policy Based' deep learning.\n\n## Policy Gradient Training [(notebook)][3]\nOur policy will remain simple. We will chose a position, long/neutral/short, for each symbol in our portfolio. But now, instead of letting our estimation of the future return inform our decision, we train our network to choose the best position. Thus, instead of having an *implied* policy, it is *explicit* and *trained* directly.\n Even thought the policy is simple in this case, training it is a bit more involved. I did my best to interpret Andrej Karpathy's excelent article on [Reinforcement Learning](http://karpathy.github.io/2016/05/31/rl/) when writing this code. It might be worth reading his explanation, but I'll do my best to summarize what I did.\n\nWe update our regression engine so that its output, *y*, is a vector in dimension *[batch_size, number_positions x number_symbols]* (a long, short, neutral bucket for each symbol).\n\nFor each symbol in our portfolio, we **sample** the probability distribution of our three position buckets to get our policy decision (a position long/short/neutral), we multiply our decision (element of {-1,0,1}) by the target value to get a daily return for the symbol. Then we add that value for all the symbols to get a full daily return. We can also get other metrics like the total return and sharpe ratio since we actually are feeding this through as a batch (more on that later). As Karpathy points out, we are *only interested in the gradients of the positions we sampled*, so we select the appropriate columns from the output and combine them into a new tensor.\n\nThis part of the code was a bit tricky for several reasons. First off, we have a loop through and isolate each symbol since I need one position per symbol. I also am using multinomial probability distributions, so I need to take a softmax of those values. Softmax pushes values so that they sum to 1, and therefore can represent a probability distribution. In pseudocode: `softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))`.\n\n```\nfor i in range(len(symbol_list)):\n    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\n    symbol_probs_softmax = tf.nn.softmax(symbol_probs)\n```\n\nNext, we sample that probability distribution. Even though the code is a nice one-liner due to tensorflow's multinomial function, the function is NOT DIFFERENTIABLE, meaning that we will not be able to \"move through\" this step durring back propogation. We calcultate the position vector simply by subtracting 1 from the column indices that we got from the sample so that we get and element of {-1,0,1}.\n\n```\npos = {}\nfor i in range(len(symbol_list)):\n    # ISOLATE from before\n    # ...\n    sample = tf.multinomial(tf.log(symbol_probs_softmax), 1)\n    pos[i] = tf.reshape(sample, [-1]) - 1   # choose(-1,0,1)\n```\n\nThen we multiply that position by the target (future return) for each day. This gives us our return. It already looks like a cost function but remember that it's not differentiable.\n\n```\nsymbol_returns = {}\nfor i in range(len(symbol_list)):\n    # ISOLATE and SAMPLE from before\n    # ...\n    symbol_returns[i] = tf.mul(tf.cast(pos[i], float32),  y_[:,i])\n```\n\nFinally, we isolate the relevant column (the one we chose in our sample) from our probability distribution. The idea isn't very difficult but the code was a bit tough, remember that we are dealing with a whole batch of outputs at a time. This step NEEDS to be differentiable since we will use this tensor to compute our gradients. Unfortunately tensorflow is still developing a function that does it by itself, [here](https://github.com/tensorflow/tensorflow/issues/206) is the discussion. I actually think that my solution is the best and I suggest it in the discussion, but I'm really not an expert at efficient computation. If anyone thinks of a more efficient solution or if tensorflow finishes theirs please let me know.\n\n```\nrelevant_target_column = {}\nfor i in range(len(symbol_list)):\n    # ...\n    # ...\n    sample_mask = tf.reshape(tf.one_hot(sample, 3), [-1,3])\n    relevant_target_column[i] = tf.reduce_sum(symbol_probs_softmax * sample_mask,1)\n```\n\nSo here is all of that together:\n\n```\n# loop through symbols, taking the buckets for one symbol at a time\npos = {}\nsymbol_returns = {}\nrelevant_target_column = {}\nfor i in range(len(symbol_list)):\n    # ISOLATE the buckets relevant to the symbol and get a softmax as well\n    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\n    symbol_probs_softmax = tf.nn.softmax(symbol_probs)\n    # SAMPLE probability to chose our policy's action\n    sample = tf.multinomial(tf.log(symbol_probs_softmax), 1)\n    pos[i] = tf.reshape(sample, [-1]) - 1   # choose(-1,0,1)\n    # GET RETURNS by multiplying the policy (position taken) by the target return (y_) for that day\n    symbol_returns[i] = tf.mul(tf.cast(pos[i], float32),  y_[:,i])\n    # isolate the output probability the selected policy (for use in calculating gradient)\n    sample_mask = tf.reshape(tf.one_hot(sample, 3), [-1,3])\n    relevant_target_column[i] = tf.reduce_sum(symbol_probs_softmax * sample_mask,1)\n```\n\nSo now we have a tensor with the regression's probability for the chosen (sampled) action for each symbol and each day. We also have a few performance metrics like daily and total return to choose from, but they're not differentiable because we sampled the probability so we cant just \"gradient descent maximize\" the profit...unfortunately. Instead, we find the sigmoid cross entropy (a sort of distance function) between the first table (the probabilities we chose/sampled) and an all-ones tensor of the same shape. We get a table of cross entropies of the same size (number of symbols by batch size) This is basically equivalent to saying, how do I do MORE of what I'm already doing, for every decision that I made.\n```\ntraining_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\nones = tf.ones_like(training_target_cols)\ngradient = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\n```\n\nNow we dont necessarilly want MORE of what we're doing, but the opposite of it is definitely LESS of it, which is useful. We multiply that tensor by our fitness function (the daily or aggregate return) and we use the gradient descent optimizer to minimize the cost. So you see? If the fitness function is negative, it will train the weights of the regression to NOT do what it just did. Its a pretty cool idea and it can be applied to a lot of problems that are much more interesting. I give some examples in the notebook about which different fitness functions you can apply which I think is better explained by seeing it. Here is that code:\n```\ncost = tf.mul(gradient , returns)        #returns are some reshaped version of symbol_returns (from above)\noptimizer = tf.train.GradientDescentOptimizer(0.1).minimize(cost)\n```\n\n\n## Stochastic Gradient Descent [(notebook)][4]\n\nAs you saw in the notebook, the policy gradient doesnt train very well when we are grading it on the return over the entire dataset, but it trains very well when it uses each day's return or the position on each symbol every day. This makes sense, if we just take the total return over several years and its slightly positive then we tell our machine to do more of that. That will do almost nothing since so many of those decisions were actually losing money. The problem, as we have it set up now, needs to be broken down into smaller units. Fortunately there is some mathematical proof that this is legal and even faster. Score!\n\nStochastic Gradient Descent is basically just breaking your data into smaller batches and doing gradient descent on each one. It will have slightly less accurate gradients WRT to the entire dataset's cost function, but since you are able to iterate faster with smaller batches you can run way more of them. There might even be more advantages to SGD that I'm not even mentioning, so you can read the [wikipedia](https://en.wikipedia.org/wiki/Stochastic_gradient_descent) or hear [Andrew Ng](https://www.coursera.org/learn/machine-learning#syllabus) talk about it. Or just use it since it works and its faster. If you're going on a wikipedia learning binge you might as well also learn about [Momentum](https://en.wikipedia.org/wiki/Stochastic_gradient_descent#Momentum) and [Adagrad](https://en.wikipedia.org/wiki/Stochastic_gradient_descent#AdaGrad) which are just variations. The latter two only really useful for people doing much bigger projects. If you are working on a huge project and your twobucksanhour AWS GPU instance is too slow then you should definitely be using them (and not be reading this introductory tutorial). At the higher level, the problem of tuning the optimizer and overall efficiency have been thoroughly [researched](http://www.andrewng.org/portfolio/on-optimization-methods-for-deep-learning/).\n\n## Multi Sampling [(notebook)][5]\n\nSince we are sampling the policy, we can sample repeatedly in order to compute better. Karpathy's article summarizes the math behind this nicely and [this](http://arxiv.org/abs/1506.05254) paper is worth reading. The concept is intuitive and simple, but getting the math to work out and the tensor graph in order is very involved. One realizes that a mastery of numpy and a solid understanding of linear algebra are very important to tensorflow once the problems get...deeper, I guess is the word.\n\nMulti sampling adds a useful computational kick that lets the network train much more efficiently. The results are already impressive. Using batches of less than 75 days and only training on the total return over that timeframe, we are able to \"overfit\" our network. Keep in mind that all we are doing is telling the network to do more of what it is doing when it does well, and less when it does poorly! Sure, we are still far away from having anything worthwhile out of sample, but that is because we are still using *linear regression*.\n\nBy now you are probably either wondering *does this guy even know what deep learning is? I havent seen a single neural network!* or you completely forgot we were still using the same linear regression that 16 year olds learn in math class. Well, we'll get to neural networks next but I wanted to talk about other things before neural networks to show how much tensorflow can be used for before neural networks even get mentioned, and to show how much important math exists in deep learning that has nothing to do with neural networks. Tensorflow makes neural nets so easy that you barely even notice that they're part of the picture and its definitely not worth getting bogged down by their math if you dont have a solid understanding of the math behind cross entropy, policy gradients and the like. They probably even distract from where the true difficulty is. Maybe I'll try to get a regression to play pong so that everyone shuts about neural networks and starts talking about policy learning...\n\n## Neural Networks [(notebook)][6]\n\nSo we finanlly get to it. Here's the same thing with a neural network. Its the simplest kind of net that there is but it is still very powerful. Way more powerful that our puny regression ever was becuase it has nonlinearities (RELU layers) between the other layers (which are basically just regressions by themselves). A sequence of linear regressions is still obviously linear<sup>[1](#myfootnote1)</sup>. But if we put a nonlinearity between the layers, then our net can do *anything*. Thats what gets people excited about neural networks, becuase they can hold enourmous amounts of information when trained well. Fortunatly, we just learned a bunch of cool ways to train them in steps 1-5. Now putting in the network is very easy. I really changed nothing except the Variable and the equation really is basically still *y = Wx + b* except non-linear *W*.\n\nThe reason I introduced the networks so late is becuase they can be a bit difficult to tune. Chosing the right size of your network and the right training step can be difficult and sometimes it is helpful to start out simple until you have all the bells and whistles in place.\n\nIn steps 3-5, we spent a lot of time figuring out tricks to do with the training step, which is a widely researched area at the moment and is probably more relevant to algorithmic trading that anything else. Now we are starting to demonstrate some of the techniques used in the prediction engine (regression before, neural network now). I believe this is a much more researched area and TensorFlow is better equiped for it. Many people describe the types of neural networks that we will learn as cells or *legos*. You dont need to think that much about how it works as long as you know what it does. If you noticed, thats what I did with the neural network. There is a lot more to learn and its worth learning, but when you're actually building with it, you dont think about RELU layers as much as input/output and a black box in the middle. Or at least *I* do...there are a bunch of people in image processing who look inside networks and do [very cool things](https://github.com/google/deepdream).\n\n## Regularization and Modularization [(notebook)][7]\n\nFrom [Wikipedia][wiki_reg])), \"regularization is the introduction of additional information in order to solve an ill-posed problem or to prevent overfitting.\" For our purposes, it is any technique used to reduce overfitting. One of the simplest yet most important examples is [early stopping][early_stopping], that is, ending gradient descent before there is no significant gain in evaluation performance. The idea is that once the model stops improving, it will start to overfit the training data. Most overfitting can be avoided with just this technique.\n\nWe have more overfitting problems. Financial data is very noisey with faint signals that are very complex. Markets are zero sum and there are already an enormous number of very smart people getting paid a very large amount of money to develop trading strategies. There are many different patterns that can be learned but we can assume that all of the simple ones have been found (and therefore traded out of the market). Also, the market structure and properties change with time so even if we found a great pattern for the past five years, it might not work a month from now.\n\nWe therefore need even more strategies to prevent overfitting. One strategy is called [L2 regularization](http://www.kdnuggets.com/2015/04/preventing-overfitting-neural-networks.html/2). Basically, we *punish a network for having very large weights* by adding the L2 norm of the weights, *1/2(||W||^2_2)*, times a constant *B* (to determine how much we want to regularize). It allows us to control the level of model complexity.\n\nAnother method is called [dropout regularization](http://arxiv.org/abs/1207.0580), a technique developed by Geoffrey Hinton. Overfitting is avoided by randomly ommitting half of the neurons during each training iteration. It sounds kooky but the idea is that it avoids the co-adaptation of features in the neural network, so that recognizing a certain set of features does not imply another set, as is the case in many overtrained nets. This way, each neuron will learn to detect a feature that is generally helpful. In validation and normal use, the neurons are not dropped so as to use all informaation. The technique makes the model more robust, avoids overfitting, and essentially turns your network into an ensemble that reaches consensus. Tensorflow's dropout layer includes the scaling required to safely ensemble when it comes time for validation.\n\nSince we want the same model with two different configurations--one with dropout active and one without--we will now pursue our long-overdue duty of refactoring our code. Although the code is presented in a single notebook, keep in mind that what I am essentially doing is modularizing. I won't claim that I am the most organized with my code, but I tried to keep it consistent with the best practices that I have observed others using with their open projects. Moving forward we will keep this structure becuase it is clearly superior to the organization that I had used before.\n\n## LSTM [(notebook)][8]\n\nMy favorite neural network, and a true stepping stone into real deep learning is the long short-term memory network, or LSTM. [Colah](http://colah.github.io/posts/2015-08-Understanding-LSTMs/) wrote an incredibly clear explanation of LSTM and there is really no substitute to reading his post. To describe the setup as briefly as possible, you input the data one timestep at a time to the LSTM cell. And each timestep the cell not only recieves the new input, but it recieves the last timestep's output and what is called the **cell state**, a vector that carries information about what happened in the past. Within the cell you have trained gates (basically small neural nets) that decide, based on the three inputs, what to forget from the past cell state, what to remember (or *add*) to the new state, and what to output this timestep. It is a very powerful tool and fascinating in how [effective it is](http://karpathy.github.io/2015/05/21/rnn-effectiveness/).\n\nI am now pretty far into this series and I have a pretty good idea of where it will go from here. These are the problems that I must tackle in no particular order:\n* new policies such as\n    + long/short equality amongs two symbols and more\n    + spread trading (if that is different from above)\n    + minimize correlation/ new risk meaesure that is appropriate for large number of symbols\n* migrating to AWS and using GPU computing power\n* ensebling large numbers of strategies that are generated with the same code\n    + policy grads find local maxima so no reason not to use that to my advantage\n* testing suite to be able to test if the strategies are viable objectively\n* convolution nets, especially among larger groups of symbols we can expect that some patterns are fractal\n* turning it into a more formal project or web app\n\nAnd of course we can start moving to other sources of data:\n* text\n* scraping\n* games\n\nStay tuned for some articles that I will write about the algorithms used here and a discussion of the difficulties of using these techniques for algorithmic trading developement.  \n\n<a name=\"myfootnote1\">1</a>: I hope you didnt sleep through Linear Algebra class! I owe all my LA skills to [Comrade Otto Bretscher](http://personal.colby.edu/personal/o/obretsch/) of Colby College whose class I did sleep through but whose [text book](https://www.amazon.com/Linear-Algebra-Applications-Otto-Bretscher/dp/0136009263) is worth its weight in gold.\n\n[early_stopping]: https://en.wikipedia.org/wiki/Regularization_(mathematics)#Early_stopping\n[wiki_reg]: https://en.wikipedia.org/wiki/Regularization_(mathematics)\n[1]: /notebooks/TF-FIN-1-singlestock_regresion.ipynb\n[2]: /notebooks/TF-FIN-2-multistock_regresion.ipynb\n[3]: /notebooks/TF-FIN-3-regression_with_policy_training.ipynb\n[4]: /notebooks/TF-FIN-4-stochastic_gradient_descent.ipynb\n[5]: /notebooks/TF-FIN-5-multi_sampling.ipynb\n[6]: /notebooks/TF-FIN-6-neural_network.ipynb\n[7]: /notebooks/TF-FIN-7-regularization_modular.ipynb\n[8]: /notebooks/lstm_(7).ipynb#\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/TF-FIN-1-singlestock_regresion-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    #prices=np.asarray(list(prices))\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"    return (prices-prices.shift(-1))/prices\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# separate data into inputs and outputs for training and testing\\n\",\n    \"gs = get_prices('GS')\\n\",\n    \"rets = get_returns(gs)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# we define two placeholders for our input and output\\n\",\n    \"x = tf.placeholder(tf.float32, [None, 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None, 1])\\n\",\n    \"\\n\",\n    \"# we define trainable variables for our model\\n\",\n    \"W = tf.Variable(tf.random_normal([100, 1]))\\n\",\n    \"b = tf.Variable(tf.random_normal([1]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b\\n\",\n    \"\\n\",\n    \"#MSE:\\n\",\n    \"cost = tf.reduce_sum(tf.pow(y-y_, 2))/(2*1000)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 1000 cost= 0.019055584\\n\",\n      \"Epoch: 2000 cost= 0.005943393\\n\",\n      \"Epoch: 3000 cost= 0.002348902\\n\",\n      \"Epoch: 4000 cost= 0.001233126\\n\",\n      \"Epoch: 5000 cost= 0.000856721\\n\",\n      \"Epoch: 6000 cost= 0.000721102\\n\",\n      \"Epoch: 7000 cost= 0.000669394\\n\",\n      \"Epoch: 8000 cost= 0.000648663\\n\",\n      \"Epoch: 9000 cost= 0.000639970\\n\",\n      \"Epoch: 10000 cost= 0.000636177\\n\",\n      \"Epoch: 11000 cost= 0.000634464\\n\",\n      \"Epoch: 12000 cost= 0.000633667\\n\",\n      \"Epoch: 13000 cost= 0.000633285\\n\",\n      \"Epoch: 14000 cost= 0.000633100\\n\",\n      \"Epoch: 15000 cost= 0.000633007\\n\",\n      \"Epoch: 16000 cost= 0.000632960\\n\",\n      \"Epoch: 17000 cost= 0.000632936\\n\",\n      \"Epoch: 18000 cost= 0.000632923\\n\",\n      \"Epoch: 19000 cost= 0.000632917\\n\",\n      \"Epoch: 20000 cost= 0.000632913\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.initialize_all_variables()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        c = sess.run(cost, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(c))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1121c5fd0>]\"\n      ]\n     },\n     \"execution_count\": 61,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x111ce6080>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#train results :)\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: train_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position.reshape(-1) * train_outs\\n\",\n    \"plot(np.cumprod(returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 62,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1123ae860>]\"\n      ]\n     },\n     \"execution_count\": 62,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAXgAAAEACAYAAAC57G0KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl41OXV//H3YRWkCJQQtmhAkUVRUFRwDbiBC2rrRmut\\n2sdqqz4+9fHn3kI3kdpqtVYfN6pVi3WpFatUpRqtC66AKCCbgCBgBISiVJbcvz/OTGcymcyEZLZM\\nPq/r4srMd77znZMxnrnn3JuFEBARkeLTIt8BiIhIdijBi4gUKSV4EZEipQQvIlKklOBFRIqUEryI\\nSJFKm+DNbLKZrTGzOXU8PsDMXjezf5vZ/2Y+RBERaYj6tOD/AIxO8fha4BLg1xmJSEREMiJtgg8h\\n/BNYn+LxqhDC28DWTAYmIiKNoxq8iEiRUoIXESlSrXL1QmamRW9ERBoghGANeV4mW/BpAwghFNS/\\n8ePH5z2GphBTocalmBRTc4irMdK24M1sCnAE0NXMPgbGA60jCftOM+sOvAV0BKrN7FJgUAhhU6Mi\\nExGRRkmb4EMI49I8vhooy1hEIiKSEc26k7WioiLfIdRSiDFBYcalmOpHMdVfocbVUNbYGk+9X8gs\\n5Oq1RESKhZkRCqCTVURECogSvIhIkVKCFxEpUkrwIiJFSgleRKRIKcGLiBQpJXgRkSKlBC8iUqSU\\n4EVEipQSvIhIkVKCFxEpUkrwIiJFSgleRKRIFWWC//DDfEcgIpJ/TSrBhwC//z0sXlz3OZ9/DoMG\\nwYYNuYtLRKQQNakE//TTMHEiHHwwnHoqPPpo7XOWL4fqarjuOrjpJr8tItIcpd2yr5Dccgv85jew\\nahXMnAnnnQc9ekDr1nDQQX7O8uX+87bboFMnGDYMDj88fzGLiORLk0nwW7fCjBnwyCPQubMfe+MN\\nGD8e2rWDv/3Njy1f7km/c2fYf38v5yQm+IED4Xe/g6OOyu3vICKSS02mRDNrFvTpE0vuAOXl8Oqr\\nMH06bNrkx5Yvh4sugtdfh759YcmS2teaPx/+679yEraISN40iQS/ciVcfDEcfXTN4336wFdfQdeu\\n8Morfmz5cthtN+jY0R//6KOaz4luC7tsWey2iEgxKvgEf9ddcOSRXk6ZNKnmY336gBkcfzzMnesJ\\ne84cb7mD/0xM8F98Ae3b+zeBtWtz8zuIiORDQSX4rVu93BLvD3+A88+Hn/8cWiX0GPTpA2VlMHSo\\nJ/j77/drDB8eezyxRLNuHXTp4nX6Vauy97uIiORb3jtZ338fpkyB/v1hwQL45S9rlk4WLoSzzoIW\\nST6Khg/35D9wIFxyCbzwAtxxR+zcHj3gs8886bdu7ceiCb6kxBP84MHZ/x1FRPLBQo4K0WYWkr1W\\nv34wcqQn2+hImA0bvIa+fj3suits3OilmLpUVUG3bp7gR46s+VivXj7apndveO01uPxyaNvWW/6j\\nRsE552TudxQRyTQzI4SQIgPWLaclmsWL4aGHYverq71T9NZb4amn4KWXvCW/dKk/vnChfwCkSu7g\\nrfFp06CiovZjPXrAJ5/47RkzfHSNSjQi0hzkNMFPnw633x67X1XlLfWddvL7hx8Ou+8eS/CzZ3uC\\nr4/Ro5N/EMQn8uh1owk+mvhFRIpR2gRvZpPNbI2ZzUlxzq1mttDMZpvZ0LrOW7bMOz2jywesWOGl\\nk3h9+ngiXroUrrkGLrywfr9IXXr0gI8/9teMjqjp3NlLNytWNO7aIiKFrD4t+D8Ao+t60MyOA/YI\\nIfQDvg/cUde5y5bB6tUwYIBPNlq50hNtvPJyWLQIHn8cTjmldk19R/Xo4R2wv/qVJ/jevb0FX17u\\n8YiIFKu0o2hCCP80s/IUp4wF7o+c+4aZdTKz0hDCmsQT42vr773nI1wSE/wJJ8Bhh3linjixnr9F\\nCrvs4j//+ld//Vtv9dUmk02CEhEpJpkYJtkL+Dju/gqgN1ArwS9bFmu9L1gAmzfXLtEMGAC/+IU/\\nnom1Ynbf3We6fvCBd8aed54fD8GHT37+uS9KJiJSbDLVyZrYvZl07OXKlZ60993XN+V44QXYe+/a\\n511wga8a2bZt4wM76STvzP3Tn3zdmv8EbLF6v4hIMcpEC34lUBZ3v3fkWC2nnz6Bzp195ul991Uw\\neHAFY8dmIIJ6OPHE2seiZZohQ3ITg4hIOpWVlVRWVmbkWvWa6BSpwT8VQqg17zPSyXpxCOE4MxsO\\n/DaEMDzJef+Z6PT557DXXt6C79+/kb9BI/zwh16Pv/ji/MUgIpJKYyY6pW3Bm9kU4Aigq5l9DIwH\\nWgOEEO4MITxjZseZ2SLgC+DcdNfs1MnLNfnWpYvPlhURKUb1GUUzrh7nNMk2cJcuPkZeRKQYFdRq\\nkrnWpYsvPiYiUoyU4JXgRaRIKcErwYtIkVKCV4IXkSKlBK8ELyJFqlkn+M6dfZhkuqkAW7bkJh4R\\nkUxq1gm+bVto08Y34q7LvHl+XlVV7uISEcmEZp3gwcs0q1fX/fiECf5z7tychCMikjHNPsEffTQ8\\n8kjdjy9c6IujzZ+fu5hERDKh2Sf4iy6Ce++t+/Hly+GYY7xUIyLSlDT7BD90KPzrX8mXLPjyS9i0\\nyTcgueUWuOmm3McnItJQzT7Bm8Ehh9RcKz7q44+hrMwT/JVXwvXXp+6QFREpJM0+wYMn8IkTvd4e\\nb/lyT/CdOsENN8B++8Hzz+cnRhGRHaUEj9fh998f7r47duy//ss7VnfdNXZs0CBYvDj38YmINIQS\\nPD7O/dxzfQMS8Jr8vff6/fgE37evNuoWkaZDCT7ioIN8n9gNG2IjZl57zUs0UdEt/kREmgIl+Ig2\\nbTyZX3SRJ3uATz+t2YJPluBDgOrq3MUpIlJfSvBxSkpiM1Y7dPCf8Qm+vNwTfHU1TJrkt6+91te0\\nee+9nIcrIpJS2i37mpOuXb1jtbQUTj4Z7ryzZommQwffJPz44+HFF319mocegsMPh7/9DfbZJ3+x\\ni4gkUgs+TkmJl2VuuQVOO81b5tGWfNS118I778DUqX7ewIHwve/Byy/nJ2YRkbqoBR+na1f/2a0b\\n7LUXfPe7tc857TRvwbdrBw88ACeeCJs3w5lnwsEHw3HHwbhxsPvuuY1dRCSRWvBxSkr8Z7du/u/m\\nm5Of1769z4A980zYeWf/YJg7Fy65BFatghEj4N13/dxZs+DSS/1DQEQkl9SCjxNN8KWlO/7cvn39\\n37hxMGqU1/BvvBGefNLLN8uWwaOPQuvWmY1ZRKQuasHH6doVWrTwNeIb45vfhPPO87VrpkzxCVPV\\n1V7CERHJFQvp9qvL1AuZhVy9VkPNnAljxqTeAGRHbNsG//gHHHusj5fv1g1mz4aePTNzfREpfmZG\\nCMEa8ly14OMMHOhllUxp1cqTO3jNftgweOutzF1fRCQVJfg4O+0E3/lO9q5/wAHw9tvZu76ISDwl\\n+BwaORIee8xLNyIi2aYEn0MVFT5C58EH8x2JiDQHaRO8mY02s/lmttDMrkzyeGcze8LMZpvZG2a2\\nV3ZCbfrM4Kqr4NZbvdNVRCSbUiZ4M2sJ3AaMBgYB48xsYMJp1wDvhhD2Bc4GbslGoMXimGN8DZsF\\nC7Jz/a1bs3NdEWl60rXgDwQWhRCWhhC2Ag8DJyWcMxB4ESCE8CFQbmYlGY+0SLRo4aN1lizJ3DWv\\nusrXsgefRTtzZuauLSJNV7oE3wv4OO7+isixeLOBbwCY2YHAbkDvTAVYjHbbzWe2ZsrUqfDMM/7N\\n4J13fLNwEZF0SxXUp1J8A3CLmc0E5gAzge3JTpwwYcJ/bldUVFBRUVGvIItNYxL8IYf45Kmddood\\nW7MGXn0Vekc+VquqGh+jiORHZWUllZWVGblWypmsZjYcmBBCGB25fzVQHUKYlOI5HwGDQwibEo4X\\n/EzWXHnwQbj6ahgwAO67D3olfieqw5df+uJmCxbAHnt4p+3Wrb6nbGkpnHIK/PGP8OMfw5W1usNF\\npCnK5kzWt4F+ZlZuZm2AM4CpCS++S+QxzOx84KXE5C417bYbrFjhK1D+5S/1f97atf7zf/4HfvpT\\nX+9m1SpfAmHnnX3zkRNPVAteRFzKBB9C2AZcDDwLzAX+HEKYZ2YXmNkFkdMGAXPMbD5wLHBpNgMu\\nBnvsAd27wznneHmlvqIJfvp0mDYN/vAHeOWVWOu9RQs46ij47LOshC0iTUza5YJDCNOAaQnH7oy7\\n/TrQP/OhFa8ePbwjdPLkHVubJprgt2yJPe+55zzBf/e7vk59aala8CLiNJM1T1q18mRc18qVixfX\\nngwVTfDgj5nFEvzee3vZpmtXteBFxCnB51FpafISzZo1vrn388/DprjejLVrfVOS0lJP5Icd5jX4\\n6FaD4I+rBS8ioASfV6WlPinp6KNrHn/wQejUyfd33X//2IfAunVw5JHwrW/BnnvCZZf5KJxzz409\\nt6TEz6+uTv6ac+dmbr17ESls2vAjj6LDHqFmOebgg+GKK+Df//blhZ991odSDhrkm4VcfjmsXOkd\\ntS1b1r7ugAG+k9TQobFj1dXw97/D//2fz3a9+urs/m4ikhmNGSapPVnzqH372O0vvvBkv3EjzJnj\\nG4W0awdjx/qkqGnTfHLT4MF+fqqx80cfDU884XX56B6wH30Exx8PnTs3fktCEWkaVKLJswMO8OGN\\n0TLMSy/BQQd5cgf/EHj0UTjwQK/Jd+uW/ppjx8INN8DvfgdLl/qxaF1+/Xp44w3/hiAixU0JPs/e\\nfNOTd7QuvnCht7wTjRrlJZdjjkl/zaOPhl/9CmbM8LJOdTV8+qk/Nnw4zJ8Pv/61l4hEpHgpwReA\\n7t1jCX79+uQllCuvhBdfjJVc0unVyydBbd7s9fpPP/XtCKdN8+u3aOEdriJSvJTgC0B8gl+3zuvk\\niVq3rn9yB0/wq1b57cWLPcH37Omjc/76Vzj9dHjvvcbHLiKFSwm+AHTvHqvBr1+fPMHvqPhO2CVL\\nPMFH6/eHHQb77QezZ+/4dUPwmbQiUviU4AtA9+7wySd+O1MJvkcP/1lSEmvBl5bGHh8wIP2uUgsX\\n+vry8Z57zlevFJHCpwRfAOLXh89Ugm/TxlvsFRWe4NesqTkCZ489YNGi1Ne46y74xS9qHvv8c/+p\\nTUVECp8SfAHo29eTMNTdydoQI0fCCSfA8uW1E3yfPn5827a6nz9rlo/EiZ+EFV0PZ9q0mudmcocq\\nEckMJfgCUF7u68Nv25a5FjzAww/DEUd4Il+61F8nqm1bLw0tX578uSF4gt+0yZdFiCb2Tz/1CVnz\\n58fOraqCfv3gq68yE7eIZIYSfAFo0yaWbD//PHMJHnzkzOrVntB32aXmY6nKNCtW+FDKSy6B7dt9\\nkhV4gh84sObKlu++6ztLZXIjcRFpPC1VUCD69vVhi61be8LPlNat/cOjZ8/aj/XvD/Pm+eSpqir4\\n2td8OYQnn4SnnoLRo+H6632v13HjfFJWXQke/MNi4MDMxS4ijaMWfIHYc094/fXMtt6jysr8AyTR\\nsGGxjUNOPdVnwG7dCtdeC/feCxddFHts8GD48ENP8IMG1Vxz/t13vb5/zTVw662Zj19EGkYJvkDs\\ntx/8+c/e+Zlpu+6aPMEfcIAn+JUrfYGzqiqfLbt8uY+SOfBAP69bN3jgAe9IjW/BL1rkm4y8+iqc\\neSa8/z6MHx9b/2b2bC/viEh+qERTIPbf3xPo2Wdn/tqnn+5lmkSDBvn4+1tugZNO8jVrbrvN16vp\\n3bvmubvv7iN92raNJfgXXvAEv+uu3sr/8ENfvnjOHO/QPekk+OMf4fDDM/87iUh6asEXiMGDfRu/\\nUaMyf+1vfhMOOaT28ZYtfX2aG2/0csyQIV57P+642ud26ODlo65d/dvAxo2+WUmLFr4JyWGH+Xrz\\nu+7q3wC+/NI/sNJNphKR7FELvkC0bes7OSVLxNn08597wh42DP71L++UPeus5Of27w/f+IZ/EHXs\\nCC+/DHffXXNHqrIyL+8sXOj3leBF8kc7Osl/fPUVTJ/uG4Mks2aNt+BbtvTZt8kmUD34IDzzjJdn\\nzj3Xk/+TT+YmfpFi1JgdnVSikf9o27bu5A6+lk10i8Dly73ln7gBSbREM28eHHVU41vw0QlgIrLj\\nlOClQWbP9pmuicrKvDN28mS49FLfKrChX9y2b/cO2vvvb1ysIs2VErw0yD77+MSoRGVlPkHq5JO9\\n87V9+5qTonbE0097Pf+FFxoXa7zx4+GOOzJ3PZFCphq8ZNXgwV6X33ffHX/uhRf6rN7HHvOx+tag\\nKmRNo0b5jNy5c72cBD5pa+PG5HMFRPJNNXgpWL17ex09nRB83Ztosh02DP72Nx/G2bq1j7HPhKVL\\n4ZRT4Ec/ih375S99Fq5IsdEwScmqXr289Z3OrFk+yapjR1+tct48Pz5kiLe6X3zRNylpjG3bPJbf\\n/z620FqfPj6DuFs3fyx+JyyRpi5tgjez0cBvgZbAPSGESQmPdwUeBLpHrvfrEMJ9mQ9VmqL6JvjH\\nHoPTToM77/RJVY8+6p21rVv7uvZTp/r4+2OPjZVWdtQHH3gi79jRZwzfcw+MGeOvt2CBL3m8YIF/\\n6xg/3idvffGFD/kUaZJCCHX+w5P6IqAcaA3MAgYmnDMBmBi53RVYC7RKcq0gzc9dd4Vw7rkhzJkT\\nwtFHh3DZZTUfX78+hB/9KIRddw1h5swQRo0KoV+/EKqrY+dUVYXQuXMIbduGMHlyw+KYPDkECKGk\\nxO+/9VYIAwaEcOGFIUycGELv3v74Cy+EsGWL327TJoQOHUJYtKhhrymSCZHcmTJX1/UvXQ3+QGBR\\nCGFpCGEr8DCQ2J5ZBXSM3O4IrA0haOSyAD7M8amnvMyy//5+O96MGXDzzd6yHjIErrsOfvKTmh2q\\nXbv6pKk2bWpuNFJfW7bA5Zd7q/3EE/3Yfvv55ipTpsAZZ3j5p2XL2PaG0XMuvRQmToxtVSjSlKQr\\n0fQC4nffXAEclHDO3cALZvYJ8DXg9MyFJ01d//5eW+/SxUstt93mybJTJ398zhz41rfgxz/2+yNH\\nJr/OjTf6ImgPPJD+NTds8J/RDU7+8Q9P4PHj6Vu0gIsv9mGdffrAb3/rY/cXL4ZVqzy5v/aar7BZ\\nWuozfKOrZCYKAd54w+MTKSTpEnx9xjVeA8wKIVSY2e7A82a2bwjhX4knTpgw4T+3KyoqqKio2IFQ\\npak644zY7SFDfP34UaO8pX7HHTBpUvoO1BYtYK+90rfg1671Gv0hh8Bzz/nyC5Mm+YYlia67LnZ7\\nr738G8aTT3qC79HDv0V06+Zj8VMN8/zgAxgxwl87U/vpSvNVWVlJZWVlRq6VLsGvBMri7pfhrfh4\\nBwO/BAghLDazj4D+wNuJF4tP8NI8jRnjyxMfdJAvdAY+Vr4+9tjDh1zGfwOIt3atj7bZYw8v/Wzb\\n5q32li3hBz+o3/U//DCW4KN69YJ//9uHb3bsWPt5U6f6z1degbFj6/e7iNQlsfH705/+tMHXSleD\\nfxvoZ2blZtYGOAOYmnDOfOAoADMrxZO7dueUpP73f30p4cGDoaTEW/BDh9bvuW3aeAKta+mCa66B\\nc87xNXDKyrz8M22a1++ja+ikMmSIt9bfeqtmgjfz9e2XLvXXDsGXQq6u9uUU/vQn/0by8sv1+z1E\\nciVlgo90ll4MPAvMBf4cQphnZheY2QWR064HhpnZbGA6cEUIYV02g5amq21bL51s2eKJ/oILfPhj\\nfV10Edx+uyfXr77y1nbUzJk+rHG//bxEM326t+iPPbZ+127TxodE3ntvzQQPnuD/+U//AJkxw5dq\\nuPlmXz65pASuvhrervWdtaaqKv/QEcmVtP9rhRCmAdMSjt0Zd/sz4MTMhybFygwOPdTHnO/o8gOH\\nHuofEs884x2zW7Z4DXz7dv954YVQUeFj27/73dg3hfq66ip4/HGvyccrL/cRN+DfCLp1gyuv9K0K\\n777bSzjRNfDrMnmy77v717/uyG8s0nCaySp5ccQRO9ZyjzKDyy7zJQyGDfN9YI85xkfrlJbGFhLr\\n0sVr8N/73o5df889Y6Nw4h1wgH9zaNfO6/RPPukdt9df78m+utqHXX7xhc/ETeatt7y0I5IrWmxM\\n8mLbNm/1duiw48/dvt03ErnuOl9mYP587yAtK4P4fvzXX/eRMW3aND7e6movz3Tr5iWczz6DzZtr\\nxr/33vDQQ3WPuCkv947adXEFzF/9yj/sDkocfCwS0ZjFxtSCl7xo1aphyR28wzS6hPBBB/n9nXaq\\nfd6IEQ2PL1GLFr6B+Cef+IdJy5a1499jDy/TJEvwq1f7N4MtWzzJb97s4/N/9jOfyFXXGHuRxtBq\\nktKk7bxz8uSeLT17ep0/mYEDvR8gmaee8s7e8nI/5yc/gW9/2zuZP/kEtm7NWsjSjCnBi2TI8OFe\\nFkoUAjzyCHzzm76x+cEH+3DLZ5/1juLS0votyCayo1SiEcmQESN85M727TXH3U+a5CWa44+PjRra\\nZRfvRwDfwHzZMm/di2SSErxIhnTr5q3xd96BAw+EK67wzthXX/V6e/v2cOqptZ+3225egz/iiJyH\\nLEVOJRqRDDrnHB+quWGDD6v88kufINW7d93PKS/X8EnJDrXgRTLo+9/3SVIdOnhN/uGH0z+nd2+f\\nhSuSaWrBi2TQ17/uM1UfeyxWY0+nU6fkk6tEGksteJEMGz4cliyp/0zdXXZRgpfsUIIXyYJ27ep/\\nrhK8ZItKNCJ5pgQv2aIEL5JnnTppz1fJDiV4kTzb0Rb8+vX6QJD6UYIXybMOHXxlzfquR3PJJb4K\\npUg6SvAieWbme71u3Jj+3A0b4C9/Sb+5iAgowYsUhPix8CH4rlLbt8ceX7fONxq59FIYMAAWLcpP\\nnNK0KMGLFIBddonV1R95xNesufPO2OO//rUn9qoqmDrVE7z2z5F0lOBFCkB8R+s99/i2hHffHXv8\\n00894T/9tC9tsNNOfkwkFSV4kQIQn+BXrPBlDqqqYo+vWQPdu8fu9+8P776b2xil6VGCFykA8TX4\\nlSt927+qqlgZZvVqX4o46jvfqVnCEUlGCV6kAERb8Bs3+gbf3btD69awaZM/ntiCP+ssmD5dM2Al\\nNSV4kQIQ7WRduRJ69fKhk127+oYhIXiCj2/B77wzDBuWfItAkSgleJECEG3Br1jhCR48wVdVeeJv\\n16725uKHHeabiYjURQlepABEa/ArV8Z2f4q24BNb71HDh8Nbb+U2TmlalOBFCkC0Bb9qFfTo4cdK\\nSjzBr1pVs/4eVVbmj8X70Y+8Q1YElOBFCkI0wVdV+ebdEGvBf/yxJ/NE3bvXTObV1XDXXT7jVQTq\\nkeDNbLSZzTezhWZ2ZZLHLzezmZF/c8xsm5l1yk64IsUp2sn66afecgf/uXp13Qn+61/350QXKVu6\\n1Df5Xrs2Z2FLgUuZ4M2sJXAbMBoYBIwzs4Hx54QQfh1CGBpCGApcDVSGELSYqcgOiNbgq6piCX6f\\nfWDWrLoTfMuWfu748d7SnzPHjyvBS1S6FvyBwKIQwtIQwlbgYeCkFOd/C5iSqeBEmov4Ek00wR94\\noHeiLluWPMGDl2kmToTXXoP33/djSvASlS7B9wI+jru/InKsFjNrDxwLPJ6Z0ESaj2Q1+G7dvGX/\\n/POpEzz48sEzZ8LgwUrwEpNu0+0dWa/uROCVVOWZCRMm/Od2RUUFFRUVO3B5keLVrh1s2+bj4KMt\\neICzz4af/azuBN+jh5dqFi3y1v6ZZ9Zcw0aansrKSiorKzNyLQsp1hw1s+HAhBDC6Mj9q4HqEMKk\\nJOc+Afw5hPBwHdcKqV5LpLkrLfVO1vj/TUKAF1+EUaOSP+fBB+GVV3xG67JlMHky3H8/PPlkbmKW\\n7DMzQgjWkOemK9G8DfQzs3IzawOcAUxNEsAuwOGA/qxEGujEE2sfM6s7uYOvSXPFFfDeezBihA+t\\nXLTIyzUiKUs0IYRtZnYx8CzQErg3hDDPzC6IPB5dz+5k4NkQwuasRitSxG64wWen7qjddoObboJv\\nf9u/AcydC9/7npYTljQlmoy+kEo0IlkXXXVy5529ZPP1r+c7ImmsbJZoRKQJKS2FBQvg8MMhQ/10\\n0oQpwYsUmX794IgjvPO1OXnkkeb3O6ejBC9ShA4+GKZNg5/8JN+R5M6UKb4JSry1a2MTwJojJXiR\\nIjRsmC869vOfw5Yt+Y4mNxYvhk8+qXnsiSfgm9/0hdiaIyV4kSLUrp1PkGrTxhchK3YhwJIlvp5+\\nvHXrvE/i2WfzE1e+KcGLFKkf/xgqKnxcfDGrrobbb4cvvvAEH78Jyrp1MGAA3HJL/uLLJyV4kSK2\\nxx7Fn+CXLIGLL/bbs2f7Im1R69fDBRfAm282z41QlOBFiljfvnDppT7CpFgtXgxf+xr84Q+xY9Ga\\n+/r1Pi+grMzr89G185sLJXiRInbKKT7D9c9/znck2bNoEYwbB+ecAz17+rFNm/zn+vXQubP/+93v\\n4Ic/zFuYeaEEL1LE+vaF3/wG/vGP4m29Ll4Mu+/utydNiu2OBTUT/Hvv+b94K1b4NofFSglepMiV\\nlvo68X/5S74jyY7Fi72vAXzxtd69fW19qJngFyzwoaPxK6Z84xteoy/WVVSU4EWagSuvhBtvzO1r\\nhuCdm9n20UfQp0/sfnTzFPBRNJ07Q5cuXraJbqoCvv7+7NnQoYMv0laMlOBFmoExY2D5cl+AbMUK\\nr1dn28KFcNRR2W8dr17tG59ERUs01dWwcaPvitW5sz9m5q148E7XkhIYMsRX4CxGSvAizUDLljB6\\nNDz9tHc23n9/9l9z2TL417+8TBKvqgq+//3MvMa2bX79rl1jx6IbmL/9trfOW7WKJfihQ73VHo1v\\n111h0KDMJ/glS+DLLzN7zYZQghdpJk49Fe65Bx57zO9nOwEtX+4/E2fSzp/vO1FlomX/2WeevFvF\\n7WwRLdF84xu+TAHEEvzJJ8cWJFu+3NfS33vvWNLPhCef9E7f++7L3DUbSglepJk44QRvyY8Y4Ylt\\n1arsvl5dCf6TT2DzZl+7vrHWrPFO5HidOnnZpqoK7r7bj0UT/CmnwD//6R8u0Rb8iBG+5WGmvPAC\\ndOxYe9nCew4+AAAOY0lEQVSEfFCCF2kmWrTw4ZL33Qe9etVemCvTli/3RJeY4KMfLIsXp7/GM894\\nR2ldkiX4XXaBOXN8NE3Lln6sSxdo3x722iu2ufmyZf5Bt+++HmN0aGWi117zn9FlD9INN33rLRg7\\nNvvvb30owYs0Ix07ejmjZ8/cJPhDD03eggevU6dz7bXw0kt1P756dfIEP2tWzZE1PXpAebl3sg4c\\n6EMm338f9twTWrf2Vvwpp9RO3u+8A4cc4sl96lTvoE1Vr4+OzDnhhOx/Q6oPJXiRZqhnz+wnoEWL\\nfLGzZC34srLUCX7uXPjOd/ycVB9E0S0K45WU+GuWl8eOlZXFNiLv188/AGbN8sQOvpTDvHm135Pf\\n/95/zpvnfRedO6fe63bWLH/d/v097tdfr7mEQq4pwYs0Qz17ehLN1hDGqirv6DzyyOQt+EMP9WGU\\ndXn5ZU+6GzemT/CJLfjjjvOfiWvAt2njP/fcEx54wEszO+/sxzp18rJVfL/Atm3eYXrUUfDGGx7T\\npZd6q74uL73ku2lFvyE98QR8/HHd52ebErxIMzRmjCess87ykSiZ9tZbvulI376e4KMfJBs2+MSk\\nI4/0VnFdZs+ObVSyowm+fXsfDnrllcmf06+fX/+kk2oe79695oqTb77pdfyjjoLrr/fEfcgh8MEH\\ndccTTfBdu/qH07PP+reYfFGCF2mG9tnHSw2tWsGxx2b++m++6cv2durknbvRsfD//d+eYMeO9eGS\\nde20NGuWd4x26LDjCR68Fd+/f/Ln7LOP/7zkkprHS0trtuBffBGOPto7Zteuhcsv94SfanTMG2/4\\ndoktWvgInXnzai5fnGtK8CLNVPv2vhFGqlJJQ735JhxwgN8uL4+VaRYt8o7TkhKvZy9bVvu5X33l\\nHaBnnQWHHeYJ/m9/g5Eja9ft60rwqfTt698o2reveTyxBb9ggU+COu44H3UTX3pZv95vx39LWLPG\\nO2l79/b7zz0Hf/877LTTjsWXSUrwIs3YLrt4rXny5MxtDBKCl2iiLdfyci/LgLd+owlw0KDkZZrn\\nn/cZp5MmwZ13ekK96SaYMaP2BtoNSfB1SWzBL1niE5ZatPD6PPi68+DDN3fdFe6910s2v/iFl332\\n2cdH6oB/kIwalZnYGkoJXqQZM/OW6BVX+CzXTFi61Ds0o0lxr7285FJd7aNUomu2l5UlL3c8+qjP\\nut1pJ/8waN/evxGMHVuzv2D7di+dlJRkJu7u3f3bTLSctHixJ+l4Zv57TZkCxx/vSy6MGePbIz74\\nYKz8UyiU4EWauZ49PVE+9VTDr7F5s4/K2bDBNxiJ71isqIDKSh9Z07FjrGRRUhJb2TFq40Yfb376\\n6X7fzEfTXH65t5jjE/xnn3mNv3Xrhscdr7TUO0XPPdeXcVi3LvYhFa9nT+/EPfxwuOoq/8YyYoQn\\n+COPzEwsmaIEL9LM9ewZW6Drvfe8Bp7K1KkwbVrNY/fe68MOTz3Vrzd5cuyxgw/2MegLF8bKMxBL\\n8CtWxEo1jzziHwjxY9tHjIAJE3xkSnyCz2R5JhrnU0/Bq6/C9OleWmqRJENGP5QOPdQ/sJYs8W8d\\njz9ee2ROvinBizRzPXv6FPxzz/UkfdZZqc9//HGvjcd77jlPwtu3+8+2bWOP7byzly4ee6xmizia\\n4G+6yZ8Tvfa3vpX8dRMTfLJZrI3Rpo3PQP32t328e12jX4YN8xijyyC0bu2/1ymnZC6WTEmb4M1s\\ntJnNN7OFZpZ0ZKmZVZjZTDN738wqMx6liGRN794+ff8HP/ChhelWmVy0yIcQbtvm97/6ysd/X3CB\\nL7S19961n1NR4UsUDxwYOxZN8C+84Ev7btjgrefRo5O/bteuft7tt/v9d9/NTs37tNO8H2HcuOSP\\n33cfPPRQ5l83G1ImeDNrCdwGjAYGAePMbGDCOZ2A3wMnhhD2Bk7NUqwikgXnn+8jVnr29M7DFStq\\nn/P++7EldRcu9Fb5jBne+Xnddd7ajV+TPVFFhS/mdf75sWMlJT4W/qOPPNFfeKEv8RsdqZKoa1df\\nRCw69f/ll30YZaaNGAE//alPcGrqLKSYq2xmI4DxIYTRkftXAYQQbog754dA9xDCT1K+kFlI9Voi\\nkn9r1/rQwMSVFS+/3Kfc33WXfxBce62PYX//fV9t8S9/SV2i+Oorr92fdlrs2LJlXuc+7jiv/a9d\\n60MiO3VKfo0FC/wbRu/e3sL++tf9wyZTo2gKlZkRQrCGPDddiaYXEL+SworIsXj9gC5m9qKZvW1m\\n32lIICKSf126eOkluqdp1Jo1PsIkmnzPPts7Fpcu9QR/8smpr9u2bc3kDrHEPGqUzwCNjoqpS/Qb\\nwpo1Xibq3Ln4k3tjpUvw9Wlytwb2A44DjgV+bGb9GhuYiOSema+RnjjDdPVq37T6Bz/wjtDevb0s\\ns2kTHHRQbHLPjmjf3ks9I0f6t4LEmaWJOnXyYYnt2/umHYMH7/hrNjet0jy+EiiLu1+Gt+LjfQx8\\nFkLYDGw2s5eBfYFaE6AnRLvKgYqKCiryuQqPiCTVr58Pa4zvwIy24EeOjA0dPP98H0mSbChhfUVn\\nrdZHixYwcaKv0PiPfyTvzC0GlZWVVFZWZuRa6WrwrYAPgSOBT4A3gXEhhHlx5wzAO2KPBdoCbwBn\\nhBDmJlxLNXiRJmDqVPjZz7xsYuaJtbTUO1kT116vrm5cgm+II47wSVW33FL3kMpikrUafAhhG3Ax\\n8CwwF/hzCGGemV1gZhdEzpkP/B14D0/udycmdxFpOk44wUsyZ5/tE5e2bfNZnclGyeQ6uYOXaj77\\nzEtDklrKFnxGX0gteJEm47zzfDhi164+YmbixMxskp0Je+/tC3w1l3TSmBZ8uhq8iDRDRx3lpZqp\\nU30Kf7t2+Y4o5vHHY7NIJTUleBGp5eSTfaPqESN8obB8bjuXqK6NPKQ2lWhERApYNic6iYhIE6UE\\nLyJSpJTgRUSKlBK8iEiRUoIXESlSSvAiIkVKCV5EpEgpwYuIFCkleBGRIqUELyJSpJTgRUSKlBK8\\niEiRUoIXESlSSvAiIkVKCV5EpEgpwYuIFCkleBGRIqUELyJSpJTgRUSKlBK8iEiRUoIXESlSSvAi\\nIkVKCV5EpEgpwYuIFCkleBGRIpU2wZvZaDObb2YLzezKJI9XmNkGM5sZ+XdddkIVEZEdkTLBm1lL\\n4DZgNDAIGGdmA5Oc+lIIYWjk3y+yEGdWVFZW5juEWgoxJijMuBRT/Sim+ivUuBoqXQv+QGBRCGFp\\nCGEr8DBwUpLzLOOR5UAh/scsxJigMONSTPWjmOqvUONqqHQJvhfwcdz9FZFj8QJwsJnNNrNnzGxQ\\nJgMUEZGGaZXm8VCPa7wLlIUQvjSzMcBfgT0bHZmIiDSKhVB3Djez4cCEEMLoyP2rgeoQwqQUz/kI\\n2D+EsC7heH0+LEREJEEIoUFl8HQt+LeBfmZWDnwCnAGMiz/BzEqBT0MIwcwOxD801iVeqKEBiohI\\nw6RM8CGEbWZ2MfAs0BK4N4Qwz8wuiDx+J3Aq8AMz2wZ8CZyZ5ZhFRKQeUpZoRESk6cr6TNZ0E6Vy\\nycyWmtl7kQlZb0aOdTGz581sgZk9Z2adshzDZDNbY2Zz4o7VGYOZXR157+ab2TE5jGmCma2Im8A2\\nJscxlZnZi2b2gZm9b2b/HTmet/cqRUx5e6/MbCcze8PMZpnZXDObGDme77+puuLK699V5HVaRl77\\nqcj9vL5XdcSUmfcphJC1f3hZZxFQDrQGZgEDs/maaeL5COiScOxXwBWR21cCN2Q5hsOAocCcdDHg\\nk8tmRd678sh72SJHMY0HLktybq5i6g4MidzuAHwIDMzne5Uipny/V+0jP1sBM4BD8/03lSKuvL5X\\nkde6DHgImBq5XwjvVWJMGXmfst2Cr+9EqVxK7OwdC9wfuX0/cHI2XzyE8E9gfT1jOAmYEkLYGkJY\\niv/HPDBHMUHyCWy5iml1CGFW5PYmYB4+ByNv71WKmCC/79WXkZtt8EbVevL8N5UiLsjje2VmvYHj\\ngHvi4sjre1VHTEYG3qdsJ/j6TJTKpQBMN7O3zez8yLHSEMKayO01QGke4qorhp74exaV6/fvEvMJ\\nbPfGfW3NeUzmo7iGAm9QIO9VXEwzIofy9l6ZWQszm4W/Hy+GED6gAN6nOuKC/P5d3Qz8P6A67li+\\n36tkMQUy8D5lO8EXWg/uISGEocAY4CIzOyz+weDfgfIacz1iyFV8dwB9gCHAKuA3Kc7NWkxm1gF4\\nHLg0hPCvGi+ap/cqEtNjkZg2kef3KoRQHUIYAvQGDjezkQmP5+V9ShJXBXl8r8zsBHxI90zqWF4l\\n1+9Vipgy8j5lO8GvBMri7pdR89Mnp0IIqyI/q4An8K82a8ysO4CZ9QA+zUNodcWQ+P71jhzLuhDC\\npyEC/+oY/RqYs5jMrDWe3B8IIfw1cjiv71VcTA9GYyqE9yoSxwbgaWB/CuhvKi6uYXl+rw4GxppP\\nxpwCjDKzB8jve5Uspj9m7H3KRodBXIdAK2Ax3hnQhjx2sgLtga9Fbu8MvAocg3ewXBk5fhVZ7mSN\\nvE45tTtZa8VArEOlDf5pvpjI0NYcxNQj7vaPgD/lMia8NfNH4OaE43l7r1LElLf3CugKdIrcbge8\\nDByZ77+pFHF1z+ffVdxrHwE8le+/qRQxZeRvKiuBJgQ9Bh9tsAi4OtuvlyKOPpE3ZhbwfjQWoAsw\\nHVgAPBf9o8xiHFPwWcFb8P6Jc1PFAFwTee/mA8fmKKbzIonsPWA2vr5QaY5jOhSvSc4CZkb+jc7n\\ne1VHTGPy+V4Bg/H1oGZFYvh/6f6uc/Tfr6648vp3FfdaRxAbsZLX9yrutSriYnogE++TJjqJiBQp\\nbdknIlKklOBFRIqUEryISJFSghcRKVJK8CIiRUoJXkSkSCnBi4gUKSV4EZEi9f8BHDqCwNx2Tj0A\\nAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1121dc550>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#test results :(\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: test_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position.reshape(-1) * test_outs\\n\",\n    \"plot(np.cumprod(returns+1))\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/TF-FIN-2-multistock_regresion-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# we modify this data organizing slightly to get two symbols\\n\",\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# once again I only make slight modifications\\n\",\n    \"\\n\",\n    \"# define placeholders \\n\",\n    \"x = tf.placeholder(tf.float32, [None, len(symbol_list) * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None, len(symbol_list)])\\n\",\n    \"\\n\",\n    \"# define trainable variables\\n\",\n    \"W = tf.Variable(tf.random_normal([len(symbol_list) * 100, len(symbol_list)]))\\n\",\n    \"b = tf.Variable(tf.random_normal([len(symbol_list)]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b\\n\",\n    \"\\n\",\n    \"#MSE:\\n\",\n    \"cost = tf.reduce_sum(tf.pow(y-y_, 2))/(2*1000)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 1000 cost= 0.040910859\\n\",\n      \"Epoch: 2000 cost= 0.020840863\\n\",\n      \"Epoch: 3000 cost= 0.013389181\\n\",\n      \"Epoch: 4000 cost= 0.009200850\\n\",\n      \"Epoch: 5000 cost= 0.006651346\\n\",\n      \"Epoch: 6000 cost= 0.005042211\\n\",\n      \"Epoch: 7000 cost= 0.003999272\\n\",\n      \"Epoch: 8000 cost= 0.003308342\\n\",\n      \"Epoch: 9000 cost= 0.002842027\\n\",\n      \"Epoch: 10000 cost= 0.002522263\\n\",\n      \"Epoch: 11000 cost= 0.002299956\\n\",\n      \"Epoch: 12000 cost= 0.002143553\\n\",\n      \"Epoch: 13000 cost= 0.002032371\\n\",\n      \"Epoch: 14000 cost= 0.001952614\\n\",\n      \"Epoch: 15000 cost= 0.001894943\\n\",\n      \"Epoch: 16000 cost= 0.001852949\\n\",\n      \"Epoch: 17000 cost= 0.001822181\\n\",\n      \"Epoch: 18000 cost= 0.001799512\\n\",\n      \"Epoch: 19000 cost= 0.001782728\\n\",\n      \"Epoch: 20000 cost= 0.001770250\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.initialize_all_variables()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        c = sess.run(cost, feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(c))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1109e8860>]\"\n      ]\n     },\n     \"execution_count\": 60,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x110876eb8>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#train results\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: train_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position * train_outs\\n\",\n    \"daily_returns = sum(returns,1)\\n\",\n    \"plot(np.cumprod(daily_returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x110b10e10>]\"\n      ]\n     },\n     \"execution_count\": 61,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1108f6a58>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#test results\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: test_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position * test_outs\\n\",\n    \"daily_returns = sum(returns,1)\\n\",\n    \"plot(np.cumprod(daily_returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/TF-FIN-3-regression_with_policy_training-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs (this is new but not specific to PG; you should always normalize inputs)\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"num_positions = 3\\n\",\n    \"\\n\",\n    \"x = tf.placeholder(tf.float32, [None, len(symbol_list) * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  len(symbol_list)])\\n\",\n    \"\\n\",\n    \"W = tf.Variable(tf.random_normal([len(symbol_list) * 100, num_positions * len(symbol_list)]))\\n\",\n    \"b = tf.Variable(tf.random_normal([num_positions * len(symbol_list)]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b # y is tensor of shape [num_inputs, num_positions * len(symbol_list)]\\n\",\n    \"# a row of y will look like [prob_symbol_1_short, prob_symbol_1_neutral, prob_symbol_1_long, prob_symbol_2_short, ...]\\n\",\n    \"# note that they are not really probabilities because I did not perform a softmax yet\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# loop through symbols, taking the buckets for one symbol at a time\\n\",\n    \"pos = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(len(symbol_list)):\\n\",\n    \"    # ISOLATE the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # SAMPLE probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), 1)\\n\",\n    \"    pos[i] = tf.reshape(sample, [-1]) - 1   # choose(-1,0,1)\\n\",\n    \"    # GET RETURNS by multiplying the policy (position taken) by the target return for that day\\n\",\n    \"    symbol_returns[i] = tf.mul(tf.cast(pos[i], float32),  y_[:,i])\\n\",\n    \"    # isolate the output probability the selected policy (for use in calculating gradient)\\n\",\n    \"    #    see https://github.com/tensorflow/tensorflow/issues/206 for TF discussion including my solution\\n\",\n    \"    sample_mask = tf.reshape(tf.one_hot(sample, 3), [-1,3])\\n\",\n    \"    relevant_target_column[i] = tf.reduce_sum(symbol_probs_softmax * sample_mask,1)\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"# calculate the PERFORMANCE METRICS for the data chosen\\n\",\n    \"daily_returns_by_symbol = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()]) \\n\",\n    \"daily_returns = tf.reduce_sum(daily_returns_by_symbol,1)/2\\n\",\n    \"total_return = tf.reduce_prod(daily_returns + 1)\\n\",\n    \"ann_vol = tf.mul(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns)),2))) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = total_return / ann_vol\\n\",\n    \"\\n\",\n    \"# since we only train the sampled classes, we will combine them so that we can feed them into cross entropy\\n\",\n    \"training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"# we want to either push the gradient toward our selection or away from it. We use these ones to find the direction\\n\",\n    \"#     of the gradient, which we will then multiply by our fitness function\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"\\n\",\n    \"# this isnt actually a gradient, but karpathy sort of calls it one. Since it's a tensor it sort of is a gradient anyway\\n\",\n    \"gradient = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones) ####should this be a prob???\\n\",\n    \"\\n\",\n    \"# COST\\n\",\n    \"# how should we do this step? it depends how we want to group our results. Choose your own adventure here by uncommenting a cost fn\\n\",\n    \"# this is the most obvious: we push each weight to what works or not. Try it out...we're gonna be RICH!!!! oh, wait...\\n\",\n    \"#cost = tf.mul(gradient , daily_returns_by_symbol)\\n\",\n    \"# this takes the overall daily return and pushes the weights so that the overall day wins. Again, it overfits enormously\\n\",\n    \"cost = tf.mul(gradient , tf.reshape(daily_returns,[-1,1]))\\n\",\n    \"# this multiplies every gradient by the overall return. If the strategy won for the past ten years, we do more of it and vice versa\\n\",\n    \"#cost = tf.mul(gradient , total_return)\\n\",\n    \"\\n\",\n    \"# minimize the cost (push the weights where we want them to go)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.1).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 1000 cost= 1409.337646484 total return= 1408.337646484\\n\",\n      \"Epoch: 2000 cost= 10547.202148438 total return= 10546.202148438\\n\",\n      \"Epoch: 3000 cost= 17355.996093750 total return= 17354.996093750\\n\",\n      \"Epoch: 4000 cost= 32044.666015625 total return= 32043.666015625\\n\",\n      \"Epoch: 5000 cost= 51317.105468750 total return= 51316.105468750\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"init = tf.initialize_all_variables()\\n\",\n    \"sess.run(init)\\n\",\n    \"for epoch in range(5000):\\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        c,t = sess.run([cost, total_return], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(t), \\\"total return=\\\", \\\"{:.9f}\\\".format(t-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x110839cf8>]\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x110abbe48>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x11061a940>]\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX8AAAEACAYAAABbMHZzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXl8VOX1/z8nC4SwZCGsEgQJYthxQZQtQGXTgtVWpLRY\\ntWpV1JellS+/b1uw6rdqta1KpYhCbUW0WsEFXIASQFQW2feEsAQSSICsJIRInt8fZ27nZjLLnZk7\\nc2funPfrlded+9w7c0/u3Pncc89znvOQUgqCIAhCbBFntQGCIAhC+BHxFwRBiEFE/AVBEGIQEX9B\\nEIQYRMRfEAQhBhHxFwRBiEF8ij8RLSKi00S028P2aUS0k4h2EdFGIuqv23bU0b6diDababggCIIQ\\nOOQrz5+IhgOoBvAPpVQ/N9tvALBPKVVBROMBzFVKDXFsOwLgGqXUOfNNFwRBEALFp+evlNoAoMzL\\n9q+VUhWO1U0AurjsQoGbJwiCIIQCs2P+9wJYqVtXAFYT0VYius/kYwmCIAgBkmDWBxHRKAD3ABiq\\nax6qlComonYAVhHRAceThCAIgmAhpoi/o5N3IYDxSqn/hoiUUsWOZSkRLQMwGMAGl/dKcSFBEIQA\\nUEoFHFYPOuxDRF0BfADgJ0qpfF17MhG1drxuCWAsALcZQ0qpiPqbM2eO5TZEg02RapfYJDbFgl3B\\n4tPzJ6KlAEYCyCCiQgBzACQ6RHsBgN8BSAMwn4gAoF4pNRhARwAfONoSACxRSn0RtMWCIAhC0PgU\\nf6XUVB/bfw7g527aCwAMDNw0QRAEIVTICF835OTkWG1CEyLRJiAy7RKbjCE2GSdS7QoGn4O8Qm4A\\nkbLaBkEQhGiDiKCs7PAVBEEQog8Rf0EQhBhExF8QBCEGEfEXBEGIQUT8BUEQYhARf0EQhBhExF8Q\\nBCEGEfEXBEGIQUT8BUEQYhARf0EQhBhExF8QBCEGEfEXBEGIQUT8BUEQYhARf0EQhBhExF8QBCEG\\nEfEXBEGIQUT8BUEQYhARf8E06uqAc+estkIQBCOI+AumMWsW0Lat1VYIgmAEEX/BNKqqrLZAEASj\\niPgLptGxo9UWCIJgFBF/wTRSU3lZU2OtHYIg+EbEXzCNixd5eeyYtXYIguAbEX/BNC5c4KWIvyBE\\nPiL+gmnU1fGyqMhaOwRB8I2Iv2AamvhrS0EQIhef4k9Ei4joNBHt9rB9GhHtJKJdRLSRiPrrto0n\\nogNElEdEs8w0XIg86uqAZs1E/AUhGjDi+S8GMN7L9gIAI5RS/QE8BeA1ACCieADzHO/tDWAqEWUH\\nZ64QydTVAa1bOzt+BUGIXHyKv1JqA4AyL9u/VkpVOFY3AejieD0YQL5S6qhSqh7AOwAmB2mvEMHU\\n1QFt2ojnLwjRgNkx/3sBrHS8vgxAoW7bCUebYFMuXGDxF89fECKfBLM+iIhGAbgHwFBHkzLrs4Xo\\nQDx/QYgeTBF/RyfvQgDjlVJaiOgkgEzdbplg778Jc+fO/e/rnJwc5OTkmGGWEGYk5i8IoSM3Nxe5\\nubmmfR4p5dtBJ6JuAD5WSvVzs60rgP8A+IlS6htdewKAgwDGACgCsBnAVKXUfpf3KyM2CJHP8OFA\\nly5c5mH+fKutEQR7Q0RQSlGg7/fp+RPRUgAjAWQQUSGAOQASAUAptQDA7wCkAZhPRABQr5QarJT6\\njohmAPgcQDyAN1yFX7AXdXVASoqEfQQhGjDk+YfUAPH8bUP//sC4cUBxMfDWW023EwHl5XyDEAQh\\nOIL1/GWEr2Aa3jp8z5zhpcz0JQiRgYi/YBreOnz3OwJ+MuGLIEQGIv6CaXjz/Pft42VlJS+JgG++\\nabqfIAjhQcRfMA1N/F09/8pKYMUKfl1VBXz3Hb9+4onw2icIghMRf8E0tBG+rp7/738PnDoF9OnD\\nNwLN+y8sbPoZgiCEBxF/wTTcef5KAe+/D7z+OjBkCAt/RQWQlgacPWudrYIQ64j4C6aghXKSkxt7\\n/ocPA5cuAf368Y2hqorTPTMzgdpaGQ0sCFYh4i+YQl0dkJTE9fz1gl5eDnTowB28rVs7Pf/UVCA9\\nXVI/BcEqRPwFU6irA5o35z+9519dDbRqxa/btHGKf0oK0LathH4EwSpE/IWg2L4dmDwZ+Ppr956/\\nq/hrYZ/UVPPF//x54ORJ8z5PEOyMiL8QFB99BOTmAo8/DmRnu/f8W7bk1/qwTyg8//nzgUceca4v\\nXw7k5Zn3+YJgJ0T8haDYuhW47z4W2Rtu8O35V1Y6Pf/0dM/iX18PTJnC2UJGWb8e2LPHuf63vwGf\\nfOL//yQIsYCIvxAwdXUs/vffzx7/jTc29fzPn28a9nHn+dfW8r4ahw8D//qXsyaQLxoagC+/BI4e\\n5fEGAIeA8vOD/jcFwZaI+AsBM3Qoe+89ewILFgA5OUBiInv+mseu9/wzMoBjxzjDJzUV6NTJGZZ5\\n+mng0Uedn33gAC+PHTNmy5EjHFbKygIOHuQ2EX9B8IyIvxAwx44Ba9dyGuddd3GOf1wc3wDq63kf\\nvfj36gV07gx8+CGL/9SpwAcf8Ojfr79mT7+mhvfVCsEdP27MlhMngMsvB/r25U7o2lqgrEzEXxA8\\nYdocvkJscekSx+7btm26rXlz4IsvgG3bWPw7d+Z2IuDFF4FVq4CJE/lmMWMG8KMfAbt2cYfxihW8\\nfuAAh4bciX9FBd94Kit51HBCAot/ly7ArbcCzz4LbNgAXHYZt9fX8w1JEAQn4vkLAXH2LHvv8fFN\\ntzVrBvz978CcORyz1zx/ABg2DHjySRZ+AJg7lweBtW/PTw9aAbh9+4Dvfc992GfJEuAXvwAmTeI4\\nP9BY/BsagEWLOPTUowffWARBaIyIvxAQJSVAu3butzVv7nz97rvOVE93xMXxrF+ffALcfDOwciV3\\n2O7bx+t68dc6kr/9lstBl5VxiAdwin+zZsCOHez1FxUBY8YAa9YE978Kgh0R8RcCoqSEvXV3JCdz\\n2CY7m71vvefvjqQk7g/o1g244grg5ZdZyG+8kbOJlGJvf+JE3v/bbzmMk5DQVPw1vvoK2LKFnx4W\\nL+YwkCAITkT8hYAoLfXs+ffqBezdC4wezeu+xF/Pz38OzJrF4Zorr+S+hYIC4J//BNatA957Dzh0\\nCLj9dv7TxP/kSfb2Nbp2Ba69Fhg7lvsFXnklsP9TEOyKiL8QEN48/759eTlqFC/9Ef+77gKmTwem\\nTeMO4lGjgGXL2JMfOhR4+GEOJb32Go/ozc/nJ4PDh/nJwZUWLbhT+dAhv/49QbA9ku0jBIQ3z79P\\nHxbukSN53VvM35XERODNN53ro0YBv/0tcPXVwEsvcUw/O9u5PTmZnzKIPN+Mevbk8QQNDdzHIAiC\\neP5CgBQVAR07ut/Wrx9n8GRk8Hrr1oEfZ/RooLiYvf4BAxoLP8DzAnz2mfOG4442bfivqChwOwTB\\nboj4CwFx+DCPpnXHwIGc5w9wSEbL8w+E7t05nDN0qPvtevH3xpVXOkf+CoIg4i8ESH6+Z/EnYu/f\\nLFavBsaNc7+tSxdO5fR1vKuvBjZt4td79/LgM0GIZUT8Bb+preWYf2ZmeI7Xo4f7wWSAM7Q0ebL3\\nz7jpJh5DcOAAcO+9nD0kCLGMiL/gF+XlXEStWzfPghxOtE5nX6GlESM473/4cGDnTq5JpJV+EIRY\\nhJQ/BdNDYQCRstoGwThEXELhu++Ajz+22hruU7h0iQd8+SIvD/j+97nkxLlznCk0fDg/EXjqLBaE\\nSIWIoJQK+MoVz1/wm+XLeeRsJEBkTPgBTvmcMAEYP54LzB05wuUj1q8PrY2CEIn4/NkQ0SIANwMo\\nUUo16VYjoqsALAYwCMD/KqVe1G07CqASwCUA9UqpwSbZLYSBhgbn67i4xrNqTZoUfnvMYPZsrh3U\\ntSuvDxgg8/4KsYkRz38xgPFetp8F8AiAF9xsUwBylFKDRPiji/p6julPncpVOAGO97dsybVyune3\\n1r5Aad/eKfwAT0Zz7px19giCVfgUf6XUBgBlXraXKqW2AvDUdSbR1CiitpZz+DVBfO89zoxRijN8\\nOnYEfvYzS000FbMnkReEaCHUMX8FYDURbSWi+0J8LCFIlOLBUFlZLP4JCVxSISGBc+29lXSIVsTz\\nF2KVUNf2GaqUKiaidgBWEdEBx5NEI+bOnfvf1zk5OcjJyQmxWYI7Tp/m0E5SEsfBBw8GHnmEbwhT\\npnCHaYcOVltpLunpXDZaECKd3Nxc5ObmmvZ5IRV/pVSxY1lKRMsADAbgVfwF68jP54qcNTWcAZOe\\nzu3jxgH/+Q8waBBX3bQTbduK5y9EB66O8ZNaZ1yAmBn2aRTbJ6JkImrteN0SwFgAu008nmAyWsmG\\nQYO4ZIJ+ft6BA3npblrFaCY9XWL+QmxiJNVzKYCRADKIqBDAHACJAKCUWkBEHQFsAdAGQAMRPQag\\nN4D2AD4gHj2TAGCJUuqLkPwXQlAoxR29mvi3bs0zZ11/feP9fvxjZ61+uyCef/g5f54H2MnAOmvx\\nKf5Kqak+tp8C4K7KSzWAgQHaJYSRbduABx/k9M3Jk4G0NB7Bq/f8Ab4h2A3p8A0/U6bw9XbFFU1L\\ndAvhQ0b4Cjh5kuvdbNsG9O7t/EFqMX87k5YGVFTwzc4dtbWNB7cJwVNSAsybB9x9t9WWxDYi/gLO\\nnQMuXuTJTvr25UFQyclNPX87Eh/PZaGPHm26bc0aPg+vvhp2s2xNRQWQm8uZZYJ1iPgL/+3wvOYa\\nzumPi2PvXyuXbHf69OEa/67s3MnLEyfCa4/dqajgEhsi/tYi4i/g7FkW+hEjnG3Lljnn4LU7evGv\\nqXG25+XxTbCiwhq77Ip2PuW8WouIv4Bz54Df/x54+mlnW2ZmZNTrDwe9e7P4HzjAoa533+X2Q4eA\\n664TD9VMLl4E6ur49YULvC5Yg4h/DFFUBPz0p/xaP4nJ2bOx0bnriRtv5PIVDz7Ipar/+EduF/E3\\nn4oKvtb+8hdeivdvHSL+McSRI8Dnn3P2yuWXO394Z8/GRueuJ668Enj8cR7j8OqrPJCtpoYnfenf\\nX8TfTCoqgDZtgMceA1JTRfytJNS1fYQIoqyMBe34caC4mAu1paSI+APA//wPL5XiQUg7dnAeetu2\\nIv5mUlnJ1xzASxF/6xDPP4YoL2dx27iR17XBTefOxXbYRw8RPxWtXs2F7FJTRfzNpKKisfjLubUO\\nEf8YoswxK4M2beG5c3wzEM+/Md26AatWcTgoNZWfkH71K6utsgd68Zewj7WI+McQmpelF//KSs7q\\nadXKOrsijW7dgC+/ZPFPTubRvy++KCN9zcDV8xfxtw4R/xhC8/z37+c6PmfPcgZQp07W2hVp3Hkn\\nLwcObFx8TD8GQPCf/PzGs8CJ+FuLdPjGEPr46u23s+dfXAx07mydTZHIyJHuvfyKCp7DWAiMv/6V\\nJwiaMoXXU1OdDokQfsTzjyHKypyP3Jddxp7/iRPi+RtFvNTAuXABeOst4J13gJtv5rbMTPvNDxFN\\niPjHEGVlwNtv8xNAejrwyivAo4+K5+8LpdhjFfEPDKWAf/2LJwnq3t3Z3rMnh4IEa5CwTwxRXs5e\\nfkqKM7unokLE3wht2nDnuOA/8+ZxttTy5Y3bs7JE/K1EPP8YoqyM46wAkJjIy8xMCfsYwbVz8umn\\ngUWLrLMnmli/Hli8GJgwoXF7585AVZXcVK1CxD9GuHCB89U7duT1UaOAr74C5s8HRo+21rZooE2b\\nxuL//vvA7NmSAWSEzZu5RpIrRECPHuL9W4WEfWKEnTs5b71FC15PTARuuMFam6IJvedfWcnlnnv1\\nAr79Fhg+3FrbIhWlgNOn+XxlZbnfp3Nn3kcIP+L5xwhbtrj3vgRjpKSwiJWX8+uBA7kDc98+qy2L\\nXMaO5ZDitGmeJ2uXvhTrEPGPEUT8g0ML+5SU8KjfhQt5HoD9+622LHK5eJFvAM8/73mfUIj/tm38\\n1PHZZ8BvfgNcumTu59sFEf8YYcMGYNgwq62IXrSwz7lzQL9+zonuxfP3TEMD8L//yzdLT4RC/HNy\\nuHLtU08BzzzDAxmFpoj4xwCFhZxVkZ1ttSXRi178tQqo4vl75/x578IPmC/+NTV8rZ86BRw8CLRr\\n55yjWmiMiL/NKSsDfvADLlngKe4q+KZDBxYUvfh37eosjhcL5OX51zlbU+O7HIbWl2IWmn379nFB\\nvt69Rfw9IeJvcwoLWaDmzbPakugmM9N5LtPSuC0uDrjqKp77Nxa48kqegcso58/7Fn+zPX9N/Net\\n4++mbVsRf0+I+Nucmhp+9NXy+4XAuOwyFpaSksYT38RK3L+khJf68gy+sCLso4l/bi6n4or4e0bE\\n3+YY8b4E3yQmAhkZwN69jcXfXdy/b1+eLtMuVFRwiMtfjIR9zBb/khIObx47xqm4Iv6eEfG3OTU1\\nvr0vwRiZmTxYTi/+rsXJTp3iG0RpafjtCxXFxTy15UsvAdXVxt5z6RKneiYled8vFJ6/NqDs+utF\\n/L3hU/yJaBERnSai3R62X0VEXxPRBSKa6bJtPBEdIKI8IpplltGCcYx4X4IxunYFjhxpLP4dOjTu\\nBN25k5dGRTIaKCkB2rfn6+j8eWPv0ZwOX0kGZot/URHQvz8/qQ0axE9rIv7uMeL5LwYw3sv2swAe\\nAfCCvpGI4gHMc7y3N4CpRCTJhmHGSNxVMMbVV/NS6/AFYkv8W7Uy/n8ZDTeaKf6LF/Pgux/8gEuV\\nJyWx53/0KNcXqq835zh2waf4K6U2APA4345SqlQptRWA66kdDCBfKXVUKVUP4B0Ak4MxVvAfCfuY\\nx6xZwN/+BgwY4Gzr2LGx+O/YwUs7iX9pKScN+OP5WyH+W7YAL7zA5SRecLiiGRlcVXTMGB7xKzgJ\\nZcz/MgCFuvUTjjYhjEiHr3nExQEPPND4fLZpw7Ht2lpe37GDM4Cqqqyx0Ww2b+bMGX89f6NOR6tW\\nfI2aUYJh3z6gT5/Gbdddx+J/++326oQ3g1BW9XQzC6p75s6d+9/XOTk5yMnJCYE5sYl4/qGFyBn6\\n6dCBQwx33GEfz//663n5yiuh8fzj43mgV1kZe+nBsHdvU/FPSOCqq8uXR3/sPzc3F7m5uaZ9XijF\\n/ySATN16Jtj7b4Je/AVzqalhr00IHdro39JSHgiVnm4f8e/enTu5QxXzBzikdOZMcOJfWsojej2N\\nZ0lP5wF60YyrY/zkk08G9Xlmhn1c+/W3AuhJRN2IqBmAKQA+MvF4ggGkwzf0aJ7/vn2c4++PSEY6\\nPXrwMtBsHyNkZASfGnvmDAu/p+wiO4i/2fj0/IloKYCRADKIqBDAHACJAKCUWkBEHQFsAdAGQAMR\\nPQagt1KqmohmAPgcQDyAN5RSUgYrzEjYJ/R06sS58LW1nF3SqpV98vxra3mmt969OUQTCs8/IyP4\\neHxdHdCsmeftIv5N8Sn+SqmpPrafQuPwjn7bpwA+Dcw0wQykwzf0dO8OFBTwTTYlhcX/yBHe1tDg\\nnPUrGqmoAJYsYc+/rs78mD/gDPsEw8WLIv7+IiN8bY54/qGnRw8W/8pKFv/WrZ0e8pYtnGYYrVRU\\n8P8EsLg2NLDQ+iI/n8NhRjDD8794EWje3PP29PTo7/A1GxF/myOef+i54grg8GGnUOpj/gcPAidP\\nRq/XqRd/Imdqpjfq64E33wR+8hNjxzAj5u8r7NO2bfR+B6FCxN/miOcfenr0aCr+Wp5/Xh4vd7st\\njhLZNDTwTax1a2dby5a+4/5btrDX75p26QkJ+1iDiL/Nkdo+oSctjTtDDx/mQV96zz8vD0hNjU7x\\nr6riayc+3tlmJJNpxw7/5ovOyADWruWpRgPFV9indWt+OtBKUwsi/rZHUj3DQ/funOqpxfy1kgV5\\necBPfwq88Ub0pX/qQz4aqanc7o3t24GBA40fJyeH55f+9FNg0yY+5qJF/tnqK+xDBMycCTzyiH+f\\na2dE/G2OhH3CQ2Yme58pKdwHUF4OrFrFTwNPPcVhh5UrrbbSP9yJv5HwyY4d/ol/cjKPwi0v5/NV\\nWcmjdf3Bl+cP8MjrQ4f8+1w7I+Jvc6TDNzxok52kpLCY/eEPwPe/D9x6K7f16hV9uf+BiP/Zsyyw\\n+uJ3RkhN5RIPZWUcWjp1yr/3+4r5A0CLFuwMCUwoyzsIFqOUeP7hQhP/Nm14edddLDaDB/O6GemM\\n4ULL5nnpJZ6+Uo878V+zBujWjTu+ly0Dxo713+FITWXPv6yMC+P5K/6+wj4A/w60AnyCeP62RvtB\\n6DvshNCQmcnnWS96d9zBoghEl/jfcgt733v3cn18Pe7Ef+FC4MMP+fXq1fzE4y968e/dOzDP31fY\\nRzz/xoj42xjp7A0fXbuy1++ptkw0TSfYogUvb7vNWNinqoqrmQJc46hLF/+PGaznbyTsI55/Y0T8\\nbYyEfMLHVVcBEyd63h5Nnr/2tPKjHzXd5k389+3jfo1AqnNq4n/uHM/BW1XFT65GMRL2adGCxV8Z\\nLjZvb0T8bYx09oaP9HTgrbc8b8/IAI4fj46Mn7o6DuW467T1JP6ffQZ873t8g2vXzv9j6j3/9HSu\\nJeRPTr6RsE9cHN8g/Lmp2BkRfxsjnn/kkJHBpR5+8QurLfGNNyH1JP719RyqOXOGQ1z+0qIFz+ZV\\nXBy4+Pvy/LXjSNyfEfG3MTK6N3LQQiGFhcYrY1qFtxCKJ/EHOJzSsqUxEXaFiL3/I0d4xLQWojGK\\nUfGXuL8TEX8bIx2+kYP2PTRrxhUvNZQCfv1rY5Uyw0VdnWfPv23bpn0XVVXA0qXAkCGBhXw0UlN5\\nNq60ND6+vzF/X2EfQDx/PSL+NkbCPpEDEbB1K3cKHzwIXLgA7NoFnDgBvPAC8MknVlvoxJsXnZ7u\\nDPMALNZ1dcCUKVziIpipGLX3tmrFx/fnhiiev/+I+NsY6fCNLK65hkf6vv46MHkyT46+fDmQlAQ8\\n9BDw5z9bbSHjzYuOi2uctlpdzWJNxGMdgvH833uPb4ZE/nv+EvP3Hxnha2PE84887r2Xb8gJCcCN\\nNwK/+hXw4IPAnXdyauWwYf5VxAwFvjJn2rXjztiOHfkpQCv5nJXFGTuBoh9NHMqwj3j+jIi/jRHP\\nP/Lo2RP47W/5dVkZ8OyzQL9+HC8fORLYv9+9+JeX8wCqcEwH6StnXp+Jo6/3/7OfAdOmmWNDqDz/\\n5GTx/DVE/G2MeP6RTVoa8PLLwE038frllwPHjjXdr6GB923Txnc5ZTPw5UXrxb+oyCn+iYn8Zwah\\nDPuI589IzN/GSKpn5HPffc6icK7iv3Il19kpLOT1q68Oj02+hFQT/+3beWBXIKmdvvC3w9do2Ec8\\nfyci/jZGUj2jC038q6p4sNOf/gSsWOEU/wsXwmOHUc9/2TJe37LFfBtC6fnPnMmd77/8ZeD22QER\\nf5tSWMjlBkT8owdN/OfO5c7PNWu4vbAQuPLK8HmsRjp8//AH4JVXOMMnNdV8G0Il/klJPE7hrruA\\nL78M3D47IOJvU37zG07L693baksEo3TtykK/dSvw859zW2Iipz/26hU+8ffV4TthArBgAbB+PVBQ\\nwLNvmU2osn20sFpOjsT+pcPXhpSVcX31ggIelCNEB8nJnA20YQM/td10E2fQFBay+H/7bXjs8OX5\\nZ2YC99/vXG/Vynwbmjd3lo3wRUODcc9fm01NBnuJ529Ljh7lEIIIf/QxejSHUbp0AX74Qxa1goLI\\n8vzDQfPmxjp8X3yR5xwwKv4ffMA3UxnsJeIfNezfDzz9tLF9S0q4U06IPsaN485IImexs127wif+\\nShkX0lBitPRyRQWPNTh1yljYp2NHvrGK5y/iHzXs3Qt8+qmxfUX8o5fx4znDRyM11Rn2+e47/gsl\\n9fU8+jjOYmUwGvOvq+NzNH160/mGvSGevwHxJ6JFRHSaiHZ72edlIsojop1ENEjXfpSIdhHRdiLa\\nbJbRsUhFhfEBPiL+0QtRY687LY1j6u3ahcdbNdpxGmqMiv+5c8BzzwHz5vFNy5/Pr6/nOQRiFSP3\\n98UAxnvaSEQTAWQppXoCuB/AfN1mBSBHKTVIKTU4KEtjnMpK4+JfWiribxdSU7laJlF4BigZmREr\\nHBgV/7NnA5s8hoi9/3CNnYhEfIq/UmoDgDIvu0wC8KZj300AUomog267hymtBX+orDReNEs8f/uQ\\nlgZccQW/Dof4R0JnL2C8wzdQ8QfMDf28/37jDKhowIzI3mUACnXrJxxtAHv+q4loKxHdZ8KxYhat\\nY8vIY6qIv33QPH8gfOIfC54/YF6dn7o6rsi6cGF0TQ5vVp6/J+9+mFKqiIjaAVhFRAccTxKNmDt3\\n7n9f5+TkICcnxySz7ENlpXOZluZ9XxF/+zBmjHMEbbjCPpHg+RvN9jl7NvCUZrPO5+bNnKFVUBDa\\nkGtubi5yc3NN+zwzxP8kgEzdehdHG5RSRY5lKREtAzAYgFfxF9yjiX95uW/xLy0NbkYlIXK44w7n\\n61CJ/4YN7D1nZ3Oxtmjx/JUK3vOvqAD69wd27uR+gEBYuxYYNYrtOXIkdOLv6hg/+eSTQX2eGWGf\\njwBMBwAiGgKgXCl1moiSiai1o70lgLEAPGYMCd7RxN9Ip295uQzwsiOhEP/ycmDECODHPwbefhuY\\nOtX4yNpQYkT8q6u5/EVSUmDHaNGC6yft3h3cHMqa+HfvzuIfLRhJ9VwK4CsAvYiokIjuIaIHiOgB\\nAFBKrQRQQET5ABYAeMjx1o4ANhDRDgCbAHyilPoiJP9FDFBRwRe6vtO3vp5r+Hz0kbOtoYF/vG3a\\nhN9GIbSEQvx37wYGDAAOHQLmzOE2d3MKhBsjHb5lZcE5OcnJPI0mwBVwA+HCBa5qOnw4i//27cAf\\n/+ic4ziS8Rn2UUpNNbDPDDdtBQAGBmhXRPL66yzAd91l/mfn5bGn07ev++2VlVxTRe/579wJPPMM\\ne26TJnFbVRXX8I+PN99GwVpCIf47d/JcwhcvchnpnBzAxLBywBjx/M+fD66uUIsWwH/+4/ysQG4k\\nX3/Nv9nWrYFrr+X5GaqqgIkTgT59ArctHMgIX4OsWQPMmMGFtkLBkiVcItcT7sR/yxYu/pWX52wr\\nLw9NiV2PSzZ+AAAXE0lEQVTBeswe5PWnPwGPPMLiNWAAe6+/+x1w++3mHSNQjIh/sDPVae9t2TJw\\nz3/3bu7sBYApU/h3esstQH5+4HaFC6nqaYDz53nGouxsrrETCsrKvD9uV1RwyV8t7FNfz6V/b72V\\n65JXV7MXJOJvX1q1cvb9BMvJkyz+w4cDY8c6ZxMbNYr/rMZItk9NDXvvgaKlZWZlBS7+RUVNy0pk\\nZTV2yCIVEX8DaN625ilUVHAlQTPxJv4NDXxxZmfzPh99BEyezNkJjz0G9OjBNdUHDGDxN9s2ITJI\\nT+dyBsHw17/yZCbPPcdPjR9+yO3hmBjeH8Lh+Z86xctWrQIX/+Ji4KqrGrdlZXExvkhHwj4G0Lyt\\n48d5GYovVhP/4uKm286fZw9n4ECO0a5dC/zf//GPo39/rgE/fz6vi+dvX9q25dTGYFi2jEOMnTo5\\nhT8SSU7m676hwfM+Zol/MGGfoiKgc+fGbT17RkfYR8TfAJr4l5ayd11QYP4xyso4ntu5c9O4bnU1\\ndygNGMDiv3EjMHQodz4DwL338vDy/ftF/O1MsOJfW8shwrw8nhYykklO5mJ23kKhtbXBiX9JCS+D\\nEf/iYr6R6tGm44x0RPwNoO9kHTTIP/FXijuFvviCPS1Pw7/LdNWTXOO658/zBdqpE4d6du3izAKN\\nm2/m6RorKkT87Yy/4n/iRON0yb17OUQYHx/54g9wR/SePZ63B+v5r1/Ps6OZ7fl36OCcMSySEfE3\\ngF6MBw3ybyDHt9/ye2bOBB5+2POk0WVlnB/crFnTgVxaZy4RT5z92WdNL/rUVBZ+EX/74k/Mv7qa\\ns8MWLnS2lZfzZCZXXBF5MX539OnDNyxPBCv+AwYAV1/N4h9ICm1tLb/PNUU0JYW3RXrFUBF/A2hi\\nHBfHMXZ/PP+vvuKwzO7dwIMPAu+8436/sjLe3rdvU89fE3+AP8td6aPUVPH87Y4/nv9rr/FSH0Ks\\nquLw4Y9+xGHDSKdvX2DHDs/bgxV/jUA9/2PH2Ot3LQtBxCUe9N5/Q4MzA2jRIn4qsxoRfwNoYpyS\\nwo/NvsT/xAngm284D//DD4EhQ7j9zjuB995rOhvThQtcrTM5mUfmehN/T6SksPDn5zd9DBXsgT/i\\n/8EH7CSUlHCosXdvYOlSFv9nnmGvN9IZPx74/HPOTnJHsKmeGoGK/7p1wLBh7re1b+/sU3jjDf59\\n9uoFnD7No/LffTdwe81CxN8AFRX8o0lJ4bh7SYn3LITRo3ku1vHj2fPXvKwePXgI+Jo1jffXirUR\\n8THciX/Llt5tTE1lT2T9emDCBP//RyHy0bxcXyGKM2f4SfPOO1mg4uI4GWDnTr6Oo4WOHXnk+ttv\\nu99utee/Zg1XXXWHXvznzWOxHzMG+Pe/uZN41arA7TULEX8DVFYC3bqxwCYk8AXnqfhVfT2L8Dvv\\nALNns6em71z76U85tq+/eZSVOUM17jx/I8PYU1P5AhsxQvL87cyFC9x35K1u/Lff8qjTzEx++tQo\\nL4++mk833OA5tTrYbB+NQMV/40Zg5Ej32zTxz89nb3/cOP5OXn6ZB4x+9ZXxmflChYi/ASoruZNM\\nK6Wcmto4O0dPYSE/HUyYAPzqV00vzl/8gn/Af/ubs+30aU5rA/jH6anD1xspKTxqs18/4/+XEH3c\\neSfwySfAq696LvWwZw9fBx068E3iwQf5r6Qkujx/gMNV+/a532al519dzRqgjYx2RRP/7ds57Bsf\\nz+J/8CDw6KM8SPPVV4O3PRhE/A1QUQHcdpuzEy0tzfOUikeP8lOCJxIS+Et/8klnNsDBg87si5QU\\nzujQ9wsYEX/tyUGb8k+wJ0uXcujgmWeAv//d/T579nBnaQfHZKrXXuschRqN4r9/P3vZzz/feJuV\\n4p+fz2HcOA8K2r49DyLT/7Zvvpn7ML7/feCee/gmbiUi/l6oq+MO23Xr2DPPyuL2tDT3nn95uW/x\\nBzhjqG1bZ+//gQPOH2ebNsDcufynYSTmr4V6tCn/BPsyYgRw992eO0I18dcmFenZ0/nUGm1hn4wM\\nHsz42GPOTDkti8ZK8c/L4/PqiWuu4dCO/rednMx1lAD+boIt1REsIv5eWLUKeOgh9qD0X7S7sM/+\\n/Rxj3b3bt/gDfCPRhoC7ij/QOFYrnr/gSnq659CjNoK3WTO+brOzneIfbZ4/AMyaxU/fBw9yWDU7\\nm8NZZol/UpL/Ofm+xH/YMB6j8NVXTWv/AN6/v3Ah4u+FggKOze3a5fT6Afdhn88+Y5FesKDx6FtP\\nZGVxOujx440fDTXx37nTua/RDt/4eL4BCfbH09Pn+fP8xKoNPDp0iL3naBb/mTNZbNPSWEzPnuWM\\nGbM6fBMTm6Zf+6KggMM+nmjenPv9zp1zL/7a92flhO9S1dMLR464D6O4++F9/jlP5HDpEsf2fNGz\\nJz9VrFzJmUOax67FEC9edHoXRjz/Ll2AJ57gPgXB/qSluQ8baOUGXAceRWvYR0/v3s7JV/btMy/P\\nPyHB/5m3Tp/mVFRveMvlT0ri33pNje+QbqgQqfDCkSPuR0JqYZ9bbuFc/hMngE2beACXUc8qK4sv\\nuiNHgOnTnaKteTLjxnHfQEmJsZh/ixZc6VOIDTx5/u7qy2v7A9Hp+WtkZwMrVvBrM8U/EM+/tNSZ\\noRcoWuhHxD8COXLEfQw9LY0HU61YwX+tW/ME2P78sIYM4ZF/1dWNJ8+YNMl5UQ8dCmzebMzzF2IL\\nb+LvboS3XcT/5ZdZdPfu5f/Vl/dthEA8fzPEX/sOu3QJ7nMCRcTfA0p5D/t89BF757feymEef39U\\nrVuzx+8KkdObueEGniO0sjK6f7SC+eg7DMvLuXM3OZnHergT/6QkzjCL5rpP2dm8HD2a5xlOSjJn\\nQKNVnr+n0F24EPH3QE0NewOax6Tnyis5VWvaNB6xGypuuIFzucvKAptcWrAves//gQdYDFu2ZIfl\\nmWfcvyc/P7pj/pr4jxnD8fTBg835XH88/3/9i/vo6uqCP5dWZ/yI+Hvg7Fn2lNwxeDCnnIWabt24\\nP+HcORF/oTEtW7JgXbzIWWNvvsmjTR991FlI0JVo9voB9rTT03lGu/R089Ka/fH8H3qItcFdp7q/\\neArdhQsRfw94E/9w0a4dZxVUVUm9HqExRCz+r77KYcFx47ht9WqrLQsdRFzkbeBAzvzxlmrpD0Y9\\n/4oK9vjNqogq4h+hRIL4Z2RwPnNaGufwC4KeiROBp57icSXBeqHRwrhxvJw4kW8CZmDU8z98mJ82\\nrruOR/IHy6BBnstDhAMRfw9EgvgnJ/Ofu34HQVixglOBrS4TYAWzZ5v3WQkJxsW/Rw/Owrt0Kfjj\\nukv4CCci/m64dInDLVaLP+CMcwqCO9q3d9bwEQIjMdFY2Ecr5jZ9Oqd2RztS3sENL7zAnkVGhtWW\\nsA0i/oIQOox6/kePcup3XByn1kY74vm74fBhTvWMFM8/2rM0BCGSMdrhe+ZM8Ln9kYRPz5+IFhHR\\naSLa7WWfl4koj4h2EtEgXft4Ijrg2DbLLKNDTVERLyNF/CXmLwihw2iH79mzkRENMAsjYZ/FAMZ7\\n2khEEwFkKaV6ArgfwHxHezyAeY739gYwlYiyPX3OqlWRMakxwKMkExMjQ/z1FRkFQTCf+Hju5/NV\\nYfPMmcjQBLPwGfZRSm0gom5edpkE4E3HvpuIKJWIOgLoDiBfKXUUAIjoHQCTAex3/YCLF4G1a/nO\\nOmWK3/+D6RQVAcuWNa65YxUPPSRpnoIQSoiccf/ERM/7RUIGoJmYEfO/DIB+vOsJR1tnN+3Xu/uA\\n+fN5yrNAJlE2m40bOXVu/PjIEF39PAKCIIQGLe7vSfyVEvH3RFBDTN56i2PbZuTOBkNxMc/AA0SG\\n8AuCEB58xf2rq3mfpKTw2RRqzBD/kwD080d1AXv5iS7tmY72JuzZMxcJCVwoKTc3Bzk5OSaY5T9r\\n1nAal5Wj7gRBCD++Mn7OnLG+szc3Nxe5ubmmfR4pA/OIOWL+Hyul+rnZNhHADKXURCIaAuAvSqkh\\nRJQA4CCAMQCKAGwGMFUptd/l/WrkSIV163jWqkOHgv6fAuZnPwOuv56rJMoNQBBihw4deLrWDh3c\\nb9+6Fbj/fmDbtvDa5Q0iglIq4KiLkVTPpQC+AtCLiAqJ6B4ieoCIHgAApdRKAAVElA9gAYCHHO3f\\nAZgB4HMA+wC86yr8Gn368NJ1Xtxw8+WXwIgRIvyCEGv4Guhlt3g/YCzbZ6qBfWZ4aP8UwKe+3t+3\\nL89UVV7OHStakapNm1iQ77sv9HXIS0r40S7bYzKqIAh2xVOJh/ff5/IZMSn+4WDAAK6ZcfAgUFvL\\nxcwqK4GxY7liYUEB8Ne/hubYR48Czz/PE6dcf714/YIQi3jy/P/9by6n3ru39TF/s4kIqbvhBuDz\\nz7mMgRb62bgRuPpqTgNdvhxoaGj8ntmzgQ8/DP7YM2ZwR++99wK33x785wmCEH3oPf+nnwYWL+bX\\nJ07wZDl29PwjQvyJuKMlNdVZJzs3F8jJ4SkTU1OBDz5w7r99O/DsszyxQyAoBbz+Og8uy8sDliwB\\nVq7kDh1BEGIPvef/zjss+ACL/549wPHj9hP/iAj7aJw4wbWy160D/vEP4OOPuX3xYh50NWIEx9/2\\n7uVHsUA7iFes4H6EzEzg2DF+pEtONu//EAQhutA8/5MnWV/ateNoQ1ERO6Dr1wPf+57VVppLRHj+\\nGlrFvGnTuKzBtdfy+uDBwA9+wN46wB2zN94YeFroa69xP8PChfxUIcIvCLGN5vlv28YJKIcOcRJI\\nSgongRQU2M/zjyjxz88H5szhJ4A77mi8bdo04JNP+HVpKU+lVlzMc2r6y/79wG9/y505mZm+9xcE\\nwd5onn9VFaeel5UBBw4AXboAl1/O+0iHbwiJi2OP/oor+FFLT8+ezv6AM2eATp34S8nP9+8YdXVA\\nYSEwaRKv790btNmCIEQ5mudfVcVp5X37AhMmcG2tbt14H7t5/hEV8weAm24CNmxoOiF1587c437h\\nAnv+GRk8gfO2bc5BYocPc+fM5MnuP7umBnj8cb5pJCYCX3/NX7YgCLGN5vlXVwOtW7MG1dYCLVty\\nMghgP/GPKM8fYNHv3Llpe3w8h2iOH2fxb9eO+wK2bHHu8/zzwK9/7fmzDxzgeP+pU7w+ZAjfbARB\\niG00z7+6mgecNm/O/YGJiez5JyTwTcFORJz4e6NbNw79aEWWrrsO2LyZt124wKPxSku5c8Yd588D\\nLVpwrF8QBEFDH/Nv1arxtp49gXvuaRqNiHaiUvw1z/+aazjMU1PD6ZsDBgA//CEwcyY/srlSVQWM\\nHGm/lC1BEIJD7/m7evjJycCCBdbYFUqiSvyHDOEBGOXlQHo6x+MGDuTRwG+9BUyfDrz8Mt+hZ85s\\n+v6qKvs9ugmCEDxaPX8t7BMLRJX4T5/Ogy4efpjv1AAwZgywejUXgBs7lsM6CxcCb77ZdE5OEX9B\\nENyh1fOPJfGPuGwfbzRrxqmZ+lm2Ro7km8HFi5z+CXCvfKtWPA5A33ks4i8Igjs0zz+WNCKqPH+g\\n6fSK11zDWTxXXdW4QyYrq+kYgFj6YgVBME4sev5RJ/6upKQAvXrxn56sLC7apkfEXxAEd7imesYC\\nUS/+AOf7u07C0rOneP6CIBhDn+oZKxoRVTF/T7z4IpCU1LgtK6tpPn8sfbGCIBgnFj1/W4i/Vg1U\\nj8T8BUEwir68Q6yIvy3CPu7QxF+f7iniLwiCO1q0AP70J74JNGtmtTXhwbbin5rKoaDTp51tIv6C\\nILjjiSeATz8Fdu+22pLwYYuwjye6dweeew64+26e+vHUKRF/QRCa0qoVVwuIJUi5DoMNtwFEKlQ2\\n3HYbsGwZV+gbMICLwJ05Y7/SrIIgxB5EBKVUwOXmbC3+DQ1cB2jJEmDGDO14ITmUIAhCWBHxFwRB\\niEGCFX/bdvgKgiAInhHxFwRBiEFE/AVBEGIQn+JPROOJ6AAR5RHRLDfb04hoGRHtJKJNRNRHt+0o\\nEe0iou1EtNls4wVBEITA8Cr+RBQPYB6A8QB6A5hKRC4l1PD/AGxTSg0AMB3AS7ptCkCOUmqQUmqw\\neWaHltzcXKtNaEIk2gREpl1ikzHEJuNEql3B4MvzHwwgXyl1VClVD+AdAJNd9skGsBYAlFIHAXQj\\nIn21nahLrozELzoSbQIi0y6xyRhik3Ei1a5g8CX+lwEo1K2fcLTp2QngNgAgosEALgfQxbFNAVhN\\nRFuJ6L7gzRUEQRDMwFd5ByMJ+M8CeImItgPYDWA7gEuObcOUUkWOJ4FVRHRAKbUhcHMFQRAEM/A6\\nyIuIhgCYq5Qa71ifDaBBKfWcl/ccAdBPKVXt0j4HQLVS6kWXdhnhJQiCEADBDPLy5flvBdCTiLoB\\nKAIwBcBU/Q5ElAKgVil10RHaWaeUqiaiZADxSqkqImoJYCyAJ800XhAEQQgMr+KvlPqOiGYA+BxA\\nPIA3lFL7iegBx/YF4Cygvzs8+D0A7nW8vQOAZcTFdBIALFFKfRGaf0MQBEHwB8tr+wiCIAjhx9IR\\nvr4GkIXRjiaD0YgonYhWEdEhIvqCiFJDbMMiIjpNRLt1bR5tIKLZjvN2gIjGhtGmuUR0wnGuthPR\\nhDDblElEa4loLxHtIaJHHe2WnSsvNll2rogoyTHocgcR7SOiPzjarb6mPNll6XXlOE6849gfO9Yt\\nPVcebDLvPCmlLPkDh5HyAXQDkAhgB4Bsi2w5AiDdpe15AE84Xs8C8GyIbRgOYBCA3b5sAIfadjjO\\nWzfHeYwLk01zAPzSzb7hsqkjgIGO160AHASPNbHsXHmxyepzlexYJgD4BsAwq68pL3ZZeq4cx/ol\\ngCUAPnKsR8K5crXJtPNkpedvZABZOHHteJ4E4E3H6zcB3BrKgytOgS0zaMNkAEuVUvVKqaPgL9r0\\nEdQebALcD9wLl02nlFI7HK+rAewHjz2x7Fx5sQmw9lzVOF42AztbZbD4mvJiF2DhuSKiLgAmAnhd\\nZ4el58qDTQSTzpOV4m9kAFm4cDcYrYNSSpsB+DS4AzvceLKhM/h8aYT73D1CXMvpDd2jcNhtIs5C\\nGwRgEyLkXOls+sbRZNm5IqI4ItoBPh9rlVJ7EQHnyYNdgLXX1Z8B/BpAg67N6nPlziYFk86TleIf\\nST3NQ5VSgwBMAPAwEQ3Xb1T8XGWpvQZsCJd98wF0BzAQQDGAF73sGzKbiKgVgH8DeEwpVdXooBad\\nK4dN7ztsqobF50op1aCUGggecT+CiEa5bLfkPLmxKwcWnisiugVAiVJqOzyUown3ufJik2nnyUrx\\nPwkgU7eeicZ3rrChlCp2LEsBLAM/Lp0moo4AQESdAJRYYJonG1zPXRdHW8hRSpUoB+DHUe3RMmw2\\nEVEiWPj/qZRa7mi29FzpbHpLsykSzpXDjgoAKwBcgwi6pnR2XWvxuboRwCTiAapLAYwmon/C2nPl\\nzqZ/mHqeQtFJYeQP3NlzGNw50QwWdfgCSAbQ2vG6JYCN4AFpzwOY5Wj/H4S4w9dxnG5o2uHbxAY4\\nO3eagb2Aw3Ck7YbBpk66148DeDucNoG9oH8A+LNLu2XnyotNlp0rABkAUh2vWwBYD2CM1deUF7s6\\nWnld6Y49EsDHVl9TXmwy7ZoKibF+/FMTwJkR+QBmW2RDd8dJ2wEepDbb0Z4OYDWAQwC+0C7YENqx\\nFDyK+iK4L+RubzaAS2nnAzgAYFyYbLrHIXK7wAX9loPjouG0aRg4BroDXEdqO7jkuGXnyoNNE6w8\\nVwD6AdjmsGkXgF/7uq7D9P15ssvS60p3rJFwZtZYeq50x8rR2fRPs86TDPISBEGIQWQaR0EQhBhE\\nxF8QBCEGEfEXBEGIQUT8BUEQYhARf0EQhBhExF8QBCEGEfEXBEGIQUT8BUEQYpD/D6k+DIrUPy3m\\nAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x110b576d8>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/TF-FIN-4-stochastic_gradient_descent-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) \\n\",\n    \"num_positions = 3\\n\",\n    \"\\n\",\n    \"x = tf.placeholder(tf.float32, [None, len(symbol_list) * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  len(symbol_list)])\\n\",\n    \"\\n\",\n    \"W = tf.Variable(tf.random_normal([len(symbol_list) * 100, num_positions * len(symbol_list)]))\\n\",\n    \"b = tf.Variable(tf.random_normal([num_positions * len(symbol_list)]))\\n\",\n    \"\\n\",\n    \"y = tf.matmul(x, W) + b \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"pos = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(len(symbol_list)):\\n\",\n    \"    # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # sample probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), 1)#sample = tf.argmax(symbol_probs_softmax, 1) #use a real sample\\n\",\n    \"    pos[i] = tf.reshape(sample, [-1]) - 1   # choose(-1,0,1)\\n\",\n    \"    # get returns by multiplying the policy (position taken) by the target return for that day\\n\",\n    \"    symbol_returns[i] = tf.mul(tf.cast(pos[i], float32),  y_[:,i])\\n\",\n    \"    # isolate the probability of the selected policy (for use in calculating gradient)\\n\",\n    \"    sample_mask = tf.reshape(tf.one_hot(sample, 3), [-1,3])\\n\",\n    \"    relevant_target_column[i] = tf.reduce_sum(symbol_probs_softmax * sample_mask,1) # should be relevant to SAMPLE\\n\",\n    \"    \\n\",\n    \"# calculate the PERFORMANCE METRICS for the data chosen\\n\",\n    \"daily_returns_by_symbol = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"daily_returns = tf.reduce_sum(daily_returns_by_symbol,1)/2\\n\",\n    \"total_return = tf.reduce_prod(daily_returns + 1)\\n\",\n    \"ann_vol = tf.mul(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns)),2))) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = total_return / ann_vol\\n\",\n    \"\\n\",\n    \"# CROSS ENTROPY\\n\",\n    \"training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"gradient = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\\n\",\n    \"\\n\",\n    \"# COST\\n\",\n    \"# how should we do this step? it depends how we want to group our results. Choose your own adventure here by uncommenting a cost fn\\n\",\n    \"# this is the most obvious: we push each weight to what works or not. Try it out...we're gonna be RICH!!!! oh, wait...\\n\",\n    \"#cost = tf.mul(gradient , daily_returns_by_symbol)\\n\",\n    \"# this takes the overall daily return and pushes the weights so that the overall day wins. Again, it overfits enormously\\n\",\n    \"#cost = tf.mul(gradient , tf.reshape(daily_returns,[-1,1]))\\n\",\n    \"# this multiplies every gradient by the overall return. If the strategy won for the past ten years, we do more of it and vice versa\\n\",\n    \"cost = tf.mul(gradient , total_return)\\n\",\n    \"costfn = tf.reduce_mean(cost)\\n\",\n    \"\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.005).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 5000 cost= 0.173014879 total return= -0.486480296\\n\",\n      \"Epoch: 10000 cost= 0.256526262 total return= -0.228146195\\n\",\n      \"Epoch: 15000 cost= 0.159734488 total return= -0.520039856\\n\",\n      \"Epoch: 20000 cost= 0.200976387 total return= -0.391009867\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.initialize_all_variables()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,20)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins[start:end], y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%5000== 0:\\n\",\n    \"        c,t = sess.run([costfn, total_return], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(c), \\\"total return=\\\", \\\"{:.9f}\\\".format(t-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1128746d8>]\"\n      ]\n     },\n     \"execution_count\": 26,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1125581d0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1133145c0>]\"\n      ]\n     },\n     \"execution_count\": 28,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nXRLQHssAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1125b5470>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/TF-FIN-5-multi_sampling-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# we modify this data organizing slightly to get two symbols\\n\",\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 137,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"num_positions = 3\\n\",\n    \"num_symbols = len(symbol_list)\\n\",\n    \"num_samples = 20\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# define placeholders \\n\",\n    \"x = tf.placeholder(tf.float32, [None, num_symbols * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"# define trainable variables\\n\",\n    \"W = tf.Variable(tf.random_normal([num_symbols * 100, num_positions * num_symbols]))\\n\",\n    \"b = tf.Variable(tf.random_normal([num_positions * num_symbols]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b # y is tensor of shape [num_inputs, num_positions * len(symbol_list)]\\n\",\n    \"# a row of y will look like [prob_symbol_1_short, prob_symbol_1_neutral, prob_symbol_1_long, prob_symbol_2_short, ...]\\n\",\n    \"# note that they are not really probabilities because I did not perform a softmax yet\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"pos = {}\\n\",\n    \"sample_n = {}\\n\",\n    \"sample_mask = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(num_symbols):\\n\",\n    \"    # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # sample probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)#sample = tf.argmax(symbol_probs_softmax, 1) #use a real sample\\n\",\n    \"        #pos[i] = tf.reshape(sample, [-1]) - 1   # choose(-1,0,1)\\n\",\n    \"        # get returns by multiplying the policy (position taken) by the target return for that day\\n\",\n    \"        #symbol_returns[i] = tf.mul(tf.cast(pos[i], float32),  y_[:,i])\\n\",\n    \"    # isolate the probability of the selected policy (for use in calculating gradient)\\n\",\n    \"    for sample_iter in range(num_samples):\\n\",\n    \"        sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"        pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"        symbol_returns[i*num_samples + sample_iter] = tf.mul(\\n\",\n    \"                                                            tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                             y_[:,i])\\n\",\n    \"        \\n\",\n    \"        sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"        relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                    symbol_probs * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"daily_returns_by_symbol_ = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"\\n\",\n    \"total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"z = tf.ones_like(total_return) * -1\\n\",\n    \"total_return = tf.add(total_return, z)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"ann_vol = tf.mul(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"#Maybe metric slicing later\\n\",\n    \"#segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"#partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\\n\",\n    \"\\n\",\n    \"gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"#cost = tf.mul(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"#cost = tf.mul(gradient , tf.expand_dims(daily_returns, -1))\\n\",\n    \"#cost = tf.mul(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"cost = tf.mul(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.05).minimize(cost)\\n\",\n    \"costfn = tf.reduce_mean(cost)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# calculate the performance metrics for the data chosen\\n\",\n    \"#daily_returns_by_symbol = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"#daily_returns = tf.reduce_sum(daily_returns_by_symbol,1)/2\\n\",\n    \"#total_return = tf.reduce_prod(daily_returns + 1)\\n\",\n    \"#ann_vol = tf.mul(\\n\",\n    \" #   tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns)),2))) ,\\n\",\n    \" #   np.sqrt(252)\\n\",\n    \" #   )\\n\",\n    \"#sharpe = total_return / ann_vol\\n\",\n    \"\\n\",\n    \"'''\\n\",\n    \"# since we only train the sampled classes, we will combine them so that we can feed them into cross entropy\\n\",\n    \"training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"# we want to either push the gradient toward our selection or away from it. We use these ones to find the direction\\n\",\n    \"#     of the gradient, which we will then multiply by our fitness function\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"\\n\",\n    \"# this isnt actuall a gradient, but karpathy sort of calls it one. Since it is a tensor it sort of is a gradient anyway\\n\",\n    \"gradient = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\\n\",\n    \"\\n\",\n    \"# how should we do this step? it depends how we want to group our results. Choose your own adventure here by uncommenting a cost fn\\n\",\n    \"# this is the most obvious: we push each weight to what works or not. Try it out...we're gonna be RICH!!!! oh, wait...\\n\",\n    \"#cost = tf.mul(gradient , daily_returns_by_symbol)\\n\",\n    \"# this takes the overall daily return and pushes the weights so that the overall day wins. Again, it overfits enormously\\n\",\n    \"#cost = tf.mul(gradient , tf.reshape(daily_returns,[-1,1]))\\n\",\n    \"# this multiplies every gradient by the overall return. If the strategy won for the past ten years, we do more of it and vice versa\\n\",\n    \"cost = tf.mul(gradient , total_return)\\n\",\n    \"# for printing\\n\",\n    \"costfn = tf.reduce_mean(cost)\\n\",\n    \"\\n\",\n    \"# minimize the cost (push the weights where we want them to go)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.05).minimize(cost)\\n\",\n    \"'''\\n\",\n    \"print()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 130,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<tf.Tensor 'Mean_50:0' shape=() dtype=float32>\"\n      ]\n     },\n     \"execution_count\": 130,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"costfn\\n\",\n    \"#gradient_\\n\",\n    \"#total_return\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 113,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<tf.Tensor 'Add_1:0' shape=(20,) dtype=float32>\"\n      ]\n     },\n     \"execution_count\": 113,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ann_vol\\n\",\n    \"total_return\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 149,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 0100 cost= 4.0075 total return= 0.410749108 sharpe= 1.227803946\\n\",\n      \"Epoch: 0200 cost= 5.79791 total return= 0.325742573 sharpe= 0.908009708\\n\",\n      \"Epoch: 0300 cost= 29.9439 total return= 1.916382551 sharpe= 5.669203281\\n\",\n      \"Epoch: 0400 cost= 30.9742 total return= 2.846206665 sharpe= 8.231985092\\n\",\n      \"Epoch: 0500 cost= 14.2515 total return= 2.010600805 sharpe= 5.734219074\\n\",\n      \"Epoch: 0600 cost= 36.9297 total return= 2.298950195 sharpe= 6.386272430\\n\",\n      \"Epoch: 0700 cost= 17.9175 total return= 1.090037107 sharpe= 2.921367884\\n\",\n      \"Epoch: 0800 cost= 22.0439 total return= 0.870501816 sharpe= 2.314534664\\n\",\n      \"Epoch: 0900 cost= 265.804 total return= 5.780017376 sharpe= 15.342338562\\n\",\n      \"Epoch: 1000 cost= 336.977 total return= 7.407339573 sharpe= 18.710979462\\n\",\n      \"Epoch: 1100 cost= 261.297 total return= 7.243052483 sharpe= 18.231023788\\n\",\n      \"Epoch: 1200 cost= 166.946 total return= 4.330142975 sharpe= 11.005815506\\n\",\n      \"Epoch: 1300 cost= 133.772 total return= 3.356940508 sharpe= 8.886281013\\n\",\n      \"Epoch: 1400 cost= 130.561 total return= 3.171287537 sharpe= 8.084554672\\n\",\n      \"Epoch: 1500 cost= 280.925 total return= 5.933093548 sharpe= 15.260545731\\n\",\n      \"Epoch: 1600 cost= 141.71 total return= 1.981608987 sharpe= 5.255846024\\n\",\n      \"Epoch: 1700 cost= 229.812 total return= 3.756299973 sharpe= 9.602984428\\n\",\n      \"Epoch: 1800 cost= 368.397 total return= 6.263023853 sharpe= 16.065864563\\n\",\n      \"Epoch: 1900 cost= 196.461 total return= 4.329125404 sharpe= 11.169312477\\n\",\n      \"Epoch: 2000 cost= 264.657 total return= 5.718810081 sharpe= 14.863568306\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.initialize_all_variables()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(2000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,75)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins[start:end], y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%100== 0:\\n\",\n    \"        t,s, c = sess.run([ total_return, sharpe, costfn], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"        #print(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 150,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 151,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x14daeb630>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 152,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 153,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nQqFQTEP+F2ZEdaLhkq/CAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x14d7d36a0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/TF-FIN-6-neural_network-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"num_positions = 3\\n\",\n    \"num_symbols = len(symbol_list)\\n\",\n    \"num_samples = 20\\n\",\n    \"\\n\",\n    \"n_input = num_symbols * 100\\n\",\n    \"n_hidden_1 = 10 # 1st layer number of features\\n\",\n    \"n_hidden_2 = 10 # 2nd layer number of features\\n\",\n    \"n_classes = num_positions * num_symbols # MNIST total classes (0-9 digits)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# define placeholders \\n\",\n    \"x = tf.placeholder(tf.float32, [None, num_symbols * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"weights = {\\n\",\n    \"    'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),\\n\",\n    \"    'h2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),\\n\",\n    \"    'out': tf.Variable(tf.random_normal([n_hidden_2, n_classes]))\\n\",\n    \"}\\n\",\n    \"biases = {\\n\",\n    \"    'b1': tf.Variable(tf.random_normal([n_hidden_1])),\\n\",\n    \"    'b2': tf.Variable(tf.random_normal([n_hidden_2])),\\n\",\n    \"    'out': tf.Variable(tf.random_normal([n_classes]))\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"def multilayer_perceptron(x, weights, biases):\\n\",\n    \"    # Hidden layer with RELU activation\\n\",\n    \"    layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])\\n\",\n    \"    layer_1 = tf.nn.relu(layer_1)\\n\",\n    \"    # Hidden layer with RELU activation\\n\",\n    \"    layer_2 = tf.add(tf.matmul(layer_1, weights['h2']), biases['b2'])\\n\",\n    \"    layer_2 = tf.nn.relu(layer_2)\\n\",\n    \"    # Output layer with linear activation\\n\",\n    \"    out_layer = tf.matmul(layer_2, weights['out']) + biases['out']\\n\",\n    \"    return out_layer\\n\",\n    \"\\n\",\n    \"# Construct model\\n\",\n    \"y = multilayer_perceptron(x, weights, biases)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"pos = {}\\n\",\n    \"sample_n = {}\\n\",\n    \"sample_mask = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(num_symbols):\\n\",\n    \"    # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # sample probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\\n\",\n    \"    for sample_iter in range(num_samples):\\n\",\n    \"        sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"        pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"        symbol_returns[i*num_samples + sample_iter] = tf.mul(\\n\",\n    \"                                                            tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                             y_[:,i])\\n\",\n    \"        \\n\",\n    \"        sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"        relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                    symbol_probs_softmax * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"daily_returns_by_symbol_ = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"\\n\",\n    \"total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"z = tf.ones_like(total_return) * -1\\n\",\n    \"total_return = tf.add(total_return, z)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"ann_vol = tf.mul(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"#Maybe metric slicing later\\n\",\n    \"#segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"#partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\\n\",\n    \"\\n\",\n    \"gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"#cost = tf.mul(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"#cost = tf.mul(gradient , tf.expand_dims(daily_returns, -1))\\n\",\n    \"#cost = tf.mul(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"cost = tf.mul(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.0001).minimize(cost)\\n\",\n    \"costfn = tf.reduce_mean(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 0100 cost= 0.357373 total return= 0.409767538 sharpe= 1.117977977\\n\",\n      \"Epoch: 0200 cost= 0.39784 total return= 0.456069469 sharpe= 1.244072676\\n\",\n      \"Epoch: 0300 cost= 0.462523 total return= 0.530371010 sharpe= 1.446246624\\n\",\n      \"Epoch: 0400 cost= 0.584189 total return= 0.672424912 sharpe= 1.827061296\\n\",\n      \"Epoch: 0500 cost= 0.445673 total return= 0.510583758 sharpe= 1.393794894\\n\",\n      \"Epoch: 0600 cost= 0.519553 total return= 0.596914530 sharpe= 1.624922156\\n\",\n      \"Epoch: 0700 cost= 0.565879 total return= 0.650260627 sharpe= 1.769401193\\n\",\n      \"Epoch: 0800 cost= 0.482351 total return= 0.553301036 sharpe= 1.507541776\\n\",\n      \"Epoch: 0900 cost= 0.490191 total return= 0.561884701 sharpe= 1.532655001\\n\",\n      \"Epoch: 1000 cost= 0.540358 total return= 0.619096160 sharpe= 1.688741684\\n\",\n      \"Epoch: 1100 cost= 0.641487 total return= 0.735186100 sharpe= 2.004348040\\n\",\n      \"Epoch: 1200 cost= 0.573753 total return= 0.657212317 sharpe= 1.792912483\\n\",\n      \"Epoch: 1300 cost= 0.544023 total return= 0.623561800 sharpe= 1.699504137\\n\",\n      \"Epoch: 1400 cost= 0.545976 total return= 0.625774741 sharpe= 1.705720186\\n\",\n      \"Epoch: 1500 cost= 0.54651 total return= 0.624909401 sharpe= 1.707361817\\n\",\n      \"Epoch: 1600 cost= 0.562541 total return= 0.643976569 sharpe= 1.757120132\\n\",\n      \"Epoch: 1700 cost= 0.628897 total return= 0.720324337 sharpe= 1.964194536\\n\",\n      \"Epoch: 1800 cost= 0.564138 total return= 0.645473421 sharpe= 1.762031555\\n\",\n      \"Epoch: 1900 cost= 0.580018 total return= 0.664805055 sharpe= 1.812619209\\n\",\n      \"Epoch: 2000 cost= 0.649044 total return= 0.743958056 sharpe= 2.028422356\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.initialize_all_variables()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(2000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,75)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins[start:end], y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%100== 0:\\n\",\n    \"        t,s, c = sess.run([ total_return, sharpe, costfn], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"        #print(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 30,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([daily_returns, pos[0]], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1249008d0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x124ba1940>]\"\n      ]\n     },\n     \"execution_count\": 32,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1233b63c8>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\ngg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x124923ef0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/TF-FIN-7-regularization_modular-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\",\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 49,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class Model():\\n\",\n    \"    def __init__(self, config, training=True):\\n\",\n    \"        #CONFIG\\n\",\n    \"        symbol_list = self.symbol_list = config.symbol_list\\n\",\n    \"        num_samples = self.num_samples =  config.num_samples\\n\",\n    \"        input_len = self.input_len =  config.input_len\\n\",\n    \"        n_hidden_1 = self.n_hidden_1 =  config.n_hidden_1\\n\",\n    \"        n_hidden_2 = self.n_hidden_2 =  config.n_hidden_2 \\n\",\n    \"        learning_rate = self.learning_rate = config.learning_rate\\n\",\n    \"        \\n\",\n    \"        #bucket info\\n\",\n    \"        positions = self.positions = tf.constant([-1,0,1])\\n\",\n    \"        num_positions = self.num_positions =  3\\n\",\n    \"        \\n\",\n    \"        #more vars\\n\",\n    \"        num_symbols = self.num_symbols =  len(symbol_list)\\n\",\n    \"        n_input = self.n_input = num_symbols * input_len\\n\",\n    \"        n_classes = self.n_classes = num_positions * num_symbols \\n\",\n    \"\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        x =self.x = tf.placeholder(tf.float32, [None, n_input])\\n\",\n    \"        y_ =self.y_= tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"        weights = {\\n\",\n    \"            'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),\\n\",\n    \"            'h2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),\\n\",\n    \"            'out': tf.Variable(tf.random_normal([n_hidden_2, n_classes]))\\n\",\n    \"        }\\n\",\n    \"        biases = {\\n\",\n    \"            'b1': tf.Variable(tf.random_normal([n_hidden_1])),\\n\",\n    \"            'b2': tf.Variable(tf.random_normal([n_hidden_2])),\\n\",\n    \"            'out': tf.Variable(tf.random_normal([n_classes]))\\n\",\n    \"        }\\n\",\n    \"\\n\",\n    \"        \\n\",\n    \"        def multilayer_perceptron(x, weights, biases, keep_prob):\\n\",\n    \"            # Hidden layer with RELU activation\\n\",\n    \"            layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])\\n\",\n    \"            layer_1 = tf.nn.relu(layer_1)\\n\",\n    \"            # Hidden layer with RELU activation\\n\",\n    \"            layer_2 = tf.add(tf.matmul(layer_1, weights['h2']), biases['b2'])\\n\",\n    \"            layer_2 = tf.nn.relu(layer_2)\\n\",\n    \"            # Output layer with linear activation\\n\",\n    \"            out_layer_f = tf.matmul(layer_2, weights['out']) + biases['out']\\n\",\n    \"            out_layer = tf.nn.dropout(out_layer_f, keep_prob)                 # DROPOUT LAYER\\n\",\n    \"            return out_layer\\n\",\n    \"        \\n\",\n    \"        if training == True: keep_prob = 0.5  # DROPOUT\\n\",\n    \"        else: keep_prob = 1.0                 # NO DROPOUT\\n\",\n    \"            \\n\",\n    \"        # Construct model\\n\",\n    \"        y = multilayer_perceptron(x, weights, biases, keep_prob)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        # loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"        pos = {}\\n\",\n    \"        sample_n = {}\\n\",\n    \"        sample_mask = {}\\n\",\n    \"        symbol_returns = {}\\n\",\n    \"        relevant_target_column = {}\\n\",\n    \"        for i in range(num_symbols):\\n\",\n    \"            # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"            symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"            symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"            # sample probability to chose our policy's action\\n\",\n    \"            sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\\n\",\n    \"            for sample_iter in range(num_samples):\\n\",\n    \"                sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"                pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"                symbol_returns[i*num_samples + sample_iter] = tf.mul(\\n\",\n    \"                                                                    tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                                     y_[:,i])\\n\",\n    \"\\n\",\n    \"                sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"                relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                            symbol_probs_softmax * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"        self.pos = pos\\n\",\n    \"\\n\",\n    \"        # PERFORMANCE METRICS\\n\",\n    \"        daily_returns_by_symbol_ = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"        daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"        self.daily_returns = daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"        \\n\",\n    \"        total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"        z = tf.ones_like(total_return) * -1\\n\",\n    \"        self.total_return =total_return= tf.add(total_return, z)\\n\",\n    \"        \\n\",\n    \"        self.ann_vol = ann_vol = tf.mul(\\n\",\n    \"            tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"            np.sqrt(252)\\n\",\n    \"            )\\n\",\n    \"        self.sharpe = sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"        #Maybe metric slicing later\\n\",\n    \"        #segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"        #partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"        ones = tf.ones_like(training_target_cols)\\n\",\n    \"        gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\\n\",\n    \"        gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"        #L2  = tf.contrib.layers.l2_regularizer(0.1)\\n\",\n    \"        #t_vars = tf.trainable_variables()\\n\",\n    \"        #reg = tf.contrib.layers.apply_regularization(L2, tf.GraphKeys.WEIGHTS)\\n\",\n    \"\\n\",\n    \"        #cost = tf.mul(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"        #cost = tf.mul(gradient , tf.expand_dims(daily_returns, -1)) #+ reg\\n\",\n    \"        #cost = tf.mul(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"        cost = tf.mul(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"        self.optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)\\n\",\n    \"        self.costfn = tf.reduce_mean(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 52,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class SmallConfig(object):\\n\",\n    \"    \\\"\\\"\\\"Small config.\\\"\\\"\\\"\\n\",\n    \"    symbol_list = ['C', 'GS']\\n\",\n    \"    num_samples = 20\\n\",\n    \"    input_len = 100\\n\",\n    \"    n_hidden_1 = 50 \\n\",\n    \"    n_hidden_2 = 50 \\n\",\n    \"    learning_rate = 0.00005\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.Session()\\n\",\n    \"# initialize variables to random values\\n\",\n    \"with tf.variable_scope(\\\"model\\\", reuse=None):\\n\",\n    \"    m = Model(config = SmallConfig)\\n\",\n    \"with tf.variable_scope(\\\"model\\\", reuse=True):\\n\",\n    \"    mvalid = Model(config = SmallConfig, training=False)\\n\",\n    \"sess.run(tf.initialize_all_variables())\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,75)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(m.optimizer, feed_dict={m.x: train_ins[start:end], m.y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        t,s, c = sess.run([ mvalid.total_return, mvalid.ann_vol, mvalid.costfn], feed_dict={mvalid.x: train_ins, mvalid.y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        t = (1+t)**(1/6) -1\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        s = t/s\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"        #print(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 43,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([mvalid.daily_returns, mvalid.pos[0]], feed_dict={mvalid.x: train_ins, mvalid.y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 44,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAXsAAAEACAYAAABS29YJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8FGX+wPHPM1tTSSGEEjooIPaGDYIFT0+x3p3tPBWV\\n8/Bs99PTOwuclbOcXbF3sWAHCyihCNIhQIK0NCC9brJ1Zp7fH7OkByKEDZDn/XrxYnfmmdnvbpLv\\nPPvMU4SUEkVRFOXgpnV2AIqiKMq+p5K9oihKF6CSvaIoShegkr2iKEoXoJK9oihKF6CSvaIoShfQ\\nrmQvhMgVQmQKIVYJIZa2UeZZIcQmIcQaIcTRHRumoiiKsjfs7SwngXQpZUVrO4UQ5wJDpJRDhRAn\\nAi8BozooRkVRFGUv/ZZmHLGLfeOBtwGklEuABCFE6t4EpiiKonSc9iZ7CcwRQiwXQtzQyv4+QEGj\\n59uAtL0NTlEURekY7W3GOUVKWSiESAFmCyE2SCkXNCvTvOav5mFQFEXZT7Qr2UspC8P/lwohPgdO\\nABon++1A30bP08Lb6gkhVPJXFEXZA1LKXTWjt8tum3GEENFCiLjw4xhgHLC2WbGvgKvDZUYBVVLK\\n4lYC3q/+PfDAA50ew4EQ0/4al4pJxdQV4uoo7anZpwKfCyF2ln9fSvmDEGJiOIFPk1LOEkKcK4TY\\nDNQB13ZYhIqiKMpe222yl1LmAEe1sn1as+c3d2BciqIoSgfq0iNo09PTOzuEFvbHmGD/jEvF1D4q\\npvbbX+PqCKIj24R2+UJCyEi9lqIoysFCCIGMxA1aRVEU5cCnkr2iKEoXoJJ9J8jIEBiGr7PDUBSl\\nC1HJvpNIGezsEBRF6UJUso8wKQ0AamtrOjkSRVG6EpXsI8wwAgCEQv5OjkRRlK5EJfsI03UryZtm\\noJMjURSlK1HJPsICgTpA1ewVRYkslewjLBSyeuEEg6o3jqIokaOSfYTtTPI+3/pOjkRRlK5EJfsI\\n21mzLyv7v06ORFGUrkQl+wjbmez9qsleUZQIUsk+wnbemF27VvXGURQlclSyjzCv11rNccOGqE6O\\nRFGUrqRdyV4IYRNCrBJCfN3KvnQhRHV4/yohxL0dH+bBw+N5FICRI0d0ciSKonQl7VpwHLgVyALi\\n2tg/T0o5vmNC6hpSUhI7OwRFUbqQ9iw4ngacC7wGtDWB/l5PrN/VmKbe2SEoitKFtKcZ53/AnYDZ\\nxn4JnCyEWCOEmCWEUO0T7SClSvaKokTOLptxhBDnASVSylVCiPQ2iq0E+kopvUKIc4AvgENaKzh5\\n8uT6x+np6Qf1eo+7s3P2S0VRlMYyMjLIyMjo8PPucg1aIcQjwJ8BHXAD8cAMKeXVuzgmBzhWSlnR\\nbLtagxZr4RKAnNyTuPaaRZ0cjaIo+7uIrEErpfyXlLKvlHIgcBnwU/NEL4RIFUKI8OMTsC4gFa2c\\nTmnEVM04iqJE0G/tZy8BhBAThRATw9suBdYKIVYDT2NdFJQ2zJ9v/W+aaqUqRVEip71dL5FSzgPm\\nhR9Pa7T9BeCFjg/t4FRVBbm56gatoiiRpUbQRtihww8FQKJu0CqKEjkq2UeaMJESJKpmryhK5Khk\\nH2nSxDDAMEOdHYmiKF1Iu9vslY5hSgMhwa+SvaIoEaRq9hEmMTBNqDNUbxxFUSJHJfsIk9LENCFR\\nVHZ2KIqidCEq2UeasJK9TbQ11ZCiKErHU8k+wspDQYygA4S6XaIoSuSoZB9hLvyU9gmhC1tnh6Io\\nSheikn2ExVJHSPWzVxQlwlSyjzQBhgmaWu5FUZQIUsk+wgQQkmBT2V5RlAhSyT7CpABdgiZUslcU\\nJXJUso84gSFBU5+8oigRpFJOxAl0E1RnHEVRIkkl+wiTaIQkmN3UdAmKokROu5K9EMImhFglhPi6\\njf3PCiE2CSHWCCGO7tgQDy6GsGFIsKHa7BVFiZz21uxvBbIIL0vYmBDiXGCIlHIocCPwUseFd/AR\\nUkM3wR5UX6oURYmc3WYcIUQacC7wGrRaHR0PvA0gpVwCJAghUjsyyINJMNVn9caRqtFeUZTIaU/1\\n8n/AnUBbM3f1AQoaPd8GpO1lXActLdz1UmixnR2KoihdyC5n4xJCnAeUSClXCSHSd1W02fMWzT0A\\nkydPrn+cnp5OevquTnlwEgJ0EzRNrUGrKEpLGRkZZGRkdPh5hZSt5mVrpxCPAH8GdMANxAMzpJRX\\nNyrzMpAhpZwefr4BGCOlLG52Lrmr1+oqnv5C8F0RXNszij9d6O3scBRF2c8JIZBS7nWPjl0240gp\\n/yWl7CulHAhcBvzUONGHfQVcHQ5qFFDVPNErDQThEbSqZq8oSgT91knVJYAQYiKAlHKalHKWEOJc\\nIcRmoA64toNjPKho4WYcm6a+5SiKEjntTvZSynnAvPDjac323dzBcR20Gmr2KtkrihI5armkCNPq\\neqB7BJoo6+xQFEXpQtTInggTQqIHo7CpT15RlAhSKSeCdL0ap91ADzlVm72iKBGlkn0ELVyYwOCU\\nCp6ecRtOu4nqiqooSqSoZN8ZdDu6ITDNQGdHoihKF6GSfWeQgoBuIxCo7uxIFEXpIlSy7wymRlC3\\n4fVWdHYkiqJ0ESrZdwYpCBk2fD5Vs1cUJTJUsu8MpoZpani9dZ0diaIoXYRK9p1BCroFotF1tTSh\\noiiRoZJ9Z5ACd9Ctul4qihIxKtl3BlMj5BBIqXd2JIqidBEq2XcGKfC61KAqRVEiRyX7zmBqCF3H\\nNFXNXlGUyFDJvjNIgc0UqmavKErEqGTfGUwNly6Qsq013BVFUTrWbpO9EMIthFgihFgthMgSQjza\\nSpl0IUS1EGJV+N+9+ybcg4dEYJpqaUJFUSJjt4uXSCn9QoixUkqvEMIOLBRCnCqlXNis6Dwp5fh9\\nE+ZBpiKJkNAwVc1eUZQIaVczjpTSG37oBGxAa5O67PXq512GaQMp8KtBVYqiREi7kr0QQhNCrAaK\\ngblSyqxmRSRwshBijRBilhBiREcHejDJ7Q9IDZ/u7+xQFEXpItq1Bq207iQeJYToBnwvhEiXUmY0\\nKrIS6Btu6jkH+AI4pPl5Jk+eXP84PT2d9PT0PY/8AGaTATAFfr22s0NRFGU/k5GRQUZGRoefV/zW\\n7n9CiPsAn5TyiV2UyQGOlVJWNNomu3pXw4wMq6Ur97pZdH/g7/h7X82lZ93fyVEpirI/E0Igpdzr\\nZvL29MbpLoRICD+OAs4CVjUrkyqEEOHHJ2BdRNRk7a0wvNFIzQSpEdS9uz9AURSlA7SnGacX8LYQ\\nQsO6OLwrpfxRCDERQEo5DbgUuEkIoQNe4LJ9FfCBzFkKvz7zKKbNBFMQNNQNWkVRIqM9XS/XAse0\\nsn1ao8cvAC90bGgHH2kDTBu6zQQpCKobtIqiRIgaQRtJGgjDhhluxtHNUGdHpChKF6GSfYRkZ1+N\\n6QQp7ZiagZACaagRtIqiREa7ul4qe6+4+F2IBgwNqRnWDVp/oLPDUhSli1A1+wiTpt1K9qZAD6pm\\nHEVRIkMl+0gzbJiajpAaAVWzVxQlQlSyjzApbZjCAFMj4Fc1e0VRIkMl+whoPHJYGDaCNmlNhBbo\\n2iOKFUWJHJXsI6LRVMaGVbMXpkZQJXtFUSJEJfsIMIxGzTVSQ6KDFBiGmhVaUZTIUMk+AhoneyFF\\nuGZvLUtYXf0LphpcpSjKPqaSfQToTRYpEUihgykwDMmqVSdRXPxep8WmKErXoJJ9BBiNJjyrcwgk\\nIauGH16DdvXqRZ0VmqIoXYRK9hHQuGYvwzV7YWr1vXSqq4s7KzRFUboIlewjoKTkFQCSPrPa7IUM\\ngimsxRwBw1Dz2iuKsm+pZL+PBYMlFBU9AkDSjyAk2ER4IrRwl0zT9HVmiIqidAG7TPZCCLcQYokQ\\nYrUQIksI8Wgb5Z4VQmwKLzh+9L4J9cBUWrq0/nFaFmimAEewSTOOSvaKouxru0z2Uko/MFZKeRRw\\nBDBWCHFq4zJCiHOBIVLKocCNwEv7KtgD0ebNG+ofS6xkn3hyIVTHExVlLV7icFQTCqlVHBVF2Xd2\\n24wjpdzZoOwEbEDzrDQeeDtcdgmQIIRI7cggD2TBYEN7/AK+5dAtUbi6VaGVJhHjqgOgd++trFgx\\nqrNCVBSlC2jPguOaEGI1UAzMlVJmNSvSByho9HwbkNZxIR7YdL2hicbEDYDD4cU0HQhDr9/n92+K\\neGyKonQd7anZm+FmnDRgtBAivZVizcf9q0lfwgzDmsY4Lrthm2YLEdI0NGnrpKgURelq2r1SlZSy\\nWggxEzgOyGi0azvQt9HztPC2FiZPnlz/OD09nfT09PZHeoAyjACzf4CHH2340ITdRLeBQ2v4+Bcu\\nhC7wcSiKshsZGRlkZGR0+Hl3meyFEN0BXUpZJYSIAs4CpjQr9hVwMzBdCDEKqJJStjpKqHGy7yoM\\nw0+/vgOA3IaNTgOJAJsgEID//hcuv7xHJ0WoKMr+pHlFeMqU5il3z+yuZt8LeFsIoWE1+bwrpfxR\\nCDERQEo5TUo5SwhxrhBiM1AHXNshkR0krGacZh+zw5r10iZA0yD9qovQ5M+dEp+iKF3DLpO9lHIt\\ncEwr26c1e35zB8d10DCMAJhNb40Im4mUAicmNhtoZjlCM5FSkpNzHwkJ6SQlndlJESuKcjBSI2j3\\nMdMM4Teb3r8WwkBKDafNQEowhYkQJl7vBvLzH2bt2is7KVpFUQ5WKtnvYyHDj1FZ3mSbZtORCBx2\\nnVAI6vQahDDJzd0IQF6eGmClKErHandvHOW3y8gQ9O8Lp2U03S6EgTQ1HA4r2cv6mn0VALruiHyw\\niqIc1FTNPgL8vZs+F5qJRGB3GOi6lexBEgxWhUuoa7CiKB1LJfsIMFzNNsTWghTY7Tq6AQ7dR3JK\\nHaHQbQCUlMRGPkhFUQ5qKtlHgGxWUd8elYSUAodDJxANoVyTmCizfn9yclKEI1QU5WCnkv1eqqys\\nrJ+quC3NZ0UwsAMCm8MgJMHTbHYJm03NNqEoSsdSyX4vJSUlMXPmzF2WkXa454yG537cSKnhjgpS\\np0NFdUPVf+NGAL3FORRFUfaGSvYdoKSkZJf7s+fDY6c1PI/CasRPSK7Bo0Oet0/9vtzc7khp7JM4\\nFUXpulSy7wBCNJ/0sylPvvV/aXf464cV6CIGR1qutS8EAWkdv24dJKechBChfRmuoihdkEr2HWB3\\nyT4YbrO3heAh5z8p1EZihqy+9NU66OHDTdmNz4SLWmr3ZbiKonRBKtlHQNAGw7cNxyYlNlsQXSSB\\nZt2ENSQUD58PgM3p5grHp8Tbq3Z1OkVRlN9Mjd7pAG3V7CsqYPNz3TBt1bz42osAVNtCOKNiEHar\\nqUZKK+EDSBPcLnC7zFbPpyiKsqdUzb4DtJXs46vgb3nVhBp1vbTZggyNigWb1eMmYDYke11CVBTs\\nplVIURTlN1PJfi/NnQtud3ar++I1EBL65Qyq3+a1OekTnYQIJ/uPCsD0WAuXVIUMbDawqdUKFUXp\\nYCrZdwBZW9j6DgGYkBBs6Dd/s+0Zoh0x+HIOxe9z4Q+6MGZPBSDeKFPJXlGUfWK3yV4I0VcIMVcI\\nsV4IsU4IcUsrZdKFENVCiFXhf/fum3D3T6GiQKvbpbBq9jajoV0mpNmwaw5qlqXz9uOTQNMxg1EA\\nmCYYZd2xq2SvKEoHa0/NPgTcLqU8DBgFTBJCDG+l3Dwp5dHhfw91aJT7ueSi9a3v0AAT3I2mQ5AB\\nDw7NBUISI6JBM0h2bAZAN+xMKC/D1nzitEaklNTVrScUqqS6elEHvgtFUQ5mu032UsoiKeXq8ONa\\nIBvo3UrRLntb0VcX1ep2GW6zN7SG7P3H8jk4bE6kkKBJXnj1JfrWxgAg7Bq6ZJc1+9ratSxbNpKs\\nrFtYteqUDn0fiqIcvH5Tm70QYgBwNLCk2S4JnCyEWCOEmCWEGNEx4R0YPP7WFxuRGmDAPw9tmBhn\\n0qi/4xBOq4lHSEZsH8YIlzVdQlpvHd0E2y4um5s2rQJg1aoFHRa/oigHv3YneyFELPApcGu4ht/Y\\nSqCvlPJI4Dngi44Lcf9ntjXrZbjNvjjFU7/J7YrBYbOacRBWf3pntBuApz/si4nV9TIQKGr1lLW1\\nO+fhse4T1NQs7ZD3oCjKwa1dg6qEEA5gBvCelLJFIpdSeho9/lYI8aIQIklK2WQx1cmTJ9c/Tk9P\\nJz09fQ/D3t+0XhWX4Tb7qT9eDMBnF8Htrlg0zQbI+sNcpvVjKDw1D3ygCVi8uBfp6S0vIj5fOS4X\\nDBhgXQxWrPgLY8e23vVTUZQDT0ZGBhkZGR1+3t0me2GNGHodyJJSPt1GmVSgREophRAnAKJ5ooem\\nyf5gYoo2ZqkU8PHQgfRbbC1G4prwAtGul/HbTKSgvmafFLJq6f5mp5HSQIimDfh+v5Xsd1qxooKx\\nYzvkbSiKsh9oXhGeMmVKh5y3Pc04pwBXAWMbda08RwgxUQgxMVzmUmCtEGI18DRwWYdEt5/buWhJ\\nXWxZq/tDdpg1/LD65+fGfIrb6cJljyHkNHCFFxaPDQpuWmKnPNjs+FDLCdEa1qkFw4CoqD4tyiiK\\nojTXnt44C6WUmpTyqEZdK7+VUk6TUk4Ll3lBSjkyXOZkKeUv+z70zmcYVlVcb2utEQEQ1eSp2+7E\\nqTnwx3iIDSYAcExWNya9aM2dw/Ib68tXV29uccpQqJqqcL4vLxfExLR+c1hRFKUxNYJ2L+xM9kao\\n9Ru0frcLb88zmmxz2Ow4hcCpe5B2d/32kflDrQeFx9Zv27jxPoqK3iM//7/120yzkpISK8H7fA6k\\nbH1Al6IoSmMq2e+FnclettFV0nQJdFs/AB6YDMs4Dk1oRNtsSAxsZsPHX5YMbLgApyeaz9YnA/Dj\\nj5WsW3cjW7f+03odKUlLW055eRwAXp8NKZu1/SiKorRCJfu9UJ/sW6nYS2niIgB+FwvP8vDvMeN4\\ngUkAaEIQtINL1wg6YNqNkNO/GgwnMXqAaWt68M03cOyxJna7r/6cfn8+wSAUFlr3vrcV+ACV7BVF\\n2T01n/1e2Jnsg9LdYp+u1xHEiSOk4XDX4SREHgPq9/s1DYeuIaTkj4s+oTJ4JvHSh/S50FwBDjlk\\nBDExDX3o8/Iepby8nFWrHRx5pDUXflwcWLNZKIqi7Jqq2e8FPXxntmhQvxb7amvL8BGFIwS6I1z1\\nz/+gfr8UBpoU2Axwmj6EtOEOuvi8MI0/rjwfs9lPJifnX9TUPElZXQpR4Xu+TicEjcp98t4URTm4\\nqGS/F3Q93IQiWrbj1NVVhGv2Dcn+pZEn1e83kdhDDgwb2I0AuhD0CvQHYNyWcwnYCgDYsaPpeStl\\nf9xuePxxcLlA4kNRFGV3VLLfC0bISvaClssI+v21dCuzM/EVK9n/j9uYePQ19fvtZgwOXwJBJ/ik\\nHc3UsNu6AVATLwmUWoOSN2xoOs1Qn+MGkygTOGO0Hd0Th6Z+goqitEOXThVer3evjg/6rONbS/bB\\noBd3bXjQVGEcX3FB0+ULTQf2kIuQQ+Iw/AhTIzYYD0DIobNmDdx8Sy/S0m7kttvg/PPhscdAlsPp\\n66rIyj2OV10eNK2NeXkURVEa6dI3aGNiYsjLy6Nfv5Zt7u0R9Fq1b5ut5U3SUMgHhjXVgdPX8prq\\njq3BuaMPIaekOibAoMxoJm89yjpvtyomTIDyIbP5fY/BnDrmdwzs149ffvmFr1Y+A8BGagia4LSr\\nZK8oyu512Zr9zpurZWWtT3XQHoG6OgDifc4W+0IhH4Ssmr0jBPFLLm2yPzquCrcBut0kM9XfZF+U\\nP4CmQUnpK0zc+At/rVxPVFQUY8eOJbTdasuv9kmK/JCSYiJly28WiqIojXXZZF9RYfVVLy8v3+Nz\\n+D3W3DWJHjdbtmxpsi8YrAPd+uJkDwmq/9n0oiKExOWzEXSZxNijm+yT0s6WjGOJs9k5q+Jq/uO/\\nBIBafxm11da3hcyB2Xh0qApBVdWyPX4PiqJ0DV022e9M8iUlJbsp2TZfrZXs7c4gmzc3ncfG56mt\\nT/Zz/9TKguQSUoud+KMDDHAPqt+84MxiQsLG9WIF86pK6IdVk9/myWHFjk/JqU1tcpq5a+2sXDl1\\nj9+DoihdQ5dM9qZpsnXrVmDvkn3AG072jiB+f9OmmLrKsvpmnFNGPtfiWFtFLwB0Vx3OKOuisOIY\\n6OdZgT08G+blgQ/ry29eMQiZfxNVIVvD/AzeZOqqu1NQoOazVxRl17pksn/00Uc577zzSElxUFvb\\nchrh9vL5rd44dkeoRbL3V1fU1+xjRMtePz6X9dHb8eByWck93l9GimcbUV5rRK7PE9PyOCRUDLGe\\neLtTGhwK7F2vIkVRDn5dMtnPmTMHgI8/DlFdXbWb0m3zh3vjOFpJ9t5qD+h2im96u9Vjbbr10Qtp\\nYI+2kr3UDBL9xUT7rNVJPvthBLnrh7BtxbD640rT1kDhMdaTuhRChh8h1MAqZfekNNB1z+4LKgel\\nLpnsMzIycDisG53eij1PlD6/1RunW59C/P6m5wl4fXidNoJHr8NnRrU41uazXj8Y5ccZF156SujE\\n+6qx6eHY7D7+tamWP9duYHlNFFOyL6YqOQ/W/9E6R+ERBEwDm01Nc6zs3vJfp7BwYXz9ojtK17Lb\\nZC+E6CuEmCuEWC+EWCeEuKWNcs8KITYJIdYIIY7u+FA7hmEYxMXFMXjQoQDE+Ir3+FwBn5XgEwfn\\nEx39U9PXCfmQup137dfyceFVLQ8OrzvbS36AO8bquik1A6/mxRHSYNU1LNvWl8JEa63Zt78YTHBe\\nEQmbTkQrtdr7bWX9qdM1HA418+WBQkpJcfH0Tkm464qXAFBV+2vEX1vpfO2p2YeA26WUhwGjgElC\\niOGNCwghzgWGSCmHAjcCL3V4pB1k06ZNpKSk8Ob/XgbA4Wylp0w7BRrV5vv2/aTJPkP3IUJ2ymzd\\n2dCre4tjd5y8iHsegWO3rMGZYHW9FCLAD0N82AwgFEPOsd/Ul1/Xfx2Lhi/Cl3smPQLxOENO+lX2\\nxGsKHI62lspS9jem6SU7+3L8/tyIvu6y7LsYKH8AYHvFkoi+trJ/aM+yhEVSytXhx7VANtC7WbHx\\nwNvhMkuAhPAi5Puduro6+vbtQU6u1UMm1l2Jz7dnTTn+QNs1atPwInUHzrJMBodWtdj/p42fkfHA\\nOEJn6zi6WfcNQg4/vp7dcIQECY6iVs+buuYvfOgp5foXv+TVLf3w6IJu3XQMw99qeWX/EgpZXX59\\nvk3oejV+f0GHv0YgsKPJ74OUkrrixwFYVgHF25/BNNXU2F3Nb2qzF0IMAI4GmlcN+gCNf2u3AWl7\\nE9i+4vP5OOWkWHoNt2ri0Q4P0dHRuzmqdcFA238w0gyAbuOPdXHMOuc/LfbbQhJXKMSOqyW2RKsb\\naIzHwYhDTsARAhkfTvZZlzQ5rqdhjZZNFT0AqMPAZoPFi5tOmKbsn3Yme78/n82bb+OXX/pRXf1z\\nh77G4sV9mLfm+vrnyzY+CsC9q+18thxswVV4PMs79DWV/V+758YRQsQCnwK3hmv4LYo0e96iUXLy\\n5Mn1j9PT00lPT2/vy3cYr9fLiSesrH8eH73nNzdDZts1eyFDiJCDfknJJEYltti/5MqeeHU30rEd\\n025dNLb3SGbUkCHYdIFcNxoqjoDNZ8OIGTDrWci+mH4pZZAPg7B+BDcsHQ9Xr0DXc/b4fSgdLxDY\\nwZo14zjhhHVNtodC1kjq/PxHiIqyutBu2fJPjjlmYYe+fm7pvPrH+due48utGj//Q4dLYXPtYEYE\\ntnfo6ykdJyMjg4yMjA4/b7uSvRDCAcwA3pNSftFKke1A30bP08Lbmmic7DuLz+ejW6I1VYKjEtyu\\nPf86a+hN28q3br2HQYOsWlSv4UWIHf1ITmz9I/bH2SnrF0s0sNUWoBeQZn5Mj94XUQ58uWocY1el\\nAzkw2WTntXR430wgirQKq4afaDbcDzDNIJrWcp6e/c0fPvkDeVV5LL1h6e4LH6B8vi14vetbbA+F\\nyqiRPcCfg8PRg6ioQ6ip+Zk1a37HkUd+t1evaZhG/WOPYf1ubt7xGd1tRXz8KGACAcisCtGvciPj\\nevz21wgEiigt/ZS0tJv3Klalbc0rwlOmTOmQ87anN44AXgeypJRPt1HsK+DqcPlRQJWUcs+7uexD\\nP/44F1sVHP8XGPwyuNzG7g9qgymbJvv8/Mfw+XIoL/8OnH7kjt5EOVpPvn5bFEaU9dr28HVxYGk+\\nsUk968sIKoAUrERvJffYZjNs5g9P4T9Toa4OSkp+2eP3EimmNPk061OW7VhGyDh4240DAevnZRhN\\nB7zVeAvYUFGC0LoRCOTRvft4ACorv0fKPf9dBHjom8N5/Tsrg/t06/Wzcp5h1rY4ggV2pjz4b6iF\\nsmA+BZWZ9cdVVHxPRobA78/b7Wvk5NzD5s1/36s4lc7Rnjb7U4CrgLFCiFXhf+cIISYKISYCSCln\\nAVuFEJuBacDf9l3Ie2bBggXMmDGDRQt/xl0GMflQ64Go5D3vySLNlrNNLlkyiLVrz8HnicLYOgTh\\ndLR67DZnbz4/1WpCSjHn87cXIDq2BEdCUn2ZFLsAYsPPrB+Vw9QpDVfmt/eGQ/PrcKcdTVZWItnZ\\nr+/xe9kXNlds5vS3T2+yrTZYi0OATcA3G63eRo8ueBQxRVDmbf8MpDWBGtYWr+3QeDtSdvZ8AILB\\npr29ikq/ZEsdBEwIBosQwqoMREUNZc2as9i69V97/JrHRm/gkGjrWyvhAX9RgfmszUnm0vvvZ8um\\nn+AnqNoBad7P64/LzPwdALm5/yEr6woCgdZ7qAUCOygqegtoeRFT9n/t6Y2zUEqpSSmPklIeHf73\\nrZRympRyWqNyN0sph0gpj5RSrtzVOTvD6NGjufTSSzFDAUQQDr0ZnuvrJHqYnyefHIKUkjfffLPJ\\nMUcddRQ1NTVtn1TqYLT+EdqcoAXtOB0tpzwAiIvqzqCE/vXPsyaNxdcrHkdMfP228+O28dT9AXrg\\n44orYPZs6FUYzdbBVg2wLjaEI+CkVjfRtKMoKNi/avbLdyxnbu5cAPy6n7Sn0pi6cCrPH+Nk9mkw\\nN3cuF07/bJglAAAgAElEQVS/kH/9ZCW4acun1Zc95/1z6s/z+M+PM/rN0U3O3e2xbhzx8hEReid7\\n4n4Aqquzmmw1vIuo0cEhqwGYu/VbUlP/TFLSOVRVzSU//9H6sk8seoI5W+e0evZbPozn67UNcy4t\\nyP2R2PDaBg+8D6N6+tiy7W18Biz7yk/OnK95553FIKGk3IVLC5KZeR6FhW8AEJ9yJUVFb1BS8iGL\\nFzftbLezZ09NTcPvV0HB43v0qSidp8uNoE1N8GOE4OSznqdkqzX265hjNlNQUMB1111XP7/9bbfd\\nxpo1a8jPz2/zXBoSAtbo17Sm3eyx2SU2vwNbt6RWjoS+0Yn0T7amQdiBNUgqLa8KV0w828N/a91H\\nltPt6RW8Y1vK++/DkPhaela42TrcqnmV9KrDNF2U6RoDBx6Fae75PD/7gtNm1Vqr/FWsLFzJds92\\nHln4CIfEBhECfi1dS3ZZNiN7jGTOn+fw30X/BSC/Op/vNn9HyAjhC/m4a85dLMhfUH/e4tr9soWw\\nVRs2jK9/LKWJlIKPC2DnomU3LVrFYysXYJpNa8q6qVNdcCezM+9scU5vsJaLe3nYnHM3ADPXv4SR\\neyYAl18O89+zyhVsvoZ4B1QX1LFivjUN9mnpsL0kjgmLDievYiG//joBgAnll3LccWtwuwc0eS2/\\nfxsLFkRRVvYNhYWvMnDgIwwd+iIlJR+rkbgHmC6T7HeuRpWaaEMPaby1TSN12D/r9z///PMATJo0\\nCdM0eeYZa0WoXc2KKTEhaCW0wS833RcdH8DpdRAzqPXhBg7NgWHqhLDzMn/lmS+OYfr1J+J0ugke\\n9j++OxsS8xwMqgniMiSvTyhi+vgcFo+CQeH56/0JpbhMQbHdztaSD9G0/auv/bacxTzfDxKnJrKl\\nYgsDEgYQY2vY7/JnMCoxwHOHFWDLPxOMGq778jqKa4sRwOqi1fyw5Qe6O+GoBNhYvhGA4rpizu7T\\nkyv72Tst4ZRXryQjo3kHtAaNW/i2bXsOXfdgGF502bCIZYFXIyRhzrZc/I5jmxyfWbiUM1LhjPjV\\nTJ51RpN963Z8D8DR8V5qAjWs+fU2AG5/NIaiIsAPWxpd9wcMHgjAOw+dygW/3kPRhjI8nmIKbNbY\\nyLHzYMOSfxAbewQnnLABTYshGCwFoKjIahpct+58Kiq+IyXlD6Sk/AGvN4vMzLN/02emdK4ukezX\\nr19PMGh1kxw+QiArNcTN93Hhp+76Mo8/bn0t/fjjj7HZrIyUlJREYWHbI2w1TdYn+2XJAwDYsMHa\\nF5fkI4id1OTWk70QdkDHhoEfN3HCA4l2li6K49rZXzG4aCsn5jfcwBz8xgZGFZdT2L+UcautbnWD\\nSzZiNzWCTi/xWhE2W8dPm7ChbAMZuRmYe7AaVlneYg6z8gw3fHU10w7P5boBUFQE06bBkFi4rGce\\nmFaTxgW94c3Vb3LLzL/w0xg44bUTWF20mn8Ogv8dCdPXTQegpHYHdw8p4vqBOqXe0o56qy0YpsGP\\nW3/klRWvtNi3ouDbNo8zzSBSwjir2Z7Nm2+hoOBJDMODPyRIXZjKlHXw32UmLIUdfjjq3ZtI7Xkd\\nuq0XR73Qj1u+ugAApwbp0T9RF2zI3uuL5rIkfC915eJunJwU5LbnE1n9Qx3XXnsxAAszrQvRO3nQ\\ny5bJhL/2JPPLvhxbOI4eejyl7hKWlMfxTfBkAPR8a1yHprlwOlNYtKgHNTVLyM2dzNChLwJw7LEr\\n8fkSeeP9TznmmCVUVs7e65vKSuQc9Mne4/Hw0ksvcdllFzF27FGMOLEA+a1GXLfD65tg2tKnz3EU\\nF7fdZCAE9XPWZw61+kxXVh4PgGaTBDUbMY6Wk6BZx9rQzDqCOPn3gEMIOnTOO+0iAEpPA7e39V48\\niY4fcYS2c9W7EOWvwGZohFx1OJ1gt3d875bx74/j9++N5cF5D1Ltr273cUEjyLwCa7BQTxOGxlqJ\\n6+I0q+fQxo1wZmoalXoqX355GpMmwXUDYXR3CFZaYwbcGryyZDLHha+XD89/gNyqXMo91twu1R7B\\nih0rOvYNh1X7qzn2WTuTvjiTdxZPbHGxKytu/WaylBK/P4+gCSEJk+6ztmuaC59vI8W1MH3OdNas\\nTWRdCGg0eHtmfgF6sJCnDyvgoeFl/Lwa3pnbDYDVhRn15bILPiNnR8NxP+SksvbzSi64wMXVV38G\\nwJefSO5a7ObNv0JuLnxuFJG85VQAxsUlw4fwweq5PLl4EQC608uXX3+JEAKv1/pWu3LlKGJjj8Fu\\nv5hTT60hLu5ozr7vPG7Kv4m4uOMAmDfPjs+3dU8+YiXCDvpkf8opp/DCCy9wwQUvcf/9q4mO81Jd\\noZPY83yQTd/+2WcPqz8GkrjxxlpKStqu0WqarJ+zvnt4muGkukOZ/4N1U1Y37QjR+ld9TdixmR78\\nuHFrTnS7CeEmjvm39KTWbY3qfW1CwzF5/eC8NfMpdlTwl4z3MIQHu25Dj6rB40rE4bSSvWF4d9nE\\n8Fvc3LuUmafC56snc8H0C9p93EcrPiJ2jfX4w7EwKiqOHeEE5XTaOeywPxJt20ZvVzGzZi0gK3wf\\nc8ph8MIp1uNpp17C0EadpW4fdgKvr3ydBZu+ZONGiHJJftnWvsFItcHa3/TtZPW2mTx9FLx8DDw0\\nEpZtbzomIHu7tWBM82akqqq5LF16CFHhTlhZ4dEnDkcKfn8BhT7r92Vg5UBwgPCFf06Z8Mjy2eQ1\\narp/83l452HrArupwno9j7+Kc1MKKdmeYMVZ6uTR64qZMeNzDjvMYOZM69jK1bDsX37wQ0WNmwfm\\nTGJUhTXK2mUOgV/BzA1/HrOBeLjwoQuhL5xx9gUMGfKs9bnVrqRnz5688sq7nP/YPaxItW7SVlfX\\ncOqpVcTHj6K4+L12f65K5znok31ZWRkzZsyof65pJktTf8+5fa0aeN4djyB0SE1N4e67N/D2Wx/y\\nySefcNddFzBy5CL8NW3Pdy8aJXufy8WRt8Ggx4KcXWz9EQVqW46crT9W2BCmhwBunDYXIx15lG+x\\npi7OdA9H7/str9y2lQuznuS5m+EfzxVyzdtw3NpsMk5I5uHXX6fWHcIRsmFEVzB79jDcLut1Kyqs\\nmSsyMgSbN+9dr4kU07oP8PRRMMycx1OLn2rXcd/O/JbejTp1XDnMU/+8e4pB6JCGJrQzzpjAJ6tX\\nNzl+1SroJ2Zw74nWuIP334cTojbyyIKHWLlpLuXlUFklKK1pOnDJMHxk5zXtgur1bmbu/Dimzf9z\\nu2IHmLnsyobjZTfmb2p6ThOr26zHu7HJ9hbNGofCjxlgs0VTXjEH/Na3yV5+66a8LEmDhwAJlSH4\\nOJys77kHtmyBuLg4luZB36q7qAvW8uqiGwGIqjuF62+CR261mu7s9ot49lmdJ56AoQxlWK+GXl2x\\nw90ckWMteL+cRI6rtO5fiUwBvwLLsf4/F5gA3A3JyecC8NXsw+BPMOkfk/hm1mP153zwoQex27uR\\nmvoXcnMfoKKi9V5Dyv7jgE72Ho+HBQsWtLk/GAxSVlbGeeedh99rJWVnEZy+9A7+ONv6oyxzxSDt\\ncNONVs8cyRRefDGZc86xumHaPG0342gCMMJzz7vdJK6Bs4yP6Vtk1fJDZtujWTVs2MxagrhxaE2b\\nk2odQS5a8BofPD2BSxZ/w3uvnM3yv19B+fjx/DDMjj7G+jpenuYhucyJI+Tgm/6LcTggGCyltrah\\niWHVqvvajGFX8vLy8Pl8mBJ++slKzJcNglmbvtnNkZZt21dw5ZVNb1QCZGfDBq9kuvEOF18M/7hz\\nONVjz+ayylJME55/Hs47D+540Kq52u1F/LwItvW+Hr+nmvNSYFT3oXhFEmXlMNbddNTpnPUPUpxz\\nfZNtS5cfT5wdBhsf7DbumkANT//8IOf22rnFTkLSBRQVT8cwDU6cNpTs0mx6xVoLzK/Isz6P3NwH\\nycq6gsxMa9I7vy6YO9nqdmr0gVmZMygr+5SSHVYFoFdl+AU8LtCBVdZXgZ8Ww+9+B7+EezlWVXl4\\n/E7w6Dae+PZwPN5Mij2weulMtmyA+PhDycr6C4EA7Fx07RVe4eyyhmm1r9l+BQDncQoCSY+aHnz9\\nNfQoioUP4bgjU+i9rRfs7FFmh9EX/Q3D6MfHS9bDcOBu4AzgLavIU4ufwu/343AkA5CZedY+mdRN\\n6TgHbLJfu3Ytffv2ZfTo0fU3XxszDAOXy0UoFGLRgg0kVFrtAbG5TcsVJibS61MYc7o1/Wv//hs4\\n4wwr+ToqIFpru+slmqxvs5d1DfO+9ZoFq6ZcZzXNtHWoZqeHnkWtSMLRaIqDTA6nl8tGYXgslQCi\\ngkEEkOTxMPNQGxedZtXuBvWOZ+OhJuMyz0YCDgcsWtSD7duvqz9fdnaA7GyrCWDatGnce++9bb+f\\nRgYMGMDvL/w9bhe4o07ng3CeHFU1b9cHAjs8O4g1N6Ibdup02LHjFlatGk5h4c3cdgfcFZ4uptKA\\nlcuz8VbcgDHvLM4cDzNmQJ0J3FrFuHFw330wpbQX32mvsWhJD24fAeMP2cSy8ihqnTZSXAEWb2iY\\naC5kWs0qutHQGL6pxsObudY9g/s/FmQWtj7x2KodS5md0Y2jQlYf+Ze/PIk/zezGTV/O4syUWhbl\\nZzD10M2syX2TkUlWYisu2gZAfv5USko+xDCsJo2ZK6wbDQlfpBCKhVTxBdKsoyDTWlw+fusQ+Azu\\ntU1GjO0DlbGwGtgGMTEJ9OnTgx7h6QzKSuGlTwYxplsuY2J/5cnnICsLevWCWyf9ypw5b3PppeE3\\nEe5glhQaQHIyuHEzsmA8r4oBfMEidARJO8ZRMudkRo60rg6PTy3lqTs1Bl31KDwCBGH5yh8484/5\\nbD8NCN8WGbHuCO65/B5YD4yDmbNmkpT0O4YMsQbW//JLv93+biid54BN9i+99BLV1VZ7ZmvJ/skn\\nnwQgOvoM/vvkcuLDa3LLsgQqE6yEkHtyAYl6NKlt5C93MXSLaX2qYQBNAwp7wdS7ePOUk+q3C8Bm\\n2AnZ2+6p4AzlIZB4tFQctoaa/SzOpYc7Gnv/Aa0eZ7/6GlL7DiflThiYmELmMTUMWzcJAnFsyrXK\\n6HpD04LdDm+99RYAf/3rX3n44YfbjKmx3r1h0by5RLlgxPBZXHnlJfwwOx6XblLhq2j1GFOa3D3n\\nbvpc14e+DsjOSWD8YhgxYi1/uyWTpQnbOWTMCKTXRa/iwRx90WEM/GcMXxRZP8cel8bB88+T/Lm1\\nlGNo5jek3f02oQSrR9RRxzZ8xt/HbueRIusCHih6gB8Wn0xGhiC2ympqmLf2NoLBMgzDTzennb+N\\n+RiA03vAF0uvrW9r/yXrbipqMtH1agq3/pXkRl+yPkpYTElsOZmyDK8Ob86z+rJ/mvk0ugGLyqG2\\nZiZLlx6GrlsXF5ttLd8WwdyNVo131MYL6e6C6PCFP2rHUCpwEL3jEI7IPIIzivowde43kDIAvgAq\\noKKiiu3bS5hwewLPvGHdR/rh1U28n3sqnqDGstlWfIWFMGAATJnipt+IfqT8OYXUgHWRMTmU8nK4\\nmqtJw8VIWYMdyRKSqRQ2Kuaa3HHHBUydap1rfXU1W+6+m7U7yhBeAZOAPwAGMBN4HXK+3ciECVfx\\n6d0vAHDjir9jt8eRlnZr/Ujg8vJvCQZLVB/8/dABm+z9QT9EA87Wk/3OyYP+dPFZ3HXXBByb4PB7\\nYNvco6joocPcsQTGzSPa4+Lfhze9mdnX6uFHKASx9rZH0ErND95o+O4cHI4BTfbFhhyY9rZ/4bXw\\npKCGLbm+GWceo0mJHoTTKMMbZzWd3NwwkJTHT4Y/HP8Xesb2ZMDQ4zCHDuGkDctIssXA+j/y/YaE\\n+rIbN8KCBZdx8smQmlqHlJIrrnBx883WnP7Nm7/i4+P58MMPEUJQWlrK++/DE0+AywVRl8xEFs+n\\nfz83px0DxW00bb3282tMPWsqfAojRkCgOpwAKuby6fQePL30c7Yem4NR15/Cnx/AEa0h67ozauMo\\nXnrpZYoHeoiLmYMstMYRkPcG0+s2159/vc/6lvUf6zpOTU0yL35gNWk5A4spDUBZUCPfSMFW9QqL\\nFqWwYEEUPZwB7rv7SbYX38s2YwSju23iw6W3YZo6/pKpzFx6CQsXJhCtr+JnbzqjRwd5c16vhje2\\nEZJdcHV4wPPNg0PYbeDToU9sHl5vFprW8C0uqwbu+fweAEZ5b6F7o9a8iYsvw0RwPIncGa6GH08V\\n/3JY3wiOtHpCcuut8Km9itmuAXTvDldccR6vXbuQ667pTlIS9D7RKjd+PJSX+8kfk89TXz3P9Ket\\nX95orF48F2NNkZ2Gl7hfRlB2UxE/yx7EbxvNo5u+YsDhbpZVwOlptZSVfc0A13Z6fxUFvwC9AAEP\\n/QdiKuDlF/0UFBxGcs0k4r7oTYWzkCq/dU9rzJgAPXtOYO3ac1m0KJWSkt03mR0Iqqt/Jhg8cAbx\\n7coBm+zXRK+Bu4C7mib73Nxc7rzzTlJTU/n66685/yLrhmLZZjfJv0C+rQem2yof22cjqXkxbA5+\\nhM1aTpZRl8FAawQ5gZAg2tn2wiYutwk+q2ulOzye6YF063+bdGI42m7GqQ5ZLxhjd+HUrKagEA5+\\n12MYLrOcqZek0vsO+HFsP46/AcRkuGscnJh2Ii67i2U3LMOemIxbL6e7Xgdbz6DOaJiXf8Hy47jr\\nricA2LjxBT788ENuuCHAJZfANddcw+jRowmFGrpqejwerrjiCpxOmL/A6iA+ciTkFMH9l0/B9+e3\\nGZR9LLW1kFuwrNX3NPGBibjd8NBDcOSR8EWNVfO+48s+FG1PRjM1vE4fBOMg/zSWpq5FFwZrFkzi\\npuKJVhx5X1CR9zx4k2D7Z5D9oHXy+f/iucJtnH8BJJ90L2w7AZy1rM0OscE2gXW2ifzhbMm2mPlc\\ne6V1IfWEYFYh3LNYY/aIJVz16kOcd+LnVNmOp7fvWebPtz73FM3qtH7NMjh5+P34fEHeITy+ohxY\\nDY8tc3HosPf551rQpZN/rLBxRipE2VtWNMqD0KeyDwAjqCFUa1Umns7UAMEjTwaJBySD6o85K7sE\\n7dT7sZ3Vl09n2Dnz+qfYUqPxzcbvOHqsnQ8++IZbbvk7ZYUlVFSA0XcgDhwITcBfQSx6k97VKQC8\\nyGBOQNL/kP4INCYznBMmJjK1xMuCP9bidoToXjGM7t8P4E9L/RR+YaWBdevGs3z5kbz2ghfCnY96\\nrYJrr32Zb76Bfo1aaQZKa4KmxKmJ/Jhndd885JCGkYXZ2VeRl/dIi89G13cx/ch+JhDYwapVp7Jh\\ng9UsKqVkzZqz6+cFKix8A8Oo68wQf5MDNtnn11ozRWp28PmsP7gJEyYwcOBAnnjiCXJycvD7EoiL\\nLeO0c+Arp/W1usidTMhtJaHorX56FwrumZHCIU/CwNcgUAVXnwcnXwgy247d0Xrfdb/fj9tp1Cd7\\nV401uGdzErx7BBjarpO9kNbVoTbmDJw2qxbf2xVPn6gEhOnjujG38dfxU3j5D++wvA+8Pv51Cm4v\\nQBONfmTDhhHvLyM6KIjVvZQE4+p3XXvZcn5a/w/A6tf+/vvvEQxax3733aeccgo89thj1NbWIqVk\\n7lz4/e/h++/hxhsuJTd8q2K1387SoUu59Zpb2TD/OKqqIK+w5dS9AAO2wrffwinhrpMr7Nbo48yk\\n7fyfbzNmuPYr4rZx5ACrN8u25G34qk7H3Xz20elfNjz+5RZYcivxLjhp+mRWVK/A5U2Aqv5s2LKE\\nJ1eM5G+nvkS+38+7v/yAeVoZzmHZ9Bm5giMOe5clM8PzE50Gqd0PZ3jP1ygMuHk/H6YXgFsLMXUD\\nvP77OZzz6DnEPhG+YfI29HiuB5fE9OP7qgBXffA6SyvgrGeD2FYf0+L93x2ely2v0d9/CkE+e/9G\\n/jXtOL4tsRMQklXHQK2mEY/OR43W+Plg4Zmc/flVXLpW5/wZd/DJ1G+Y+MPtLDlS54IL45k+/TVG\\njLAS+vRP3+BPCX9Cpkt6unry05oBaAj+zUi+CC8k99bGt3Bi5yQqePdyG5/E5QIQitdJYiAfzdzC\\ngEp4+N0Ukq9P5Jtw11i3G/57N7AD9I0OeveeyOjRAcqDGdy5yKpQnHD8kTAZnMapTFn6BlJKNM3O\\nEUf8wJFHWusx5+T8u8nn4/PlsHBhN4qK3mn192d/oevVSCkpLHwVAJ/f+mPYseNFKit/IDPzHDIy\\nBL/+OoHly4/F79/WmeG22wGb7D3efpzXC34cAzXVXmpra3njjTdwOhu+My9b+g52p4nNDx+u3M5A\\nAR7n4fjiQ6SfLqAqub6sfyX0fx8S7k8h6+yjMeqgRGg4HK23u2/YsAG3S69P9gN3pHDEw3/gs+FQ\\nEA/r+g8l4G71UAAKXWNYzZFUu0/EGW6zN7UYUlyxaDLAhcMu5P4x9zNmwBjkA5Lrjr6OtHgrMRhG\\nHaYZomd8HAUJFUQFNBLtghIznMwXXI+mQVTNR9QRz4QJEB8/F8NwU6fD/96xat8PPng/N9xwA5WV\\nlQD83/9ZsR1/PAzoB33S7uKLtT1wGaPY1HsTD495Bb9PI69kHblVuS3e0z/+0fD4m3lDSFv8O1h0\\nR9NCgTh+t24MfVdDt4+fps/77zPpKi+FhTb4+U54aQ0nTS6F/FNhssnVT82H757BUZdE2sLRzF46\\nmZzobzFT12MLxsBE2Hz77djOOYf+3buz8p1HYCTc8NqnDIkdylVHXIU8tWH0afCeIH+59yb+dFYd\\nr14t2fTW6fycPYWXfp/DmZeeSaCPdRFyBV3MzZnLR3zEzcveBif85AkvKn8UxHjd8B+rp9PG8IVx\\nSy1cvAgSVxyBAVxkjW/iX99cRt/yQcQEYvBq1s+o2m2jGzq9sC76uUSTisG4zHEAJNckkxSM4oLF\\nF9I7dxh3PPQsiYkBsrJKGXyslfAnVE2AoUdw1zPWaN67OZxFdOfKQ9dTKhr+Do4Y6eFhaSUkx6/R\\nFIW7wC6yf8umZ6JYwnSKtr7M6/lJjP8ZzlkAF130HrwC/7zBQfcbrmZldh1PZPzEJW9Z7/nYMVYz\\nTfDrhSzIeh3tPxp+3U9S0lkkJo7lxBOtgXGNV+HKz7fup2zY8Jf9MkEWF09nx45XWbgwgRUrjiM3\\ndzJLKsDnXceKFaPYtMmaw7+6ej5OZx/S0m4jPn4U69Zd2MmRt88Bm+wvPGsZ/zjEevzeu++yZs0a\\njjzySCoqrJuH6ekncs7vrStz9BfvkxC8kD7yz5y89hByzl8JpklK/yH15xt9fR+OvRJ4Qiezz3+I\\nHgfFoW7Y20j2GzduJD6prj7ZX/glrD35b/jdp/LZuD8StEUhnG3PVVPgOo3beZrLevTAVZ/s44i2\\nx2Cn7WkPvN5NLFgQS27uFLZkHkFZsofkcgeD4xIpMw3uuANGjm64qZxrWv3UjznGj5T9eS8fhoS7\\n/z/yCMyZM53k5OQmr3H33SD9TrZvfJYimyTwujXApjihmFKvi6zcWQx8ZiD3zLmHH7f+SJW/imnL\\npzFyZMM55m+3sXnH5TD7cci6GGFqOJddD68s4a7vb+IfFOLJ+jvbN13BYQMlT/ylCmb/F4qPYDHd\\niWEeIHin5jQAxvR8i3XlJ9eff/iXj9I38zzrySTgh+/p1ssFw63mhayp99EtPp7DL7kEqqPh5VWQ\\nb2W5JUMW8dQLVvPeT56fmL/gZwb2Gwg9Af0YxLfDGD6z6TKPvYp6wdfAE8DHkPr96bDdaqr5Nbw+\\nTXkQqgICW+bt2ICqRMi9z2qqsZk2+pX1ozQ8oLqP1/rGWJcY5FGGkUVDv/ir332Fy5+ykmQUJi+9\\n9hLXz/4vM2a8z/WThpIyYCiZ4Tb5Wa8/y9FU8TeOZgnJfDShkLderuCzUVZN43EO4YdrrW82N99U\\nyvnF3+EZbOMcTqUiIZpsrN5ZJbIPF7z4CYFXZuM3oFviGTzyCGwV11Ke9i7Hf5pEWcUHjNo0Cv78\\nNsPSDFJSY61mrrCohxtGi0dFDaBPn1vJzrbGNhQWvkFhYcO0E/n57esoEEnZ2ZezcaPV0622diVz\\nK3vxnyxYFxiJx2OtxJrQ93+kp0tOPvn/uTvr+Ciud/+/Z3eTjbsLBAkQIEBI0CAJ7l7coTgtXqx4\\nkRYpWhyKFCe4QwglAYIFEkiAGCHuLrvZnd8fs02gpbf9yv3ee3/P68XrFWZnzpyZc+Y5z3nk80kk\\n23AIpk7LKSoK5+nTpqSl/cL1N78Qmx3zP/kYfyr/J5W9KIq46Fciau3es4s1a9bg4eGBsbEx69ev\\nZ9o0ybLw7Q0lGj1+5GtWMRaLXBntlQcBcK5du6KNhM1JPAv4EnJy0PTsCVe8eNi2O7LPw9GTn5+P\\nQ/0YNJa/K7pqtZKnrSeTZFiGvuzP4QWG29sz2ckJL1NT9HWplzbaOAwVRujz51SJZWVSyl9RkZS/\\n6FlfihrOeWBFubKQjRvBvvg6047UAxHyymWoVMNp3BgcHFvS3xlMTZsC4OMjBQLtdXAEgnEHlAbu\\nAGRP3oJq7F60ykLIqgXLRIjuSKJGRmtnGKAPG0LWsvb+KizXWTLp4iRACmo/StbnsfMb7NLcWSRG\\nwckziCs0qC7vwTDLveJZ2pNOczLxmJdEhwthNCEbeAxMpwoFgNRmrypb6ObcDvcyaTCM9wSyOdaV\\nAw/bQUwHid9lKeQNzwYP3UI3QABjiCg6C5YClJrD/iS4BujD3HtzEYwF6A431DdgENAWuPsM8VEB\\nm15UFo89wYLhO4fDUzCXAa/B0qwevK3NFxdsOBAP055LPJw+MT5sfuNWcW1Me8mVlW2SjUOuA/Et\\nPg3aO9nmcwMHPnb4jYlxpz8pbMadXTq/fllcISfTI5F37kDvB8OJQnLZGZaLbKYmyRiwf0Yi/juk\\nhfteOy0jacoVSxtO1sul5Q17tvoHYl5URJx3BtN5y+VMZ7KQFlBn1Pz0YQRlCR3ZeV4fu22OVG24\\ngvPZQ7EAACAASURBVIPF2+lVLlnz6xN2Y1xFDYlVuHi9HSePF9K/xUD4iGL5RlwQq+6tIrUwlapV\\nF6BSpaPVqsnJuYWd0wz2ZnTGwLAuyck7yc6+QXr66c9N839aCsoK6H28N6mFqRSUFZBS8OfYVh+L\\nVqumXAtjn8DIUDj8Hja8SsHUwJ7pDyOo1iieZKtDeB2ZSbXN1Wi8qzHN9jaj1jYP9r03oaDgMZGR\\nw1CmDONOSE0mnPAgqzjrr2/8H5T/k8o+NTWVRoWVGTTGSgUhISHUqVOH9/GJ2FqUIdNA3RWglw+T\\nT1Sy8si0AlWKJQVtbe9GahsJuUwma8Ahq6EIcl2O+vr9pFZzRm0oKeL4+HhCQkIq2snPl1wfGqXk\\n/4+pjLUBoNDoIdP/cwu9mZkZO2pJWxOlXFJiOcY9MJQboKCcrKwrn72usEzKDMjKknzatvUkR7Ex\\nIhql5K7IzzPilesr/O9B7kVLIrLfI5fDsaiD2CihoECKvpWjpFUrOH4ckpJATx1BWek7qldfy4DR\\nk5jVYw2iXhG2NrrnDp1OulkRPrVhagu40QacE36FD+CkQy3oFwrz30nP3UFZSgfSARFjygnkLl8R\\nRQ4CNm4PaWuZx3yFlCYqn1GTWbxh9ep6nNu5ih2YkJa6hf17Axme4IPX0wS8Va6wTMQt6aMtxOGb\\nkKuLHO5+DNsi4dBNcBNhLtACZBk1WJ+nSxd9KMJOZ6iPFOAH9Fz1wQNMVS44389hAlIu7hmcGUkT\\ntuFOZ6ETP+/R41x+IG3NGjEoRXKluGa5kqOGtEQbuh/ojkb26U5wlVjIHbs4NHF2dD73HSWGsGPT\\nJh5X1+NoNWuW7hC4UvcWyWYaipFzH0lZ38aOUCw5oWP7rHL4MGvur+HAo300T/ZAg4gagdvYcQ4X\\nAtbksrJ7Kna6OarU1/IBIxrPfESxUs36uzPhp5/wDY8grJUMN490SiwNGEZTvqUeAE/09nOXQPzC\\nJO6hYY+XUO2dDzNXteNJZBDmVwWKEqS52muXtACYWZySSNSWATGGdD7kx7eB39LwyABWJWRiaFid\\nwsLnlJa+J7LYkqOvr7P0uYSN8fr1EF6//oLw8F6IOiiLe/eM/hZj1uckJjuGznvMmOlwAd+djnTY\\nbcaRm06Ulf81z3RZWQJZKogrguJwa/bHQ5EG0taugCJw2+zGsICRAMTnxvM89TmyzHpMsj3K4bhs\\n2n+Uvu1ubs1Q+yjOPl/8vyoF9e/QEu4XBCFNEITP0gIJguAnCELeRyxWf69q51+Q02dO4+JRCZpi\\npJSRk5ODifIVcfGuVKmxCEu7dPSzwKGbBQdObqbYUHrpcdW1mCsl69LY3h2HZZMBaNRkC66JUGfL\\nCKiTB965aJFRrpQmd5cuXfD19WXPnj14eXlRVBAPgCpOaqtGLHT+qJizcbglStWfbAt+J3o6/JxH\\n5dUx1CFuhod3/+xESSj8na/TpjqpOsvcodiYhIf1SU+r3E4fVsSgZy9lFHV3lBRR8+bvMTZugOKj\\nHYS9lR6qvFzYP4a46FUAvHJ9Red7Y5ifZIW1fjrmWTLCcz7CKAb8q2n40ROO6gp1y3S6rtqFTVRL\\nltxY7UlnYGNpIepCJiUuRQyc25zqOdnElxtiNt+QVunzcaCMxIXJrJgk9Wu0bxkGLxtgq3NrmeRK\\niq+XRy6xghFqBE4rH8CP72GZiLuxKZ76+jSL9YLQKVJgd8UZDPc+wklUUVVH0m6Yeg2zwFoQ0xbO\\nNERtroLyOriufsERwhiCtHs6p3Ciu+8T5G2TKRf18HggubOWtZKYnTQyqHGmM3qX9fj+8Pd8mTCX\\nJscOAvC8IVxcIKVfqtyqUOXtbLwoILi5SJX0dObtU3N0ioo8ucjGo7bMbZVEd1qznHp8iTerqMtq\\nu6ccIpQLOLIyR4vvqzNMDpTMaK2hhr74sp5a3F6QSqu5tsQpKmMTFqaZ3OEuz5tpcbymocWD6+Dj\\nw7irV/AJKyLJGXxzUuhIOnU94GsaoVFL7sQUenPg+S8YlBmw+bCUDVVwQoshCRggzT8xB15NPYOL\\npx7GZrp5/osuc01uTHpaMCuP1sfYuCH5+aHk5z9k3JWlANxIg9AyL8rLpQU4K+si8fHLiIjoj1Zb\\nQlzcUl6/Hk5e3t8n4xFFkR8u12S1zg7Y5wPrPKGJFdyPPqg7R0N29nXevp1KZORIIiNHVSwssYn7\\niMoDlkHWkSxp8cqGjm1OUzW4NtzTMYh9aIjjbi0sE9Fe2cSmyT1gmUi3nBtsjYYZi48xbEgmp4LG\\nUq1sJ8uuD/zbz/DfLX/Hsj8AdPmLc4I+YrFa9W/o138pMYUxiLmVaYZ9ui6kX98heDc/RUF+JR7N\\n6RpG5F4pZarDSSIaSYtDgWsOVXodBUDm4AoCZDuUsSFYUqw7pkLXnhLRlkFhISoDaSL/BnUcEBBA\\nWFgY2ryXqN86Ufq8WcX95q+DZq/zGHAKLAoNyTL5e8peJghsYBZjqjSpUPwAGs0fyUiKylLJ1Fl/\\nKTgQbWjOkOMQ6AddwvsyqiyCKbmVPnvTFCeSiiXlWYQRy6KPEBdWxJaf6mJu3rrivIIod/LXLeB4\\njD7lAR2Qp0lfzYTggTSmhOOq1zTKsuZNfB2i30wgJ0fqZ1VnKc3yN1GLYJzqQfmzCXRQS4vOYiJp\\n/ywKlY40XaY24k1tcKSMhuRhu30sF97HA/AFiWxAsvzmxTzlzRYp+plRJZPGxQr2TM2h6ygzUpsX\\nk+kgYl1Wxgke8GR5EscsC9mSnMBawllvOwGubQZtP7opUnCkjIM8YSTxlFCfsqCpcDiYZuG3cV5x\\nElZF4kYp7/VE7mGNBjhWfponvUVilyWhRKRIV+BUdkUqfgj2hfYlPtx4fINqGdUwF0UGl2dRIghs\\nmg49Hj5kwgoFcjM5I0qlnWCskxbfcJ3dZK6GJANu5ebQe5EJW3jGUp6hRWA/odR+4E7zxDpcw5Fw\\nQzMmnrbFIaQzp3Dh+YhS3Pu+ZWnLFCwWGKOvS5dlRkPCxo/nuZcR+x/ZI4oCgek3YcAAXRUgtHl3\\nm0cDHGnVU58v7ZJokxqJo2MJ/vgxD08A3M47subUJORiZZZBCVW4SSMA9My11HtthYl6KJfOq/Hv\\n6CgVYO0D/Q1aMJXeUViZFZmZZ0lXm5KnBnQwVfvfxqM0bUvz5vEIgoL371eSmSlFtNPSfiY9/Sgv\\noqb+Yf7/mSy/MZTBrp8em/4c7iWDPHUSanUOBQVPePmyC8nJO0jMvEta2iHevJuFWp1FRtIazHWf\\nnkynFl3PuLIwYCGDEvvAnUXY7bvByJiGFNWZC8sE/BqvpsX49lD7PJcOVefa5Hzaqh6g9evAyZ/m\\no5CBB+coKPl7rqT/bvk7tIS/Ajl/cdq/B2LxL2T27Nl07tyZzQHbkf/m5Cwwwdn9BI1q9SPnnRM1\\nv86vyJm//MKQZfIz9Eg1ILVVNAmukNz2HXpOEmmDYGhIw5mQPetTkKt5Ouyw4YcNQS5F337LSU/W\\nQTcaZCVSnmuG6neQCGunmjN1B+Sbych2SebvyiV64m5k8glKZmLiFvLyQsjKkrItRFFElnOcF0ja\\nNR078mXlaNq1o9z8HVXTOnzaaKkZMQZmdFJEcrnUn8JCG4KShlP3el2OVD2OnXkFqyQD8l+z1uka\\nuzrt4sqD6mjsI2B7BMVqY+y4iQJYRil1EzyIfBrDu3ci0dGVeCygI8yI7kTR4UAakUOJTRSRkn7E\\nmVL0dYVkZvkilsUiyY2zKan6hioXttNn1SrUZpXQFL+hffqRR3h9mLXKBtfcPExKVYRdzCXTBgpN\\npPbsKKNg6TsKQgsqrvf+OYeIae942PoFk8vjK47P6l3AHe5ShxHIKWMt4YzU1qM1GczlLQozC9Tf\\n1OONcR6tA6vypAk4p6uY6FmDZ1hwBmeUaLlX1RDDEqij/TS4DXBstMiHGtLf1x84UOUjxA2zpELM\\nVGosMotQVSnDJVBaiD+oVHjGVKH1Gyd+nfeM4RofWiREMTD5HV09IphX0gBjeznNyeWI4MrTIbmE\\nfZVOv5vWNHv8HJIM8Ftpgrg/joYxUoDwSHEaKLW4H/weTp+G0FA05ma4f4gmxCQZiw6WqNPVDD+r\\nJXnZO16GiTh0sSQPac43ipZQTtdTC40gcNDDgyXUZzDNUOdJqqPpz9JcXLIwhZkLOsAHUOWWYLo8\\nBDJg5+sH5OYGEl2ih8ENSwgH7sKb7Bx6hqowXOeGKP6RB/pqupJXmdJz/B3MfKOi49yMExi7RsG1\\na7D3Lgjn23Jcx9wYHGzFs2dSAd7SV9DpzgcGPYScrLMEB0tB/evBJnT0seA2t9nuNodDSVKKqKXS\\nApoZQ+fhjLk7hqVxTgQuC2Tp6aWs3r2CHYXJfNFkAZfLn9L3cV9+ObqYHwhh9LBQHAzKefTA+S/7\\n/5+Qf4fPXgRaCoLwQhCEK4Ig1P3LK/4BKSgoICYmhitXrrBx40Zu3L6BwsgNrYEI26dAljVeTe/j\\n6LqeOjHJeMRrqPUjCGpIyM+ioZ4h26aCtnUgqYfm0cp7LYJM54oQBCwPh2Nh/+4P9z0wGpwTDZFr\\npYmvVPrj6DiRFy8k3F6FSkuWYIzG8PN+eX0VOP0JvPHnJNzHBxcDyYrahS4jQCvj+XNfwsO7odEU\\nSb52TQGXkFK9ntEYa4UGmSjinv4KK/VHuZ73FsL++2ir3eNQQCuqKuIZFywFjNyKpMC0y+G6RD7e\\niLFhJ7TAg9oPANjYcyOEjoFMD0wpwfkrG2y5C8DEkH7EpFvimd0KB1sqYIsBlj0zhdPHociePoTy\\ntrYD07eCvp5UBRvUBib9pGHSEn2yttbg0MBoxm2SAGA6brOjy1lnVA1WUNBgHUeHQW7z7yiudo3F\\nqyDRFdI7CTjsi6RecDIRdeHXVtL7tehgQYNrDWhb3pbCoZXBk4xtSZT8mkOxTMFEJKC7nPNZCMCP\\nvOAWkjXclBxWINUOxI+tx8q1MvI8zSvaGV+ox9vBucymETucnZio8GLpwRKaPPn8WMa7Vf49pvQw\\n+sVSP1PNRfxzg5GpVaAvolGKrErUcc7esMc/IQK/5LcULPXhcYG0cD0vKmTjDhVz9SIYmtyIyTSm\\nb93XECftbGuHhlIu07Je3oA7Ed3BW2K8Gnf8RkUfZDp34KUNEznvmI/PmzeUOAtUk6dzOUKKdygK\\ntRgdi2Wl3iumUMmalYqSF5jTQWzLz5H21HAsJw1DHiAFnk1d2pMySgJ869WpEvmyID8PLkFo7FOs\\nHCax500mpa91NmMQCK8EstKl+TbuCQx9BGujYMgjaB8Ee6LL8DDO49odPYKCFMQm/I4KTichH0Lo\\nfaw3pgoI+FEk7kY569bB0eUQHhRE5EPocAjOJ0F6qYyRoTraxnWQ/hMMeAC5aoFJz+CbLRdZ+EQi\\nYq8b3x0AzeCjNH/XnOV5yzmx9wQAjeMakyiP5yhH+Va2EI8kD6bckOIcC5wWsNL2W3DR8k3T5+w4\\nOAeFTCQ55+Vn+/+fFMW/oY1ngKsoisWCIHRFQvio9bkTly1bVvG3n58ffn5+f9l43759uX37tvQf\\nb6AnNLSMRiyyQTj9BUyVWHRq1ntE4TOBtXf3M99vDLa3YL5wF0NR5FqPfE4XXMXAtBCLmN8RltSv\\nT9XjUVTUwWyYBbM34vYecJSh0EoLw/LlGTRocIU1a6BbN1C8UFOkNkFfIVklXY6/5NrgSgJsi1zQ\\nM/37+On1TUwq/j7OEBxIpXfCwopjv/4q/f7YYDyOippQCIJBHdBKH5h9fgqUfbS43PkO9KRKv7uJ\\nVRmtuIue2gKezSL+xgboOxIaHmZK8SwpQ6XiRvOh9VpaXV9BvHAPY1HAYct0IkMysB40n7yUoZz3\\nOs2vBVYs+fpHVF/NBEQyw6qRKMaB2ghX8qmOJbvtjNEoivC9UZOJFy5wuHNnipVK9LOjccrqxvVm\\n57FNLcHmKw9uhtvBtHQ6b15SOfZrFmGZV0S+OXDRkUijF1TDjvfmcNPQBtoW0/m4Gm7lkntLCrqb\\n8Ecx1paTffI5u1dakBDugnN3CxbLI7HsaMmJHSoaxyVi082G1mcdCd0/jrD1dVl4R4fDk6dg+aQW\\nyM7fR2lZDJuf8fbHOsjKRW41UNLhpYpM9LFBxZTtkhvwgyu0jJCypZayAm+/HtRLgZNzC1j4i7Sl\\nzzWTejowMJARN27QfukJ7iIFfeuE6spXg2wgwQhGJNA/xJaypm84KVbj2apyXOPN+UAxZOnTcFMT\\nps26gfARheZXN09wtbQbsb90AKWSBxtnMSh3M67tIWJvPDE7duI5dAbrM6Rth6zIiA/rpFjFOOR8\\ngyfrCKcMOaf7JnAyQEZBWydWnjDh1vfZDN/4BYEEUXA5C0cga+whSraN5MwZCdl08WIgQSpSXJ9S\\nh4RkAXJFjnQezqTgIxQ+FcFDgYtrJ2KTpGSElFIgFXCAnMcNWWf1AgN5OYNcgdjJRCSeomeLGwiC\\nnPyyfO7GXODLi+PIU6kY1Qw83MFADq2eT+cABzhlvpuLnmv49UkWP5ok86O1SprrulCAkABZl6Cv\\nSkQWI9m9pvWjiDR7TLjZCKKHPCLatT7r7iXQJkoivF8jW8ML2xtkpgu0NPJicDVH2kf6Y6I1Q19f\\nn8xkCXE2V17Ahqc/ovUU2OvWiiHKJJxaVOqH/0ru3r3L3bt3/9a5/4j8y5a9KIoFoigW6/6+CugJ\\ngvBZlu1ly5ZV/Ps7ih7g+fMCqOYPXWph2E3CfnFXgjZWlyN/oWfFuak5Jiy4Gc0Md0hgOLaiyMuG\\nGrYbTKfOB8niM1XU/sM9nEqak758CwnTAsDrecXxPONS5DqCkzrVJT9rB3/JR21mq6aozJJiU2kb\\n/qhtWwDSakrplm7vRZRGf89n/3sJ8fLCUf55mIYfSzvQz7EB37ICV0MbBG0RBosgzSgbgzLdcB66\\nCWhBLYfgObxv8jPh9xqQq18u5bKjgks74czRyoaTG8MKFdz+EpZpWamJ5rAWEAR21emPT0s5O5os\\nw7xciUWhBdmm2cwYMwO5qWQBjyuKw7jUmEDNAw4hxTyCOlaWxu/q1YtipQ5N1NCOpPXSbxkOhmTK\\nojBa+LupOFv6MHLMjeGUCxxy42kdafyvjE2CZEMoFxh5SV0RC1iFB5vqGjHsd1waJ/qXk2kDx7bk\\n4vWtGVcvFxPg7YnTFBfWRxryUzdf+ryozwy9ALqvHoeXTtEvmnGRoH7z+Vk9Bq2hSMnZUEqsNdQZ\\n+gqjdJFbXlKmVrSBFJt4UxvG7Id4Gxn711Riv3s5nOTw4iLKlDKG/SpZ3Jb5+XQJfSQhmooi578f\\nLZ2srlywN+45Sq/9L6FExklTNd8+tCHg25eEWxRxdN8QNn27hyZnPQkbvg9l/x4S6p1OGsTGkvRz\\na5TqMlStfWmZsQZzeTGdWjtz2U1F9VMnaJ8pzV3/5XkUOhbRLK4Z7tvdGb3AAA+k8dlODZqeqsPS\\nx47sum2ClZVAzc7GtCcdf/xwQ3KBWse54jLiNFZWUgV1QAA4OwEvtBy5/w2ki4xx7oDz9XHM8WkL\\nsSD/rpzEL69QI80Du3Rz2AjsRgqOnnvBtWmQrNrPopPTyVaBmeoOh+914ejDqYQGm2OWPoITzVRc\\naw1W+tB0SH02Pg+kH/24yEUM8hz54v4WEqLyMA9ugv5PxvAQatSAHTtg8hQgBNgC1oetyZPn4B0x\\nmYGhh/AuXc7ahVtZfSudX47ehWN9KJ28ia9b53Mu7Si3xetsKh5Ha/V4ajjpk08+mapM6jiZMkV/\\nEG9yIzhUbR/1wt0RVC3wqf4RyNVfiJ+f3ye68t8l/7KyFwTBXtA5mgVBaAoIoih+HhbxnxDfIQ58\\nvz4Q/55vqW2qpkXMJLoZC2hj3Nk5EfL3zqJFe1NqL4LHL4vgu+/YHKfgib6UJrXgh3LsSMeuzza8\\n7c/hNvaPEJf2Lcdh1yaAKv230HAmbJkrKdpSfXXFC1IqpMySRi6SAjezLyZX7YrWSoX/hbc0dJB8\\nlw9bvUJlXIYgCugZmf7hXn9HWpibY6OUfMHbmVJx/L68Ox3sPPG3suI+ralnaougLSZxYQZ5tiIG\\npXK4sAeD2LYEco/jI8NwjpAKiVbHG2Ab04aaYhY2FoswUF+HiMEow7/AKNeZ7k97YK/tw9fyJ+hR\\nmQUUVV/NqJ9mMmDmWlJCb5ImK8QieGbF78sTi0kqgfxymHhzYsXx5w5xJHvImXnqlBS4AyhMQe9+\\nDHOPS2BdQ+duoNqPxzii8aNoNdS+cgaGN8XE35vc51XAvy30a4HBEQ1Du9/kSaQ7/oFwrosjdU8p\\n0NvugFYOnQNFTqxpQvt3Ki5sLybZGSY3aYg/fvjjx52uBTBVgjfY1i6EvW17Ebn0GHI5pOBE47OL\\nSIspwKhjHO8+2pOuerGRNtpgRnIY7xB9fESBmQkJRHmAx+YyQkcWMvgYfH80j2lbQSuH+GrQ4Fge\\nNTMkOI/k43t551IJiaBUqMloDY8nT2bP7tWktZMCXmbFxbwbNoynQyazevM+prcPY2bSWs44Tsd2\\nizmrU+IJq2XAwRGS9d864jkz7v/C/dSBMHmyhAVdLu0ySxRQoqzMmuprdwcBuNZnNv3sk7ivc7Qe\\nm9WTBEMTFhSs5E1NgSDTYmTjbKj6XTVm7zBhOE3pbZnBq0gBMx8zklMFZtbcyo0jX7JxmPSJzzNb\\nWfnCsq1J2D4Bli3FwgKWjXOB1yBqy9DegyZFfuiTTsOQnvhUt0SjmxcxP0WSviMP8uG3goP9+wEN\\nhE4bS+yBrVy6dJgzSZZUEW/hXLqD/HL4kLyDJ4eb8fQpXLoE3lO2ffId7ZDvINUmAS/9+ug9i2NM\\nQV+qmVmx1mQ/6VcDcEk5TL82NpAN/vij9kgCjQZ9tZqBFy7gnphIM9+ZXE8bSW+Hn9EYv8Kxc0+a\\nvfairbYD3uIU6r/qxa6CCyzo245abvpsST/GGON+jNcfyIG4I+QY5dBjuzeWNv9+fuh/VIS/ygMV\\nBOEYUrmJDZAGLAX0AERR3CUIwlRgMhIFQzEwSxTFP+RMCYIg/iM5p2VlZUybNoPO/XdjYyDNgAI1\\nmOqM5eKzQ+jebwKn+0P37C8wIJPBzh6YJ+1mCNKk3/n9O040cUfbvBmCwee5YAFQqXixWUmJMzQ/\\n1YeEr74itp1AcpebGA0MoM+Y1wTdEBA/Qi8sz5Bz7sUWnF+aMOaXTjiYOHDK9i6PZj2h1n2odcWH\\n4jM5dOvX928/88fS58VD7uUkU4gJziQRjxsgENSoEU1NTan7+DE7qkBZdD96tU7i+Fcjsd41li5q\\nP9z1U9ilkvLXowR9JvtdRfD9gaurL6HUKqhheZyYnMG04ygie0DQEijeQ26tRZMlI3WCEa57U7DX\\nXmfED22IdRNJt5FQII90LGZ9eQvCxncBl1AEtQGinrQQ/kbWYUYEY75qi592N5u3SR/gUOuFHMle\\nwyMnkaZJoHK05U1ZAdUKVJirpfHNVYJlrSN8LRbzY8QEJvm/J+RuOi9FiVWsyvgIPgzLQH7SiRen\\nauOSD306Pefu7D9nE6uQL1pAuzTM+8ST56glZOpUWrx+Ta0Dp/jyzmNmH/kBvZu30e6rDseq8MCj\\nHs11PAAAc/Q2szLvK8K+2UPSldO4xWSxZnFvzrZv/YdbnVu8mI7vgzFKhJnbenDJfBDROoWfN7QH\\nqT5FuD4Gw1SIHwFuh0FjKCAvqfw+tFbWyLIri3JqTkkk5ot3GIgy6nxXzNMnQ5Dl6Z7bzQ3i4ynX\\nk9NogSUF+Zm8/7GyP2bz4eqATqgLpF1FVFYvJg24IJEoiyIZ5ubYnTtXcb5BpiEFHb1ZbBFNux/s\\n6bzamCFd9Ml6FMqNfZJr8MpcJXru9qx8akqPt2dpQuWOWWYkQ6sphjIlPY07IBopUOWoiDCbT3J2\\nZwDeOYVx0PEb9DOdufteKoAcPx727oWBA8HaGpo3h5rysWw+fJ+T198ywKgPJRMFajY6x5N5DQlP\\niyWffJp4m9FFvyntHixiF7uoT32e8pQZ+pdxVQ3hPaPpQQ+KKeay3nkM1aYYeOhTGqnibfN0CpvO\\npfGWn8mrkkXv9/1RpauQKWXkheQR3i0c0/YWhOy14Kv4eABWV6tGQxMTyrRafM3NUQQV8nrIa8qz\\nyqnzxAP7xnbEDz3B5lP32anZy2XhMgY3DPDt4PvX8/QzIggCoij+y0kwfycbZ4goik6iKOqLougq\\niuJ+URR3iaK4S/f7dlEU64ui2EgUxZafU/T/jISGRrN3708Yyiv93qYfeUUyrSXLRa0HXvVrM6Gt\\nLZOSdlQoeoCXxlIO/H+p6AH09fF81h/vzXUhIIAq/v4MPQoptrkIOitX/DS9HIWtBrKtKDEUcTCR\\nIAkGrt5C16GtSNKXOurm6/lPPTtAb7uqtLOpxaUGPsRTjZZmkruktbk5BnI5sc2bY2hYG40oIyfn\\nJs51q6GvFrjBPb6wqvTd1hFVeGRoEOVlqAQNxkQTkzMYgMfoYc4voJtHmixpOjjsLqZAa86tiV/z\\n3k3B5UXLKtqLa1pODwKRX1gH++8h/u7FWHGR7Y38yHF6Q4O3ryuO/5K1Gpko0iIJVHIBxYxZeOSV\\nIkdLvk8DiIvDogzE8OEMzJd2CDsDq3Kx34KKNrqok+BQVRyPZFMvE8xVcPdSI/ptMmLyDrjdDpb7\\nW0P3VhXX2OTmY77LiTG+5XCyCnnzfHB4YkDL7dsRAgN552bDybq+yO/cQSsX+CFtNyKyTxQ9VlbM\\nUX/H9yvLaLF1Amc/fIkPT5l47cInz95gjjRXG0ZHY6Qrh7A9e4meAWHUOV7IifbbMEspIthVUvQA\\nh2tA/EhI99dBXutCShWKXlfebHqwiOYP3NEv1OfwrwsqFX2dOhAfjzh7NtXn6vNKlsl0fxtyGlX2\\n6+zw9agLbmBoWBsbm37YOhRjtAw0/n4AWJcUk92zJ2PWSBANpTYltOyoYPwNFwbtKIKzIQRZl32S\\nIQAAIABJREFUBJGwOL6iTa8nS1AcS2DULAvmMZFe+GKMFITUFmuRgKEEOlj4UJShorWyaYWiB/BI\\nc6XX0wcMmRxVcWzvXggkkPsnnTj1kw0HN5ljWPctk+ZJu4jTxee4v+kOm0eJBKeF4fONJzt3wrof\\n8vF7PI8d7OASx1nMYs4TQKvx43FrFYelWywnus7hxFIPDNWmNBSm0DzSlxb0p3aEDY23SPwJqYIe\\nJ9cUEGwfwn2L+4R3C0ffQZ+C27l8qXCguZkEabEwLo7u4eH0e/WK6g8fsrBKBoqo+sTHuuNYEIks\\nKIgGQx3ooxmApZ4xM8QZVHX8c4rS/5T8r62gvXIljclzh2L8kYJXPHTBrZ8UJU9TmuPzUzrlelrq\\nlPTkzv125FjAwo8gN7KtoPhRCH9HZL+cQu9hRMX/k4f6US5oKnDnkX/mmiwrbOSVVGzil2dpX7U5\\niV+KDNqfSB276n+86G/KGEdHTtevTycrK0Q/P4IbN0bTtu0nqZnmCgW3FIPJyDiNedVqACgQ6ZD6\\nqaXbO9kN+1x7FBotocTg/bAhhsbZFDCQk8p0GjAEAFsCqekoJUK/qneeK6dfkm9sjL2xAtHfn+Mr\\nVvC+uoz2WHErHXolKPFI9MCo1IgWByVykJY2y9nfW+BDMxsax37K8vXbsq2nFdGbOh2lBkzUoD9r\\njmSd6qRlQqWFW/WMFIDWyAQ6PhkNB9yY0/QKGkFKA9OT53D2QlOunW1Ce9GPpXhCsYKxXZzZ7m/K\\n6r5OGB93ZeZ8Pa7vKWJ8G31SFzbFPFEhZckUKHjSXPqIh414w5w7v4PlrVcPqlfHWF5KmzVSuUk/\\nleSG6vjkCb36ZMAuaZzvvOvLwU57cUurxD9feAfah21j6K6HDNSeQSuH9C41Kn4v9GxM/BgI1BnG\\n775CQqlr3146oGvrbt/NJO90xrKXA/VVYYT+BrcfFYXGxBgz/Q180C9hSZsl+Jhlck3nUZvRBRyE\\nMOztR9GsWRQymRJr9S3aO4J/9XuUtW7JiO5qLAsL2X9jMeW6+0b2DsF7vILc/dFY5eWRPFDENfsD\\n+d264RkTQ0gryd8vTJK4gwvQozV/zIufnP4N1WsYMEUzBYWblpE04YGlMeUaa3xtwvH67hwLp85n\\n7ZKVjPL7AoDv+Z5TnGJJ2DmM+vfDeMA6Ak/YsnQp5CHFxLZshW96ZdDQazwuJe9Rl5ej55VMwZEj\\n3K9Zkw/TpiHbvh2hc0fqxM/B/F5bbJdvx4JnWHZ0heBglPvX41vYC0cu0oyhTHrfi4ULBdrhx2Qa\\nMw0vaqyXxuqh60N237HkZmwV8lv4ktyiBadL3PjBrTq7UlJoERHGmPfvaG9hwXZ3dwa6OzAhUMlR\\n9Sni9d9wJfj8H97Nf1r+0o3zb7vRP+jGqVL3Dod26Ca8/x0IbAej98H76lDrDfc8DFl6fiQHqt/G\\nLVbOLYNy9JvIuTnyEL4hHehywJkrW4/w/bS9/3SfV4+aREO/QDoOCyckRDK5DFJAXgxFNQD/QFKH\\nBTD4yOZPrisoKyAiPYIWri0+0+q/T9RaLb3vr2Gx2UNsFHMZe07LKl0la2gTWLwKbnSG2ybF/Nrg\\nDh3Dh7G4gQuvuhZw90gC7SxySH0oWRxyMvA5ZMDxu9XofXEW1ielTCDD0lKSbUwxH/kleQkJDJ52\\nifnrKvsQZlRKo+LKlM8ON0GjixN+mDQOZ1GB8LaSOUsEkMkQNBpo1AgyMiA+XuJU/GghE8+fR+gt\\n5Xk/6eRJ7XptMN20nf2Lp6J3+yA9IlSYFqkJXr4Qv2+lFX7wYBCKCumUsJsxLyrRNvUUImXoI/Tu\\nTcGB0xw9IjJ5inSv/Yxmj8swXiY1o1CsTLcEIDKSzCo2CAcPYT19Lmi1lBpbYVCUTbJPfZyeSMZB\\n327buTfBhaw+Un/PeZrQ+1Uhj/dB0zGVzYkCqM1h1pEJzArYTYkTnPJfyPJ7q5lYXZ8lp1QkDILm\\nOvrYiT3AuhhW68A2M9buI+duGLWubWVDCxj5AoRevXCqexVBELjauR2yIim16mm2EduDimnjBaPd\\noGHDWzzSNmJJ1HV2Ge3CxNSb9ZFF7H62m9Y20EVdnYXf5UNmJif8/Rm8ZAnmSWXkOSvJ6dGDU/7+\\nDL11C+PSUn5p356pS5YQ36UHQdptODTz5Ce3Rhw8JNCNx5grChhRLuM2jvQiDi0GaClhNs0JwxI5\\nWgLMzmOa/+fWrp6LgpjEWNJJxwcfAEyP3KPAeSnh4eDbcTr1LdfzbnwYGZck15LyDrTw9yMwUNrw\\nzJ4N0dEiD8ftpWDSZjJoi6v3O5SProJcTmkpGBzdB+PHkzR1LS5Bk6BEDsblEG0CKhmN6svY8L0W\\nj8Q03ox9A4BlZ0tyrktppGYtzPA44kGoVRnBeXlMS7fEqJYRycpyqj58SN1sBdv7F+H1sznmI5v/\\n6fP+V/Ifc+P8T4haTaWiv9oFEGDST/Besl55WxujslI0GnCLlUzuVuUKEmqouF9zFOuHOjP0KDSz\\ncPz8Df6maERAECsKqUDipRU+yqgUciz+cJ2p0vS/XdED6MlkdLJzJ7k4GTMnN+afrCySCukRyptR\\nQ9j8FbQvNGJ+SHui+uTDqlf4NExg6k+Qb1+580ixsMV/fS1WO8WwadTZiuP+Yc8xre2J8Po1KRsW\\nkFgrjhSXE8h0UAt1PlL0UKnoVR06oB3WD+HVKxg0SDr49dcIQUEIT3WkpmFhOlAe3fatvFxiKBdF\\nhF69QKslN+EdPtdfYrphK5k1nRi7ajsjHhShpwVRIaftt6spzFFTUgLHjsEv9b5j9IvZTJkipcgu\\nWQKFbboilJfDmTOYLpjGxOl6xMzdiTotmzH8zOXCCZ8qeispmcz2Ymtsf7DFKWU2ooEBpKdjUJSN\\ndt8BUodX4vMEXJlaoegBbHILEbTg2H4jj3W2RlEV0BhAflXoXLMH13rBrtrQr+4gNnfZDBbDeTsL\\nih2lQO++kZ7Iv4B7faBID8q6dsJ28URqXZOqhGSjm1F3LtjXuoBaq+b15BcVih6grn1t4qxgtJuA\\nUlmVaJkPqxMSeKx2otBiBEmJm5hSz4tu1Zuxoh60bBTLT1dWsPXkHPye3mP9jh3kOSuxzcnhYo0i\\nvrx0iQWDzNkSuJYmL4KhIBmLKxeorw6g+F4eow4FcTdQ5ApNOFbejm74sQl31HpybOskIWJAFKbs\\n2AEaZCxT+aEvT6JK4xefzJ9HWEF9MywCWmBx3ov6V+tzrKMUgCgY3gbXB+doV3UxGR39CXEIIeNS\\nMWZs5geWUqNeXZYvh3btwMsLsrIgIUHgivOXmO+fTc1RRSRsOkTLVjJ8W4oYGsIVx3FQWorL9m9g\\n63PY+wQ2h8Hl+3DtHmH13rP5cjEBnbTIR0pJE0UvirDws8BltgvGnsa87PySthYWfF1sw7Omz7hv\\ncR/l2TyyWrTktVU5g48pMens8Sdf8X9O/lda9rt2vaN27VqwcSZc7EWpEgzK4Ocxag6O1CPQH07O\\nesWODVNZ73sNnxBJ4Sz8DmraXeBwzV4APFO9x6vTqH+6z6tGT6Zxu5tY1DyESiUFV8oijHiTVhsL\\nIwVVFn7PnS/CWHFyxj99j39Vzn4IQRY3lG6+b3lSpyOq6OWsXgDnN3RGqVZjdOUOZ/toMSqTMfmn\\nUqbc2M3M8dPRGEmGwtYAU7qWahnlWkSwztXdc8U7riyqzqp9++j76x1qJ6RIVndZGe22b6dNFAw6\\nVkR+YVVKcEQXr2fhd/CgJdyZORP/sDDKHoWgbPrvW/TetqlPrV+l4ift82fEbllOzQO67fGlS/DL\\nL1Qwo9+7B611wVOFAtHYCCG/4DOt/k7y8sDMjGWX5rD86QZcDMHT0pLLk/Ol3QggDhmCcOzYHy79\\nuUc1Rl6OQ/htmosi6emnsHIbSFYzOabmTUkseID7LS2KFTK0gHaJFkEQuBFzgy/PdmaPt0SMvi8O\\nxulsm2NnYNc24Ouv0f56D148594teFcAP2f4crbXYl5HSKl99eufo2lEFvsZh5VVV7Kzr9KweTpW\\nD6X35qpUklJWyHnzPRjnB3xSvfpdJKSVQV4ivNxpjMWlS1yfPZvJI3MQY+No1KIPe7stIWf5aNJP\\nRdLy0A0apJSwZVooYnZbvJ9706i/KRMnwjffSLwILcPfMKz0Pq8UdTA66sugQfDVV7Bli+Qhe/UK\\nHi94imUVJQFJNZi7SvL1g7RYX74MaWlpODg4MJGJDGZwRX8fOq1jQXLlArd0qZblywVolAMvzUlJ\\nElg4X8uBn+XExkpTuJrunc4nkgyUHJRVQ64QUKGB6xJVp7uhIe9KKlOf9ZKMUDsXIwA2cgVRzZuh\\nJwgsjovDzcAA7+YJaJOlCnurLlZYdbEicUsiNTbUIMpPjzZhYbzw8aGByeeqQP5a/r+17C9dymLz\\n2UuQZodwsRPz1hfRVTeeF7vpQMmuQkwLKQK2eWUGHW7Cz0tiKfd8xqExPzAs7hIAjdoM+pf6IhME\\nBEHLs2dhFcfCHOvxdfuNxD4cQHLNPIqm/hcMJf8BsTJ0xkL7HrE8m7eW0WycCV8GL8dQpeK1tcjO\\nH9fy/XzdMBumMT0ggPLu7fjykvSO5jctobN3paI3Lyzk4hJ3mkRFMj0gAPs2vpXuFaWSOnHRZJXH\\nc7CqAaXj5AgfYe9H1Ssks3dv/MOk9yXzcOPDh4/SQnQSEzOPsLB2nxwrL/9zOOjfxLWLDlQqNBRZ\\nIy8st+3j+m/u7x49KhU9QJs2MG4c7NyJBpFuPQo41rMaRTcvQ34+NGsGu3ZJ2qRxY1i9mrtxgWyL\\nOsSaX9ew/OkG+jjBmgZGzHPPIdBPAl5JMwbh2DHeOUGOF8QM70Sgp6SATKPj2N/r0z7b2X1BZivI\\nadwSo/MPiHbTI7u8nAN9fiZodFBFDKZTjU5Mb7kOUSntGH5T9ABD+kO7sSDu2YPs2XNG60hm3E3h\\np5aNeR3RFRub/tg3eEGWUUfidLDI2dkSzIaVLhb1zNubwx4e2Osb86v5WpydvwbA1zcLExMfFnnA\\nlkbwcw/oNrCIV6NHo8oPI3joVjZOOsORvvt4+awxqW1e0ixZw5FF0ygxL+fMsCxMiOSp11Oio0Xm\\nzQNRhF9/hdv6LhRRg6saV6ITNTA2li3HSxk9WlL0AE3WeFNzcn3mrjKU8IIAc3N4/hxycyEtzR6t\\nVkujb+wYzWgucAH1t8+Yn3SVwMBAduzYwbJlFyVFPy8KNr3A/GAIXoFBXOryK21kaVSvDh3baUEQ\\nWdj2MfWvG1B/WzFjDd+hUkGr2nHYx2vhy1Kif9hIp2Ap1icrTkXtLLmJ7EUDMjTlWAcHY3b/PluS\\nktibksLK88bUWF8DEy8T6p2ph8vXLrgtd+NV31dU2ZnHE29vqih/V8z5PyD/6yz7fpNWMrzvEqwC\\nBpHimMjQthKumqCFL2Qn8FhXxPJvxjInbCs/zDiDoKs0Mxdz6Z8QyL5Rm8kNf0JocACdJv1rBAkr\\nx0zBp/1VLj8YxIAvJEf1maJ+bDOeTo/jMXSLEZlwfQxy2Weit/8hiSwqIu2xZDG8OdsK09dKBt+5\\nw/SuIjFDOrN+9k1GrfiJJH0XukYFkZK6nuOPqmD29j0h9erReqvkFqiWnMyFRYt46+pK/xUryO3R\\nA8WB3Rh36w3GxhX3WzRqBKvHSMA1jd69Y+E3NtjmWLJbmcWxa9aUduqEnqhFVqYiLeMEkZFDadtW\\nW6HUtNryCu7XZs1iyMw8T0yM5F/39LyKtXUXRFEkN/cOlpbt//L5nTY4sfJICtYlMLY3lMvAtghi\\ntlaeIwI2cyFb9xhnBp6hn0c/AO69v4ennSeWhpYYfmdIabmURlrLBHbpUAPMzP1Y+vgugRlGyNXF\\nmObDjj51abngNXccrYlPyWLuAyoteuDFD9BwjnTgTXtjat+RFMbmX9yY4XiAxBYtcP6MAigrS+bd\\nu2lkZgbQqFEQMpkRz541IUg9istnj/BFmhWe00twrzKVDx8qgye+vjnUfhpFXKnU/++ML9KyaCPX\\n9cayVj2CiCZNqKcbx5Pp6cyLieG5tyfy0khSFfU4kJzAV7alFKbvJylpKxkWR/BvOZyNy5zo1DQZ\\nudwUjaZyZ2RQaEnznjlMHNeZ3cPnA/DLEHDUZRllfV2PM+m2ODjA81AtKZkyYhU5qLdJbpuuqxrR\\nuLkFvXtDU4leAbfqIvH7gtj0xpuWxiLNRlQSuoSGSjsFURQ5cfw4A774AsVHRWSmplpUh4NRWVTi\\n6HifNSTDu4SpW+DKs7q8E0ypujSMB20r0V7HRZowYEoRXQNFWj15RK+A+cwNgVc2kODginOxHsOm\\nzqRu9ihO/mgILsW0X5BFeZQeQUctado8nPCpKqz0FAy0syM0P58qBgb0sbCm5uAk8n/Np+aWmrhM\\nr6y1+Efl/0vLvrS0ECvXc1gpQZOjqVD04893RpSBw/ErLL92iM0nl+OQKnHgeamkoEmeYEGbAsmZ\\nbuHp8y8regABEUOXeF4/rQRBSZO7UuU9mKjsEfWL/0cVPYD9RzSMnh36M/T2bWSiSJPvDnBt+DXi\\n509k6vlzpFUzounbKPS6dMNySDwbmou0iojg1NKlWBQUUPvDB+rHx1M1PQxVhw7ojxyCcb9BaAxA\\nra6skXOhkn0rzN2dZetKSbdTkbJGyrzRV6uRhT4GmawCwOrFi/aUlaUQFTWO9PTjKBTWmJh4kZS0\\njaSkbRgZ1aNWrZ28fj0QrVZFSUkML150QKtVo1ZnExSkT2zsp8jZoigiiloSZiZwdIY/fYfAgTHn\\nODnuKt9NOEaNr+BQA7gzuSuNl9oTMq8yxa//yf6cizrH85TntD3Yltk3ZiMsFygtL+XqsKucG3Su\\nQtEDuNdcz1g3UGmKOe8HztXATPsamxAYeCaLeSGfKvq40WAzZAfvdYrX6n2lqyTMWKIdfJifz9Ws\\nLLyePCG5rFL5KJVO1Kt3hqZNo5iVase10ipYWLSns+l9egxawPVOhRgIhbT40AK1fg2cnb+mSety\\nxrxLrlD0U5ycWFbUGbHOc9aqR/DCx6dC0QN0sbLCXl8fq5AnpCjqUTs0lLWJqXiGF1IrqR9ahT22\\nucPpuQ46NU3G2Xl6haJfyzeMYy+lJjkkLKnDlLAkrDOlsR96DEoMIN8Uci++Qsx/SLt2cDdYhsax\\nqELRA2R5RxATVU7LlnD3rrTBajtAR9F49Smha59x2jiI+Fdq5owvo2lTmDAB1GqBwUOGAAoeP4ZF\\ni6BlSyhcEwYyEX6ohfV1S6w2OHOvYyGtXqXyzQaYuSKL9c10in5zTWjfFoY3ZZ9HIV0DpcHr8TSM\\nObrkvXqZ0DXiAw1iY7m/cDonz18Giyfwxozbo6sRtNYFPhgTerYR6tUaetnYsCkxkeD8fG49T2Jc\\nZDTXf7Ymywqiv4qmvOCPYG//aflfZdkvXHcTT/PBONbJJmXrBIZOHwIJv2B3J4TBHlEE/biXZ0mj\\nkcslEL/+/UEripSoS9l/cRNfth6LgZ3Dv63PCwfOocO4bexa78nkRZLCDz2wnaaH6nK6P7jLg/n6\\nxKK/aOW/V0RRpG7QTuawnoZm/fDxXo/lN5CzVnrXJeoSNg3qwKKvviN1ySIsAwN5lvKMUedGIUa9\\n5e12KNXTQy2D+Nf38MgQEVasRH7uPOjp8eyZL/n5IVStuhhHx/GELZhD8x9PU/PIEWKcP0XzG3D3\\nLkenTkLfVhqDly97kJ19+Q99NjZuQM2am4mMHIa+vh21au3B1NSboCDJ9qhadSnv3y/HwqI9Dg4j\\niIoaDVCxQxBFkQcPnFCpUvHz+/ycOvTiEKPOSfEaNws3IqdGkleah0qjYvvj7awLXveHay4PvUw3\\n925otSru3VPi4XEUS8sO6OvbEXhX+f/aO+/wqKr0j3/OlEwy6clAGqGEhNAkdEISiqsoxS7qKqyi\\n7gq6oLuoWFcRcbHxUxcFuwKKuqKiKKKIE5BqICF0khBCEkJ6I3UymfP7416SQIIUJ8Xlfp4nT26/\\n31vmvee85z3vaXBZeXpFc6J8G57PwpCfm5/76OKJFE79lKE7dyLHjuX4cBcCkurIuhmWzfmGp0o8\\n8TEYiHJ3Z0NZGZe4u/NzVBQW9cNd53CQY7PRfZvSZWVNbwudsqchhA6DwZequhPEVPwbHfUUxozi\\nqr172VJezpzQUF7o2RO7w4Fx48YGPXWjR2PQNS/XPZ6ezoJMxVCv6t+fx9LTOVBVhT+FrEQJg9Qb\\nLDzu/iNPd/Hhq9wUVpV7kFNXx9b+AdTs7Uvgz1H0fjaZr2Njuf7ZeUhx6nkG3z+Etes9iXljB0UD\\nKnjnb/UseeAY60d3ZfCXZkoia8h4ajj+0kb5O8nY/E/NcLnqWsgKhqerRlKcaWLkSLBYYPW3EoKr\\nsUwsorBLGYwu5F+JQ5k324NPH9jK+K/vxOfoIew6Hb7PfEtFnNrX5rAOXdY4gjwDcNf5kbL0HXi5\\nim6r3iXjDSXPht0NDNXwzt1/om/sBmLvUjSF3Q9HvA0MMkxl1qQ/MTHySuoq3QkNMUDQTrh5N6y9\\nFfZ7I+6yIv8iuMzHh/+86ELoQ6F4Dr6wHvXOKtm3q7Hfnbeb8qITLF20nMWvLyJ6zlUsvPpHuOm/\\nvD1N8nXEJqoenkOQexemuVzJ+Le+YvSVZurqGgM4WpNZdz7OxJGr2bHTTtz1GQjXGg7NWkvkXhMb\\nR4FvxA/Mem9B6ws5CyI+npv5jDl+BcSt/o68h/LwMjVWgXfM+guLPLqwdMAAuFWJqc8qy2LJjiW8\\n//0CFn8HDosfk39pPozatm1h1NUVUV+v5EoZ3HU9dbc+QJLdhQIfH564+26OBCspGdbOmcOVmzeD\\n0Uh5eQKJicPx9b2ckhIlVl4II1LWYTQGEBNzjA0blGp4XFw5BoMn8fGN77OX10jKy7c2zOv1nkRG\\nvk/nzpOpqcli2zYlW+OZjD1Arb0Wu8OOyWDCoGus8kspWZe+jtHdRpNXkccHuz7gln63EOHbhZ07\\nB1Ndndbs2Dt3RnPixHb8/a+iqOhbunX7F0U/PsvQGVDnpYyIlvg69H8Syrd+QFrQ9YxMSqIkNpaf\\nvupMkLGUIyYouySddaUVfF1URE9XV/q5u/NNkXLfS2JjeTg9neW5udRKSajJRJZa6i+MjiIn9Q6K\\nilaT2XMPq8sFKwsKGvTtGTr0lGR696emsuiYkrJBniEPVaHNxrK8PK6zWAhzU4xhZk0N3bZtY35g\\nNbG5E1kjbuAlOQuAAKORzYMHc+fBg2wqKyMtLJnyHa/Sf0YBhoLKhp64Bmjo2hj1q47bGM0iy8+8\\ntmgpN+xaRo5vJ6Jf/ZCsruZmmkIyKjjW3YOJjlzW6E4tuLnUCmwzhoBfHSxUagkeVVChHqZsSBwV\\nET4E5ylpDUfcDd+ugE7VMPT2XJL8jvPXo+O4Zk8hA7zC8czIYfKNkvWmUHauTCHCC356ywebqR8B\\n1Zsb/R5fBjN2UQ7VZhf0/5iNy9x5igFKTYXwcF588xhzXyqg+sggHuz5Ef5/jWPem+XU9PTGddZR\\nNl02iCGeF2bowXnGXq0Ot/6fcqpTWdhjoVzqv1Rasco132+Sk+4dK60vRsnt3R+UrmuscuUPFTIt\\nTdl2xgwpq6ubHaJVmX33PPn1S6PkZwstcv3CIdLa601pxSqtWOXHQVa55JF/ta2gM7CzvFzetm2R\\n/Gbb6JY3+OQTKVu4/za7Tc7fMF/2X9xfTvliSou7btrUWVZU7JdJSX+SVisyOXmClFLK/UO7yXqB\\nvPL55yVWq8RqlTa9vmG/jIznZErKTOlw1EsppbTbK6TdXimTkyfIPXuul1JKWVKyUZaWbm3UYyuR\\npaVbZH7+V7KurlQWFn4r9+69SZaX75R5ef+V8fFGWVGxTxYXW+XOnbFy40ZPabMVnaLX4XDI6urM\\nZtexY8cwmZn58m/cRSlzcz+RVity06YAWVDwzRm3czgcMqemRn4RHyytVuSRvyAlyOKcNdJqRVZX\\nH224J5/k5soxb3eX3V9EMhfpEh8vH0hJkV22bJFYrXJBRobEapV9t2+XgxMSGvbDapXpVVWy0GaT\\nWK1ybVGRrK+3yYrqHInVKt/IzpZYrXJgQoLMr61tpvFodbX8ODdX1jscv3nNLfGfrCyJ9Wf5zKZb\\npL/1c3mkqko+mZ4uy+rqpJRSnqirk323b5dYrTIn5z1ptSL3ztPJeoFM6tlT/tTTJO+/70q5t0uI\\n9P7qZ+k++ph0XfOzrDIalfcQ5NqoS2WPd7+Rt0x9qOF6p960RP7QvY8M+Ydyr8a8c438fkOdnDKv\\nVEbN+0V6rWq8NxMfssqfdFb5PRvk4H7pss+9WxqOLUFWhCKLByELhyEdIMvddPKnq/ufso0Eadfr\\n5Ip+yvTxYcZT7sOaDf7yA2tPabUiDz5hbtwnsru0h3SSEmTt4DDpWLBA1m3aLA89+k7DNvnRY6TF\\n9XiD3t+Dajt/tw1u15J9vOEncK+ES63MzQlmwshlRLv788LlI9hii6Z0/A1tou1MPHzPcwyqqCT4\\nngXIjaMRTz9zyvq899O55c672kndqbyd9h2+uXO4KW5fyxvk5IBaAj8dKeUpPXMBkpLGYrFcR3r6\\nHOLiytHrXSku/ondu8cxerQNkVcINTVMefcdPhl3BQXXXot/djbC05P6+ko2b+5E376fYbFcfdq5\\n6gFds/OdDSklaWn/5NgxpQObu/slOBw26usriIlpHKqxuPhHdu++8pRS+eHDD5OV9TIAYWEvEBIy\\nE72+eakyI2M+DkclYWFnr62tLSrisT3LeIXZdHVMoSLhY/o+eAK93owQuobAAYD5rgfIKznAwzFz\\n6JqUxv5hw+ibkABAQUwMWbW1vJ+by+vHjvFcjx70NZu5xmJBp96j+1JSWJKTQ/LQoawuKuLJI0ew\\njxlDWnU1vgYDnZu02ziLlzIzmZOeToSbGykjRjRbX+dw4LJxI5H6Qt4xPkF9TQqGMogrZR4OAAAY\\n9klEQVS77tTtnrrxOZ6dGcPYhDSsc/5GYQxYtkC9C1RLpQf1isEDeODSEpZd9RQTLv0b8REuePSN\\n4r5OCTz18GpyK3IJzr+T1/5ewMCIg2yNgYgXg3FMjqBXpGDWLDD6GzDZ6jk6FY7cfaqGI6tu487X\\nlEitb6Oj+fNzj2PTmQjJLWT/PTNwU8cOWPPqQCY+0Jj11uGwUWW3sWOLJ5WYsRyrwncneCcDAmoC\\nQFcrCP2i8V3Lvh5KhkLwah1edf0JT11J5gf5fNCjF9MGdbqgZ+Gskr0z8tlfMPYP78bQRfEZzp3y\\nEeTHUu9XzPe6iVyRvB7a2djrEJzYFQOAqGkeOdFn7IX1iGsNeniEUFWvNKQ6HDaSkkYzcKAVvV71\\nVZ7B0IPyMtntJ9Dr3SkpWY+v7+WUlW2grGwDrq490OuV8FI/v8sxmbpRW5uJW5AS8/j02v/iVV2D\\nKWk7dlcbO7Yq6wE8PJrn7xZCT77Nhl4I/M/DFydRGi9P0j3sBYrLd3D86FNs3dqV3r2XUV6+mYyM\\nuQBUVu7DZArFYPCioOALgoNnkJPzJunpj5CX9zGDB29FrzeTkjITi+Vaamuzycj4F2FhyjBlNoeD\\nB9LS6G02E+Xuzljf5r09dzGQ2NgybLYsXHpFYzAobpQ6hwM9sHXwYIYnJvJkTR/WR/8ZD7MH3voj\\n9HF3p4/ZTH93dywuLlhcXJjn6srrx44xzNOTcX6nZghf3KsXfc1monYo7UZLIiLQC0GkufkHy1nM\\nDAlhTno6H/dpuTOQUaejYtQoZqamMuvER3wU9CGFLGb7UiXvz4BHFGP4N+tCNvaP4eGN77D7BTg0\\n/kEGL1lIzzfBrMY23Ja4m1vdYhEL/wbA2FQbpCbwK7B505+JLKxm4u338eiylWT/dDWmlbXcvm4f\\nNT/fjbmoAvefp0JdPfueghM3/QUKl5NCBPexmL/zBpXXCbZd9g1D0vdTN2Ap3wo1PjYQxq2czz/i\\nPyZo6AGyQk5Nf67TueDh4kJB3zzezj6EO1/wXcgk+o3LYI9bGA50eNTbGDxzG/ceWE7/wsM8Muoh\\nEu1Dmd7lQ+besZYjngOIe+BDjj/rBRdo7J1Fu5XsDx9PJ+tQY44Qnn8E/vwpa8R4Xur2Z2Yc17Hk\\n1tFtou1MPHPfywTF96fX4gnw86Xw7FPk9ziBu7EU95RQYu2xGPVt0HhwDiSWHqdwVw/GjanCZjvO\\n1q1KqFdAwB306fNhw3bFxT9gNAaQlfUiffs2xqXHxwv8/CZRXPwdgwZtYc+eqzCZutC1+1x8/a/F\\nRW3gS0yMISzsBXx8lA5L9eVlFE4YTcDmZLZt60lNTToA4eGvccxrGtGJic18xrr4eCRQFheHl8FA\\nRnU1z2Vm8mJYGL5GI5X19cQkJpI8TMl2OffIET7Nzyd5YBfy8z8lMHgmLr8o/vxjvVJJSbnnjPfF\\nxSWYurp8hg9PQaczUVz8I4cOKTkMzOa+VFXtx2zuR1WVUiOKizuBweDB8txcbj/YGMFTNWpUw2Dw\\nAG/n5DA9JYUdQ4ac4o89Ul1N2PbtgOIrP1BZSd+EBOb36MEob29mp6WxY+hQKux2XHS6hvsKUFVf\\nj1l/5uiu74uK+LaoiNcjIs67ZnQh1DkcGFto2G3KVwUF3KAGzO+6xELJHiX5n6gHHDDiJj2izBuj\\nvphNO99nTEkPLpc/8v7iBYSubH68yu7gngHHZ99GpzdXYrAEgtqI/GEU7PrnrZSX5rLoISsOgw7P\\nmsbu7NPWTWOp4Q48KSfE1Z+EoSPQ12WxbecIdti7cYA+3M5yLJbJdOnyAFVV+0lJUZIIHfb9F1P7\\nP4lJ33ItSUrJ7MOHiS8tZZS3N+FubkR5eDDc05MvCgpYnprK+vpa3goI4a7evfng+5WUiwX8Y6Ja\\nU3A4TkkHcj784Uv27y34gstHd8L8nhv7JnvTU024shcvHkkJ59k7Lzwu1Vm4uQrqTw64bFIayqr8\\nqjhqdiWsxN5hDD1AZ1dfyqllwwY9ZvfGEcDz8pbSrdtjmM2R5Od/zv79jaPdm0yhhIbOxmhUhgY8\\nGTmTlBSDweDDwIFWbjmUw1f7NrIoPJwbO3XCw2MwZWWbcXEJwGzuhd7Lm4DNSmPZSUPfvfs8unS5\\nn83qyEnrS0q4zNeXvRUVeBoMDdnynzhyhE5GI0+rqWOzamp4s1cvCuvq2F1Zyf7KSsrsdp45ehSA\\nbIcfPUMfJKWqquEagoL+irt7P4Qw4uWlfBykdJCXt4L8/I8pL99OaOgcXF27I4QgKGgafn7jSUqK\\nxcUlCLO5F4WFq4iIeIOQkMaxA04a+mv8/XEAS3JymB0ayqtZWdwRGMh0Nd9Pvk2J0MmtraW8vp6M\\nmsbQVIA+ashjN5OJrwoL6a/Oexia//R+y9ADTPD3Z4J/8zFvW4uzGXqAq/39sUZFcWlyMgP3FLKn\\nz0909xnA6iOfsaJYx2uT/07IshJK+wsmlVgwCcGQ0LuZe0cOD/ZeSsFYCP0UEJAzCeyeqA2jKzh0\\nNQwc+BH1O7bgP+5RpiUD05r0XPbxIz/Ci5rSQuoG2DhonsR0/yCe6j4Sf6MRk04Hhh4MGfAdInE4\\nw9hBePhrdOlyv7K7Txw6nSsHD97B3VHzfvM6hRC8Eh7e4rqpgYFMDQykur6+oUAwdfyN3LwpAPvq\\nh7lvxq/ov/4A03Xt6/JtN2Ofm5KP7oYCIn6OoHOynswVkFYTgf+eWp5/uP0NPUAv3yoK6tWSg14J\\nv3J4lbD5H7ksKcvjRi7/jb3bFovRyGLGcQXrqKpUjG8q4USQRnbuCnqFPdNg6AcMWEt6+qNkZb1I\\nRUUyvr6XAhAUNB0/v3Hs2zeZESMOYzT6seOE0o9hVloas9LS2BQSSN2Rxzhy5DHc3CIJDX2IoKA7\\nqa5WcpKPHJmDyaTkJDqoGuXLk5MJdnEhx2bDJASRbm68GxnJqF27CHN15Vp/fz7u2xePX36hh1oq\\nBuiXkICbanAm+fkx9cABfoqKIq26mit8fZUPQlUV/bxjGvapdTjYUFrKFYFTCQxUMop9np9Pzw0b\\neKJrV+aHhWHTW4iOVgazXpGXx8iwjwkxm0mpqmJccjKZagRMUWwsfkYjKVVVDN6xg3opmZOeTpE6\\nSMj1FgsVagqFUbt2kVZdzW2dlQ/ntU2M8u0BARyoquLV7Gw+7N3bCU+742DQ6Rjr60vq8OH88/Bh\\nLjlQBOxjgPsIdtsqmXHbFHyTPyXxlnBG+XVjVf/+COCe2ge5xiOOUnxYOuUO3FHelT3GcVxSt44v\\n3BdyY+WDbNp9Cy6GMrqlzqXX81mI95SRseT8+dQ/9gi/pL6N4fgTeFPD90OvwteleY92L69hjB5d\\ni5T2Zm01gYG3ExDwF6fci6Y1Pxedjq9GjeK2/e9z8/L3WejZmcjf2LctaDdjHxWeR0leOPofv0e8\\nvJZVu35l6cDrmMb69pLUDHeTG5WOGurtevQ7lV42Os8iVl0zt32FtYCrXs9axnMF6wB4kJdJZAhz\\neZoxmfPw9x5JJR5cwyrq/S7D03Mo+fmfk5p6LyUlP+DmFkFkpDKo85gxduqkEs9e7XCQMnw4844e\\n5aO8PBaW9eF+9ZzV1YdIS7uflJS/NegwGv2RUrKxrIy5GRm463RUqnHjALXqMWO9lcRj6TU1/DBg\\nAO5NfigBRiNf9u/PjJQU9lRW8l5kJDd26sR1e/dyw969pFZXc63FQq7NRv+EBDYNGtRwvNWFhdy0\\nfz+OJumgH0lXahzPZWayMDubGoeDh0JDuS84mCkHDjC5Uycq6utZW1xMhJsbA9zdualTJ/zUNoVe\\nZjOVDgdz1OPMP3qUx7t25d+ZmXxVWMj43FzS1FwqK/LzmRoQwLuRjT/tErudZWqq4hstFic98Y5F\\nuNnM1/37o9+wgX5mM7srK4n28uLm8ttZ/6GRZ4qiWNSjR4Pb6sXwSFZ6+3Fr5848lLaVE/XwZq8I\\nxhhdEUIQ63BwT8pEuplMHMv/kinZD3H8Voial4B5y2FWhKwkcKMX/lSzSxfLBscQvjSeOSWBTucC\\ntOyiaS2XmBCCT/r1Y7n/w7j7NE+Y2Nac1dgLId4HJgH5UsoWR+MQQvwHmIAyUtU0KWVSS9udxOGQ\\n9PQ/TvmuELznh+E5bAZ/7bGa1z7zZVAP53WK+r34BVyC8bCJf29ZyuMrlcZBYXZ+5IOzuCt0CGTB\\nSm4k2xjNJ+HhPHBgJmPYyMG0h9nFABxqYn6j0Z/g4Ono9R6kpz+Kp2djl1Eh9Jg2xBPu5kZJXR3d\\nXV1Z3qcP/+zShSE7d7Isro70/ddRVvYLUtadouHFrON8XlBAYkUFN1gsfKCWZI/U1OBvMDD1wAFM\\nOiUaJzcmhuzaWsLVhsbU4cMJNpka3Bm7VZ/9SSb4+TUY7qe7dWN6UBB9EhKIS2r+uvXYto2jtbXM\\nCA6m1G4nZfhwhu7cSXl9Pc+HhfFoejovZ2Xhqdc3xKu/ERHBvcHBLf74V/XvT7SXFwLYXFbGNRYL\\n60tK2H7iBGuLTx2F80aLRXEhqGQ2ce24n8VV80dGJwRy7Fhya2t58PBhnu7enf9kZ3NP2X3UmhwM\\nbNK20cnFhXvVTnnv9mnekG/U6RrfncD7uHm7gxn6NyFlGFigprY31V0/YkDnYQx2DWKSzdYm7RgX\\nwl8CO4ZNO5dhCUcBFcCyloy9EGIiMFNKOVEIMQJ4TUrZLEylaQNt78deYnHkEg6s68PfP1b8xFUp\\nVdTs+g6/CePhd3RAcCZltbX8EvEdb0/2Y/YryrLKpTVMun18+wo7A5tLi3lh13y+YxLZI+MIMpnY\\nVlbGv5OeYTavsNr1UV6ruZKjI0eysbSUW9VRkKR08H1RMXE+PhTU1dHTza0hdHC0tzcbBg1qOEef\\nX3/l8759iTTV4nDUsm/fjZSXKz093/P5jo9KG6vJ311yCRNP8zHbHA4MQjSEFZ4PKVVV3HnwIJ/3\\n60ewmlemzG7n3pQU1hYXsyAsjOO1tVTU17MwuzEcc0ZwMG9ERJxyzpr6enRC4KLTkV1TQ5DJhP48\\nNe2uqCBqxw5MQlArJUlDhnDbgQNsHDiwoTcswA/FxZTZ7VxvsZyTH/x/iZSqKiJ//ZXHu3blubAL\\nH8wHIL7gCO+mfU6P2h+YOvBtIn16nn2n/wHatAetEKI7sPoMxv5NwCql/EydPwiMkVLmnbadlFLy\\n5uofOfFSLYOevJkTT0/m+q3Lf+81tCpfDH2LLUGRDNtdzdFAV2bGR+PudpZhDtuJ47W1BG/dyvqo\\nKP7UJFTw3UMrCD8+hS1d9/HfokqSK5UehmsHDGCUtzdmvf6UuPAlERHcm5rKq+HhTO7U6ZSEXRN2\\n7+buwEAmq77p5ORxlJT8RO/eSwk6qPRqfaxrVyrr65nXowfeLTRE/q8xLyODpzMyzthT9WKnuK4O\\nX4Ohw5a8OzodKRonBMhqMp8NdEEZnPwUvlrxJStX72bOFfEEJNQQedttTjh965LZ3cDVX0ByjI0r\\n1sZ1WEMPEGQyURgb2yx+PcjvUp48/iyfh/RkSrDkk7w8XsnOZvzu3dzUqROTmpS+vfR67k1N5d89\\nejArJKRZCTzO25ub9u/nspwcpgcH0yt0EZT0Icd8HZDI0ehourq2b9rntuah0FD+GvT7Bsr5X8av\\nLXKbaJwVZxW7Tv/qtFhdePW1J6iw+fARicRtm83dB65w0ulbj7hnxlD5RTY1rpJBHcS99Fu01FEp\\nzrcTY7reRpBaQn+0WzfuCAxkWV4ej6an83lBAYEuLuwbNow8m42DVVVcZ7G0WBLro/rX15eWsr60\\nlGgvL7ZhhcREAIJaoTdnR8es1581bFJD41yJj48nvklN21k4y40TL6X8VJ0/oxvHaoWchKuxmPdx\\nxd8PO0N/qyOlZINuAylx2dzzy9T2luNUpJSsLCjghcxMRnp7sygi4pz2O2G3E5eUxG7VHXQSATg0\\nV4aGhlPpSG6cb4CZwKdCiGig9HRD35TgYasRX5+bUekInCzdBtcUn2XLPx5CCG7q3JmbVP/7ueJp\\nMLCib19O2O2M3bWLWrXAUBQb2xoyNTQ0nMBZQwOEEJ8AW4BIIUSWEOIuIcR0IcR0ACnlGiBdCJEG\\nvAXcd8Zj/UcZis4l/DVnaG9TioX32Te6iOjn7k60tzfT1Zw7BTEx+Gq+WQ2NDkub5saxV9vZ88oe\\noh6N+kO1zE9e8B3XX+LNlKvi2ltKh0NKSXxpKZe2kChMQ0Pj9/M/MXiJhoaGhsZv8z85Bq2GhoaG\\nRuugGXsNDQ2NiwDN2GtoaGhcBGjGXkNDQ+MiQDP2GhoaGhcBmrHX0NDQuAjQjL2GhobGRYBm7DU0\\nNDQuAjRjr6GhoXERoBl7DQ0NjYsAzdhraGhoXARoxl5DQ0PjIkAz9hoaGhoXAZqx19DQ0LgIOCdj\\nL4QYL4Q4KIRIFUI80sL6sUKIMiFEkvr3pPOlamhoaGhcKOcyUpUeeB0YD/QFbhVC9Glh0w1SykHq\\n33wn62wVWmNQ399LR9QEHVOXpunc0DSdOx1VlzM4l5L9cCBNSpkhpawDPgWubWG7P87QUyod8cF2\\nRE3QMXVpms4NTdO501F1OYNzMfYhQFaT+Wx1WVMkECOESBZCrBFC9HWWQA0NDQ2N34/hHLY5l7EE\\nE4FQKWWVEGICsAro9buUaWhoaGg4jbOOQSuEiAbmSinHq/OPAQ4p5Qu/sc8RYIiUsrjJMm0AWg0N\\nDY0LwBlj0J5LyX4HECGE6A7kALcAtzbdQAgRAORLKaUQYjjKR6S46TbOEKuhoaGhcWGc1dhLKe1C\\niJnAD4AeeE9KeUAIMV1d/xYwGbhXCGEHqoA/t6JmDQ0NDY3z5KxuHA0NDQ2NPz5t0oP2bJ2yWumc\\noUIIqxBinxBirxDifnW5nxBinRAiRQjxoxDCp8k+j6kaDwohrmhFbXq189nqDqTJRwixUghxQAix\\nXwgxor11qefYJ4TYI4RYIYQwtbUmIcT7Qog8IcSeJsvOW4MQYoh6HalCiNdaQdNL6rNLFkJ8KYTw\\nbktNZ9LVZN2DQgiHEMKvLXWdSZMQYpZ6v/YKIV5osry9nt9wIcSvql1IEEIMc7omKWWr/qG4ftKA\\n7oAR2AX0aYPzBgID1WkP4BDQB3gRmKMufwR4Xp3uq2ozqlrTAF0raZsNfAx8o853BE1LgbvUaQPg\\n3Z661OOmAyZ1/jPgjrbWBIwCBgF7miw7Hw0na8+/AsPV6TXAeCdrGnfyeoHn21rTmXSpy0OBtcAR\\nwK8D3KtLgXWAUZ3v1AE0xQNXqtMTAKuzNbVFyf5cO2U5FSllrpRylzpdARxA6R9wDYphQ/1/nTp9\\nLfCJlLJOSpmBclOHO1uXEKILMBF4l8aOaO2tyRsYJaV8H5R2GillWTvrKgfqALMQwgCYUQIE2lST\\nlPIXoOS0xeejYYQQIgjwlFL+qm63rMk+TtEkpVwnpXSos9uBLm2p6Uy6VP4PmHPasna7V8C9wALV\\nHiGlLOgAmo6jFLAAfIBjztbUFsb+XDpltSpCiSQahPIjCJBS5qmr8oAAdTpY1XaS1tL5CvAw4Giy\\nrL019QAKhBAfCCEShRDvCCHc21OXVKK5FgKZKEa+VEq5rj01NeF8NZy+/FgragO4C6Wk1+6ahBDX\\nAtlSyt2nrWpPXRHAaCHENiFEvBBiaAfQ9CiwUAiRCbwEPOZsTW1h7Nu1BVgI4QF8ATwgpTzRdJ1U\\n6j+/pc+p2oUQV6GEqCZxhvQSba1JxQAMBhZLKQcDlSgvX7vpEkL0BP6BUnUNBjyEEFPbU1OLJzi7\\nhjZFCPEEYJNSrugAWszA48DTTRe3k5ymGABfKWU0SsHrv+2sB+A94H4pZVfgn8D7zj5BWxj7Yyg+\\nu5OEcuoXqdUQQhhRDP1yKeUqdXGeECJQXR8E5J9BZxcaq1LOIga4Riidzj4B/iSEWN7OmkB5HtlS\\nygR1fiWK8c9tR11DgS1SyiIppR34EhjZzppOcj7PK1td3uW05U7XJoSYhuIinNJkcXtq6onysU5W\\n3/kuwE6h9MtpT13ZKO8T6jvvEEJY2lnTcCnlV+r0ShpdkM7TdKGNDOfRGGEADqM8dBfaroFWoPix\\nXjlt+YvAI+r0ozRvyHJBcWscRm0IaSV9Y4DVHUUTsBHopU7PVTW1my4gCtgLuKnPcinw9/bQpL67\\npzfQnpcGFBfiCPVanNEYerqm8cA+wHLadm2mqSVdp61rqYG2Pe7VdOAZdboXkNkBNCUCY9Tpy4AE\\nZ2tyutE4w4VNQImGSQMea6NzxqH4xXcBSerfeMAP+AlIAX4EfJrs87iq8SBqy3gr6htDYzROu2tC\\nMa4JQDJKqce7vXWhNOrtA/agGHtjW2tCqYHlADaUtqc7L0QDMES9jjTgP07WdBeQChxt8q4vbktN\\np+mqPXmvTlufjmrs2+FeNWhS36Pl6jl2AmPb+fndiVKT3Y5ir7YCg5ytSetUpaGhoXERoA1LqKGh\\noXERoBl7DQ0NjYsAzdhraGhoXARoxl5DQ0PjIkAz9hoaGhoXAZqx19DQ0LgI0Iy9hoaGxkWAZuw1\\nNDQ0LgL+H/LKAy4Bwr41AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11fe8ccf8>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(mvalid.num_samples):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x12ade5ac8>]\"\n      ]\n     },\n     \"execution_count\": 45,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11fe8f5f8>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([mvalid.daily_returns, mvalid.pos[0]], feed_dict={mvalid.x: test_ins, mvalid.y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX8AAAEACAYAAABbMHZzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8W9X5/9/HkixZ3nuv7EVCyICEEYcUSFihQFkBCrSB\\nQqHMX4GWEmhLoWxaCt9ACTuMsKHMkJgECFlkkuV47yXLS7KtcX9/HMvynkrskPN+vfySdM+55x5Z\\n0uc+5znPeY7QNA2FQqFQHF34DXcHFAqFQnH4UeKvUCgURyFK/BUKheIoRIm/QqFQHIUo8VcoFIqj\\nECX+CoVCcRTSp/gLIVYIIcqFELt6KF8shNghhNgmhNgqhDi1XdlCIcQ+IUSWEOJOX3ZcoVAoFINH\\n9BXnL4Q4GWgAXtE07ZhuygM1TWtsfX4M8L6maWOEEDpgP/ALoBjYDFyqadpeH78HhUKhUAyQPi1/\\nTdPWAzW9lDe2exkEVLU+nw0c1DQtT9M0B/AmsHgIfVUoFAqFj/CJz18IcZ4QYi/wGfCH1sOJQGG7\\nakWtxxQKhUIxzPhE/DVN+0DTtInAOcCrQgjhi3YVCoVCcWjQ+7IxTdPWCyH0QATS0k9uV5zceqwD\\nQgiVXEihUCgGgaZpgza0h2z5CyFGeyx9IcRxrR2qBrYAY4UQaUIIf+Bi4KPu2tA0bUT9LVu2bNj7\\ncKT0S/VJ9elo6NdI7NNQ6dPyF0K8AcwDooQQhcAywNAq2suBC4ArhRAOZFTQJa1lTiHEjcAXgA54\\nQVORPgqFQjEi6FP8NU27tI/yh4GHeyj7DDkJrFAoFIoRhFrh2w0ZGRnD3YVuGYn9Un3qH6pP/Wck\\n9msk9mmo9LnI65B3QAhtuPugUCgURxpCCLThnPBVKBQKxZGHEn+FQqE4ClHir1AoFEchSvwVCoXi\\nKESJv0KhUByFKPFXKBSKoxAl/gqFQtETe/bA5s3D3YtDgorzVygUiu7QNPDzg3HjYP/+4e5NF1Sc\\nv0KhUAwVqxUKCjoe27BBPk6bdvj7cxhQ4q9QKBQrV8J993U89uGHMHMm1NUNS5cONUr8FQqFoqYG\\nGho6HvvkE7jiCln2M0SJv0KhUFitYLN5X7vdcOAAzJ8vy36GKPFXKBQKqxUaG72vq6shNBRiYpTl\\nr1AoFD9bOot/WRnExUFYmBT/8eM7jgx+BvQp/kKIFUKIciHErh7KlwghdgghdgohvhNCTG1Xltd6\\nfJsQYpMvO65QKBQ+o7345+TAp59CbCwYjWAwSBdQWdnA2nzrLfj+e9/31Uf0x/J/EVjYS3kOcIqm\\naVOBvwHPtSvTgAxN06ZrmjZ78N1UKBSKQ0h78b/tNvjzn6XlDxAeLh8rK/vf3k8/wdVXwx//6Nt+\\n+pA+xV/TtPVAj04vTdM2aJpW2/pyI5DUqcqgFyEoFArFYcEz4VtaCp9/Di6XV/zDwuRjRUX/29u0\\nCc4/X64d2Ly56xqCEYCvff6/AT5t91oDVgshtgghlvr4WgqFQuEbPJZ/QQFMngyBgdLtA17LfyDi\\nX1ICKSlw4YVwzjlyvUBRke/7PQT63MC9vwgh5gPXACe2O3yipmmlQoho4CshxL7WkUQH7mu3uCIj\\nI+NnuV+mQqEYoWiaFH+XSz6Gh8Mxx3gt/+nT5eNA3D4lJTBhAkydCk88ASefDO++CzffPOhuZmZm\\nkpmZOejzO9Ov3D5CiDTgY03TjumhfCrwHrBQ07SDPdRZBjRomvZYp+Mqt49CoRg+GhshOlreBJYv\\nhw8+gFtvlRE+MTGyzmOPQXExPP54/9o8/3xYsgTOOw9Wr/ZO/N5/v8+6Pey5fYQQKUjhv7y98Ash\\nzEKI4NbngcDpQLcRQwqFQjFsWK3Srx8YKC320FBpqXuEH+TNYaBun4QE0OngjDMgImLErRfo0+0j\\nhHgDmAdECSEKgWWAAUDTtOXAvUA48KwQAsDRGtkTB7zXekwPvK5p2peH4k0oFArFoKmogKgoqK2V\\nE76hoV3rxMQM3O2TkOB9HR5+5Im/pmmX9lH+W+C33RzPAY4dfNcUCoXiMFBQAKmpkJ0txX/ChK51\\n4uKkoPcHt9u7SMxDeDhYLN7XTz0FDgfcccfQ+j4E1ApfhUJxdJOfL8U/MLBnyz8lpf/hmhUV0o1k\\nNHqPtXf7FBfDXXfBgw8Ove9DQIm/QqE4uikokOLe3uffmfBwadH3J8lbTg6MGtX1fItFTio/9xxc\\ndJFMFe1w+OY9DAIl/gqF4ujlp59g69aO4h8S0rWeEHJ0kJ/fc1ueqMXuxN9j+b/9NrzyCtx+uzxW\\nXe279zJAlPgrFIqfJx99BJdfDjt29FznN7+BzEwp7EFB0NTUveUPvbt+GhshOVneAHqy/Gtq5I1m\\n6VIZ/x8TM7AIIh+jxF+hUPw8Wb4c9Hr4xS+6btQC0r+/fz8kJcmYfs92jT2Jf2qqFPaLLupqsWdn\\nS19+fX334m80yr5s2eKdUI6OHlgEkY9R4q9QKH5eOBwyMdumTfDAAzBnDqxa5S1vbJR1Vq2CRYug\\nsFC6YObNk+XduX0Axo6F116T511+OWzb5i3LyZGPlZXyRpCe3vX8iAj47juYOFG+HujaAR+jxF+h\\nUPy8OHAA/vEP8PeHxES47DK5H6+HoCAZYvnEE/CHP3iPz5wpH3sS/3PPlZb7kiWyzjPPeMs84p+X\\nJ91MM2Z0Pf/446GlBcaMka8HunbAx/gst49CoVCMCPbsgbQ0+NWv5OuxY70TtXa7fNy5U7phTjjB\\ne57RKEU8qXNi4lbGjIETT5Q3k9BQmfrZQ3a2fHzzTZg9u/sbyIoVsHCh3B8Aht3to8RfoVD8vNiz\\nRwr0Aw/I10lJ0rUD8M038jE7G8aN63pud+6a9qxdK8W7tlZGCrnd4Ocn24uMhHfegbvv7v7c0FA5\\n2eshJqaj6+gwo9w+CoXi58WePTBpkvd1dLSc8LXZZFrlmBh5M+jJwu8Nj9UeGirnDnQ6cDph+3bv\\nZu/H9jOxwdlnw003DbwPPkKJv0KhOPJxOOTErtstI3jap2jw85O+f080jsfiH4z4t+fFF+Xj+vXS\\nheTx80+Z0r/zk5L6X/cQoMRfoVAc+Vit8MMPMqdOXl5X901ysrT2fSn+V10l5wBWroS5c+UIIywM\\n4uOH1u5hQom/QqE48vGkXdi+XW7K4tl9y4PH719fD6NHyxW7QxV/kBPL77wjxT82Vm4CI46MnWvV\\nhK9CoTjy8Yi/Z7VuZwFOTJSpG+rr5aggOloeGyppafLac+fKHb+OO27obR4mlOWvUCiOfGpr5WNm\\nphTkzsTHyxW9DQ0QHCxdNVOnDv26qakQECCF32DomMN/hKPEX6FQHPl4LP/Nm6Ugd8Yj/vX1UvwX\\nLJCROkNlyhTZlicK6AiiT/EXQqwQQpQLIbrdglEIsUQIsUMIsVMI8V3rfr6esoVCiH1CiCwhxJ2+\\n7LhCoVC0YbXK3DyJiR0XbnmIj5eTwR7x9xVz5sDHH/uuvcNIfyz/F4GFvZTnAKdomjYV+BvwHIAQ\\nQgc83XruJOBSIcTEoXVXoVAousFqlRZ4URFccUXX8ri4jpa/om/x1zRtPdDj5pOapm3QNK3V4cZG\\nwDOFPhs4qGlanqZpDuBNYPEQ+6tQKBRd8WzC3hOd3T4Kn/v8fwN82vo8EShsV1bUekyhUCh8S21t\\n7+IfHCwjgEpKlPi34rNQTyHEfOAa4MTWQ1p/z73vvvvanmdkZJCRkeGrbikUip8ztbUyX09flj/I\\nSJysrCNW/DMzM8nMzPRZe0LT+tZoIUQa8LGmacf0UD4VeA9YqGnawdZjJwD3aZq2sPX13YBb07R/\\ndjpX608fFAqFogsrV8oUy5MmwUMPwTnn9Fz38svh9ddlLh5fRPoMM0IINE0b9IqyIbt9hBApSOG/\\n3CP8rWwBxgoh0oQQ/sDFwEdDvZ5CoVC04Ynv37On77QKc+bIx5+B8PuCPt0+Qog3gHlAlBCiEFgG\\nGAA0TVsO3AuEA88KuarOoWnabE3TnEKIG4EvAB3wgqZpew/N21AoFEclpaVw771wzz19x9ov7C1o\\n8eijX26fQ9oB5fZRKBSDZelSuQPXddcNd08OO8Pu9lEoFIpho7T0iMmiOdJQ4q9QKI5clPgPGiX+\\nCoXiyEWJ/6BRPn+FQnFk4nLJjJqNjUdkYrWhonz+CoXi6KS4WO7HexQKvy9Q4q9QKI5McnO7bteo\\n6DdK/BUKxZFJXl73G7co+oUSf4VCcWSixH9IKPFXKBRHJrm5SvyHgBJ/hUJxZFJQACkpw92LIxYl\\n/gqF4sjEYoGoqOHuxRGLEn+FQnFkUlMD4eHD3YsjFiX+CoXiyESJ/5BQ4q9QKI48HA6w2Y7YXblG\\nAkr8FQrFkYfVCqGh4KckbLCo/5xCoTjy8LHLp7S5md0NDT5r70igT/EXQqwQQpQLIXb1UD5BCLFB\\nCNEkhLi9U1meEGKnEGKbEGKTrzqtUCiOcnws/qsqK3m0sLDL8YLaAg5UH/DZdUYS/bH8XwR62/+s\\nGrgJeLSbMg3I0DRtuqZpswfRP4VCoehKTQ1ERPiuOaeTRre7wzFN00h9MpUL3r7AZ9cZSfQp/pqm\\nrQdqeimv1DRtC+DoocqgU44qFApFt/jY8i9orKHE1lHm1uSuAWBC1ASfXWckcah9/hqwWgixRQix\\n9BBfS6FQHC34WPx3WfI4WFvc4diqPav4xahfYG2y+uw6HlZsW8ELP77g83YHgv4Qt3+ipmmlQoho\\n4CshxL7WkUQH7rvvvrbnGRkZZGRkHOJuKRSKIxqLxaduH6vLTYvW0Rb+aP9HPHHGEzz8/cM+u46H\\nP371R2qba/nNcb/p9zmZmZlkZmb6rA+HVPw1TSttfawUQrwPzAZ6FX+FQqHok6IimDbNZ801uKBF\\n6NpeNzmbqLZXMytxFtW2ap9dx4PT7cTpduJwOTDo+rcZTWfD+P777x9SH3zp9ung2xdCmIUQwa3P\\nA4HTgW4jhhQKhWJA5Of7NKlbIzqc7Wzh0vpS4oPiiQyIxGK38MKPL+DW3L20MDCanE2EmcKoaKzw\\nWZsDpT+hnm8A3wPjhRCFQohrhBDXCSGuay2PE0IUArcC9wghCoQQQUAcsF4IsR3YCHyiadqXh+6t\\nKBSKowYfZ/RswoBT+APgcrs4aDlIQnACIcYQ7E47v/34t5Q3lPvkWi63ixZXC6mhqZQ1lPmkzcHQ\\np9tH07RL+ygvA5K7KWoAjh1kvxQKhaJ7NM2n4q9pGg4/Ixp+aJrGHV/ewWu7XmNe6jyEEISbwqm0\\nVVLWUEZ8cPyQr2d32jEbzMQGxVLe6JsbymBQK3wVCsWRg8slUzo0NMj0Dj7A5naD5gbNQUmjhed+\\nfI4qWxUJwQkUNTURFDoOwGdWus1hw2wwExcU57PRxGBQ4q9QKEYumib/PBQX91x3kFgcDoSzAeGy\\ns7s6mzERYzDpTcQHJZD8ww+Up94A4DMr3SP+sYHDa/kf6lBPhUKhGDyPPy4F//HH5evcXJg+HZ5/\\n3meXKG5uJn1vPXFVwZQm1xBtjsZsMGM1pUMjxOtcxCTN8bnlHxsYS1FdkU/aHAxK/BUKxchl1Spo\\nbganEwoLIScHpkyBGTN8dok9DVZm/OhidKGBwvOqCDOF8Y8F/+Bpq5HT/cGlhXFW4K/Ir833yfVs\\nDhuNUaeSH3gso/x0fZ9wiFBuH4VCMTL5/nvYvx8OHIC//x3mz5eWf3q6Ty+zr8FKRL0LcxMUNlQR\\nbgpnduJsvrQ2sDQ+HovTSVxQ3IAt/4e+fYgP9n3Q5bjNYaMk6kyeqdFxywm3+OptDBgl/gqFYmSy\\neDE895xczPXoozKlw7p1MGqUTy+zr8FKdIMOs11QbKshzBSG3eXC6nQyIziYaoeDuKA4ShtK+93m\\nuvx1PPr9o9zx5R043c4OZTaHDYQfLqDZ7bu1AwNFib9CoRh5OJ1S7C+4AF59Vbp7Tj0VvvsO5szp\\ndzNZNluvAnv9gQN8XK8RYzdhbhKU2WsJM4VR0tJCvNFIpMGAxenki5YwCmr775/fXbGbCyddSJQ5\\nisc3PM5/Nv2nrczmsOEWBiL0eipaWvrdpq9RPn+FQjHysFohLEyGdY4eLY9deKGc7B03rt/NjNu0\\niSSjkbwTTkAnOiYYtrlcrCyX0TZR9gBabFDi0mE2hrOroYFEf3+CdTqa3G7+WVqLodne73QMhbWF\\nJIckMyVmCjd9dhMB+gDSwtI4a9xZ1LfY0Agj1WSivKWFZJOp//8XH6Isf4VCMfLoLnHbkiVw770D\\naibaIIX6s+qu+Xk+rKpiVnAQl9WuJMweQKBdo8qYyoeuVK7Yt48EoxEhBBF6aSNHho6lsK7rhi/d\\nUVRfRFJIEhdNvogF6Qu4dsa17CzfCUCtw44eF3H+/pQNo+WvxF+hUIw8fJC1c3f5bqodLdwaH8Ur\\n5d54+tE//MAD+fn8o6AAe95rrNz+PMYGIwFNOpyBY/jBYabB5SLBX6Z7iGy9gUSHjyenJqdf1y6s\\nLSQ5NJmYwBhWX7maxOBEqu3yBlTraMaAi1h/f8odPW2DcuhR4q9QKEYePhD/P69/EFzNPPX178my\\n2QCwu1zkNDXxhcVCndPBzr1yvYCuVoex2R92/5nnEg0E6XQkGo0AROj1CCAkKJ1sSzb3rr1XTtr2\\nQmFdIUkhSW2vI82RVNmqAI/4a8ryVygUii4MUfw1TWND6U8kBASSYjRy0FYPwBqr3Jgl224n0FnD\\nL0YtwPlnJ+4GN35OP/yqdzAjJJyZwcFt4r8oMpJFERGYg5J4fdfr/G3d3/j1B79md8XuHq9dXFfc\\nQfyjzFEdLH+j0Ig1GChX4q9QKBTtGKL451nzcOmDiPUP4HdTL8XuclHndFLc3AzNlZS0tFBYsYU7\\n5tyBu9aNPkSPPkhPgCOAMFMYL0+YwC+josj7ax5XvCVYGBFBTNh41hes5+LJF+N0O3nyhye7vXZZ\\nQxnBxmDMBnPbsciAyLZ9ARqcDoxCY25oKHNDQgb9HoeKEn+FQjHyGKL4f5yzlikJc4g0GJgUPRG9\\no5r8piYqmhqgMQ8Ao7OWE1NOxFHlwBBpQBekY/eVu0kMSSTFZEJncZG3LI+qD6qI8/enyc/MuePP\\n5Xczf8ddJ97F1tKt3V47y5LF2MjxXLZnD08VyfBQj9vH7rCTVVuISQhmh4RwSWzsoN/jUFHir1Ao\\nRh5DEP/KlhZur01gSuJJRBoMpIWl4bQVk9fUxI7qbLAVAJDgL1MrNOU1YUozoQvSES2i29qpeLMC\\nXbAOQ5SBeH9/Slpa+ODiD8hIy2Bq7FT2V+1nT+WetvpbSrYAcKD6AAGxp7K5vp4H8vNpcDql5W+v\\n5qXtL1HvbCE5KJrhpj+buawQQpQLIbrdhUsIMUEIsUEI0SSEuL1T2UIhxD4hRJYQ4k5fdVqhUPzM\\nGYL4b7RW4fQz4R8yjkiDgTBTGH4tleypt1DdYidCtICriTRTAAD2HDumUVL8XQ2utnYq3qwg8cZE\\nHNUOUk0m8pqaEK1rBQIMATS7mpn8zGQcLgflDeUc/9/jcbqdUvyD0lkUEcHxISFcn5XFbfmVWJvq\\n2Va2jRPTFhDuHzD0/9EQ6Y/l/yKwsJfyauAm4NH2B4UQOuDp1nMnAZcKISYOsp8KheJoYgji/1W5\\nDMfcbW8hUq+Xsfp+LvbXV1PvdJFkDgfLJqYESn97U04TpnQTumCv+Gtujfot9URfGI2j2kGi0YjF\\n4cDm8t4cDt50ELPBTE1TDQeqD+DW3FTZqjhQfQBhiiPZaOSymBheKy9njdWKKfFc1uWvIzYklUDd\\n8CV089Cn+Guath6o6aW8UtO0LUDngNXZwEFN0/I0TXMAbwKLh9JZhUJxlDAA8e+8t+6m2mqE5uaH\\nurq21bNxBj05tjoa3G7SgmNgzzImh8VTs7YGyxcWAkYFdLD8HZUO9CF6jIlGnNVOXFYnaa3Wv4f0\\n8HQSgxOpsUvxBznZu6VkCw5DOMlGI4ujorg3NZWr4uIICklnf/V+IoMSMR8J4j8EEoH2y+GKWo8p\\nFApF7/RT/DPzMtH9VYfN2cy5u3bh1jSyW9yk+9k44y0X407Jo3RFKakmMyUtLTS6IdEcRrB/MCmh\\nKRy4/gCNuxoxpZswhBtwVEgbtrm4Gf9Ef/QRehw1Dn5I/YEJTiPZdnuH60cERGCxW9hfvR+Aj/Z/\\nRKgpFKtmINlkwqzTcX96OtEGAyePOou0sDSEzoTZb/inWw9lD7S+qygUCkU39FP886x5ACx862I+\\nrq6mpLkZCwHMCzBz2jeQflMy2X/M5pjaaKpdArvmR6R/ADfMuoHRZaPRmjVGPzGawGMCCT0pFGum\\nlYpVFeT8KQdjohE/gx+6QB2uehcT6wzssdk4YetW8lpvAh7xP1B9gEBDIP/98b/8csIvKWxuJrl1\\nnQBAlMGAMSCG3JtzsblcI8LyP5SJ3YrpuLF7MtL678J9993X9jwjI4OMjIxD2C2FQjGicbu9id36\\noLiumOtnXk9q/DzW18HX1aUEWV1cfqEed5NG/G/iaS5q5rj/1VB3tT8mWhjztZkLFt5D4WOFxF0T\\nR/ItUqbCTwsn995crN9YaS5oJn6p3KzdEGnAVedicr2RPxUXU9rSwvwdO3h41CjCA8Kx2C1sLd3K\\n/PT5fHLgE2YnzeXhUkdbegiQKSKqW1M5NLpcTHyugfywfFLvTu33vyUzM5PMzMwB/CN7x5fiLzq9\\n3gKMFUKkASXAxcCl3Z3YXvwVCsVRTl0dBAaCvm95Kq4vZmLURKaNOgO2b+ed0nxG763BryaQ0NnB\\n6AJ1RCyKIPzOINxaC3YRSOpdRrI+yaLxp0ZOyDuhra2AUQFEnhWJIdJA4WOFGBOl5W6INNCU28Rc\\newCVDgd/TknB6OfHWxUVxJsi2FyyGU3TODH5RD458AmR4ZNIqC5F3861E2UwUNUq/ja3m8TlteTW\\n1gxI/Dsbxvfff3+/z+2OPv+7Qog3gHlAlBCiEFgGGAA0TVsuhIgDNgMhgFsIcTMwSdO0BiHEjcAX\\ngA54QdO0vUPqrUKh+PkzgMne4vpiTht1Wpuwrq+3c042xC+NJ/UeKaymNBP6Ej26llLS8xMAcNY5\\nMU8wow/pKIETVkyQXfjcgn+itNz9E/xlG5UuHv/FaBZGRNCiaTxXWsqVARGs2L6CjLQMYgNjiTZH\\nUyOCGG82d2g3slX8D9psfFpdzXmtc9QuuwtdwPC4gPoUf03TurXW25WX0dG9077sM+CzwXVNoVAc\\nlQxE/OuKSQxJZLvDgVFzUCsCmJhnJPiyYEwpMtLHmGzEXenGr2oHo3ISEIGCxl2NxFwc02O7KX9O\\nIWSWDAWd+OpEip8ppqWshesTxwDg1jTymppYp59MUV0Rp6TOZzWjyEjLIMtu7yL+UQYD1U4nqyor\\nOSUsDJ29HEOcPy3lLQSkDU/M//BPOSsUCkV7Bmj5y3TJLfzrLyD2P8m4Qn+Cjglqq+On98M/3p/E\\nglICG8E40QgaGFONPbYbe0ksAaOlKHtCPltKvUnY/IRgUUQEma4Y8DMyOuFEVtZqvHz+G+y32RgX\\n0FHQg3U6mt1uNtXXMz8wFE3TMCYbaSlTid0UCoUCdu+GM84AQ9+7ZTU7m7HYLcQGxVJX1cy47wxc\\n4Q4lsiyEgLEdxdeUZmJGlUZg8VaCpgS1Hesv/vH+HcQf4NOpU4nwcxMfPh6bIQqA8pYW9tvtjOtk\\n+QshiDQYWFNTwxQRgC5QJ9tU4q9QKI5qMjPh8svh/PMhKAgiI/s8Jc+aR1zEJJaXltNQLUX0kehH\\nMOgNGCI63jxMaSZO0mZhLj9I8PhghF5gSu2/+JtSTDTlN3U5Hms085dTH+ZAa+hnlt3O1vp6ZgUH\\nd6l7fHAwdS4XYzGiM+vwj+t6QzmcKPFXKBTDzxtvQGMjPPigjPZ55ZU+T8muySYkNoMbs7JYkyvT\\nJVs+t2Aa3VXUTckmJjgnENgciCHCgCnNRMCY/vvaTakmmouacTs6riaO9jcyMX42B1o3i/lvaSkn\\nh4YS3s3I5dWJE1k5cSJ+dg2/QD8p/sryVygURzXr1sn9eS+4AISQf32QbckmJCiZcQEBTHdIwa/5\\noqbNV98eY5KRFFsKZ8WfhS5Ex4ytMzCPNXep1xN+RinWzQXNHY5HGAxYnE722mykmUx8UFXF2T2M\\nWoL1ei6NjcVtc0vLX7l9FArFUU1FBZSWwtSpAzotuyYbQ0AC18TH82hUGn4BfjQXNfco/i0lLUQ4\\nI9CH6ruEePaHgNEB2LM7pXfQ6ylpbmZbQwPnREbSomnMaHX5NBU04ajuukevq9GFLlBH1HlRJN/R\\nbaDkYUGJv0Kh8D319bB9e//qrlsHJ50EA0x5kFOTg8sQQZLRiNPiJOaSGCa+PpHEG7umEDMmGWku\\nasZV5xqU8IMUf9sBG/uv24/DKkU9wmDgfxYLUwIDGRMQgA44JjCQ5pJmfjz+Rw7ccKBLOy6bCz+z\\nH8Y444BGH75Gib9CofA9V18N06f3r+66dXDKKQO+RGlDKQ3CRKK/Pw6LA2OykdjLYjEmdA3h9E/0\\np7m4GWedE13o4BZVmSeZKf1vKaXPlbLr7F1Y11uJ0OtZXVPDqWFhxPn7M8FsJkCno+arGoJmBGHN\\ntNKwowF7nnfE4G50owsc/tw+SvwVh58774QVK4a7F4pDxe7d8O67/a+/fv2gxN9it1DlFtLyr3F2\\nifBpjyHSgMvmoqW0ZdCWf8zFMTTuaiTh9wkETQ2iZHkJEQYDTk1jflgYGWFhPDRqFCBdPkHTgoi9\\nIpYdv9jBlmO30LivEZCWvxJ/xdGHwyGF/9tvh7snikPFRRdBYiKk9jNvTU4OTJgw4MtU2SzYLS5M\\nn9ThtDjRh/cs6kIITMkmWS90cOJvTDCS8scUEq5LIOH6BOq31BOh1+MvBHNDQ4nx9+fsKBnv31zQ\\njCnFRNwVcTjrnYTPD8fyPwsgff5+5uGX3uHvgeLo4rXXwOmEXd3uCqo40nE4pJj/8AM0NPRdv6kJ\\n7HYIDR3QZZxuJw34M2+LjoMX76Py/Ur0Eb2LesiJMl2DLmjwVveoB0cRdEwQ5olm7PvtJL5Ux1mR\\nkV1SNDcZiSW3AAAgAElEQVQVNGFMMRI0LYi5pXMJnhWMo0rOE7htyu2jONqoq4NbboFPPpGTgT5M\\nT6sYIWRnQ1ISxMZCbS1ofWzrUVEBMTH9Cu1sT429hsDQcaQ36vGP90cfpu8zbj8sQ6aIFrqBXas7\\n/PR+BB4TSMudRbwzblKXco/lD2AIN2CIMrSJv7L8FUcfWVmQng4nniit//nzZe52xc+HvXth4kSZ\\nnsFolAu3esMj/gOk2l5NQPAYUi06Ev+QyNyiuQROCOz1nOhfRhN/bfyAr9UTs3bOQh+m77DpO4Cm\\nadLyT/ZOPBuiDLRUyph+Zfkrjj6ys2H0aPm8vByio6GsbHj7pPAt+/Z5/fdhYXJTlt6oqJCjhAFi\\nsVvQB6YQWyUwJvWcoK09+lA945ePH/C1eqP9vr8eHFUO/Pz9OkwsG6I7Wv46sxJ/xdHEwYMwRqbE\\nJSZGjgLy8oa1SwofU1YmJ3uhf+JfXj44y99WjdsUT2iF1m/xPxR0J/62/TYCxnd0QXncPu5mN7Z9\\nNvwCh196h78Hip8/nk2v21v+AGlpkJ8/LF1SDILGxr7FvLYWQuTEar8t/0GIv8VuwWUIx1jmHF7x\\nD/aKf+0PtQDY9tkwT+i4eMsj/mUvldFS3kLUOVGHva+d6VP8hRArhBDlQogewzOEEP8SQmQJIXYI\\nIaa3O54nhNgphNgmhNjkq04rBojL1XedQ4XNBmazFI7du7uKv7L8jxzS02Hx4t7r1NZ6I3fCwqCm\\nRj632WDuXDkn0J5Bun2q7dU4MUOpo227xeFAFyQ3d28ua2bb3G24ne7uxT/CgNPqpG5zHfHXxA9r\\nnz30x/J/EVjYU6EQ4kxgjKZpY4FrgWfbFWtAhqZp0zVNmz2knioGh90OCQnQ3Nx33UNBZaV8vOYa\\naGmRAuAhNRW2bZPhfiruf2RTUCA/y7i43uvV1XUU/+pqeOstuO8++Vm/8468IXgmgktLByX+pfWl\\nBNWY0EfofbIN4rZt8MEHAz/P4/ax7bOBBo5KB/b9dszjO+Xz1wn0YXqsa60ETut9Yvpw0af4a5q2\\nHqjppcq5wMutdTcCYUKI9p/m0OOqFIOnpERaV2+9JaNtDjfVMtUub78tF3e13+HozDOl5T9qFGRk\\nyH6CjATqT4y44vCxebN87GuTlfaWf3g4rFoFl1wC//2v/Pyfekp+3qmpUFws3X79XQzWjhxrLlHF\\neswDSMvcG2vWDGxRsgeP28e2T6Z0bi5spu6HOoKP65rPP2BUAE05TQRNDepSNhz4wuefCBS2e13U\\negyk5b9aCLFFCLHUB9dSDJTiYvm4dCk899zhv35VlRSB667rmuslLQ2+/16mezjjDHmDAvj3v+Gm\\nmw57VxU9cOON8rszdmzfoZvtxf+88+DTT+Gee6S6/upXMl///v0y3HfDhkGLf3ZdOeklAvMY3yRG\\nq6qSuegGii5Ih7Pe2Sb+5SvLMY02dbtRzIRXJhC/NH7Q6SV8ja960ZN1f5KmaSVCiGjgKyHEvtaR\\nhOJw4RH/lhb5ozvcVFVJYf+//+u+XK+Hm2+GY4+Fq66C3/wGPvxwwIt+FIeI6mpYvlyOxi65xDuS\\n64n24r9gAfznP3Dxxd6duZa22oDTp8OmTXK0l9g1C2df5DXWcFqpHwETfWP5V1cPXvxdDS5se20Y\\nog2UvVRG6p+6v5kFTghk/HO+DTUdCr4Q/2KgfVLqpNZjaJpW0vpYKYR4H5gNdBH/++67r+15RkYG\\nGRkZPuiWApDiP2+eTJc7XOIf1Y/IhnnzZHKvefPk6t+0tEPetaOSkhI5B1ReLueBUlJ6r//xx9JN\\nc+AAzJwJ773Xe/324g9www3d15s+He66C+LjpQHQT9yaG91fdRA8keQSPwLOGWbxD9bJidyNdUSf\\nH03Zi2WEnBDikz51JjMzk0wfror3hfh/BNwIvCmEOAGwappWLoQwAzpN0+qFEIHA6cD93TXQXvwV\\nPqa4GM45Rw7dQ0Nl7pV+bI7tM/or/gAvvgjvvy8nCs8+W6YGUCMA31FVJa3s7Gw44QT5//VMyPdE\\ncbF036xbJ8X/1Vd7rtvUusetqR97486cKReEpaf3Ws3lduHW3Bh08jtbXNc6kjWEElXpuxj/oVj+\\nVe9XYUozEThVTuQGHXtofPqdDeP77+9WTvtNf0I93wC+B8YLIQqFENcIIa4TQlwHoGnap0COEOIg\\nsBzw3OrjgPVCiO3ARuATTdO+HFJvFQPGVVTInT89hUPvJ3/4GzfCF1/0feKqVV3D8gZDdXX/xd/P\\nT27jt2CBFBCLzILI/feraCBfUFcnH886C6ZNk5Z/TW+xHEhLPiJC+ufj4mTIZm91+5ugLTERbr1V\\nbuLSCw99+xC3fH5L2+uDloPMiJ/BX097gsBamarZFwxF/Os21BH+i3D84/wJGBcwYnz6fdFnLzVN\\nu7QfdW7s5lgOcOwg+6XwBQ8+iN9777P6t27mZn3KacdOxvy738msi1lZvftaL7oILr0UVq4cWh8G\\nYvm3JykJioqkr/jjj8HfX4atZmX17EpQ9E5jo/y/LlwI554Lt90mRwEzZ/Z8Tm2tdPsABAb2PuE7\\nEPEHePzxPqus3L0Sl9uFtcnKD0U/UFBbwLTYaQQHJhJQm4Mhynfi39dcdnfognSgQfiCcAKPCSTt\\n3jSf9OdwoFb4/lxxueDpp9n62Qv8mACXvnspn6U64Kef5I/5mWd6PtfjCuhjSN4rmiatxMpK72Tf\\nQEhKki4HTZOCf+AAvP463HGHygc0WBob5Q3/iSdkUr3Ro6X490ZdnXfFbn/EP8R3/u7HNzxOQ0sD\\nZQ1lXP3h1Vz27mUcqD7AmIgxlNmaMTRo6MOGbmVrmjfap68kpJ3RB+sRBkHoyaGYkkzELhn4moXh\\nYsSK/9J7X+a1l9VQf1BYrTKHzujR7I+TlpHdaeeLdJfMtPjww/DKK9Li6+7bvnq1t52BUFoK//yn\\nfP6//0mB2blTZnlsx+s7X2dt7tre2xo/Xp5bWSkF6MAB+O47OVHYm99Z0TONjVLAPYwZI/Mt9UZ7\\na94j/j3dfC0WOV/jI+5Zcw9fXv4lZ407i9qmWkJNoby39z3GRo6lpMKOFqLzSXrmhgY5sDSZut7b\\ndu+GLVt6PteYZCTizAj0QUeGq6c9I078S4qsnPD4a1z8j1RyXx+5Ft73hd9z5ftXMueFOfxY+uNw\\nd6cjL70Es2fDmjUU1RVxcsrJzEqYxXq/QunyOf10+Y3futUbCtqeDz+Ufve+JgM789lnMoJD02R8\\n96ZN0l/czr2kaRrLMpfx7t4+VtQsWCDb+L//k3Hg338vzbN77pGTwgrJTz/Bb3/bv7oNDR3Ff+xY\\n+f/97ruez2kn/k6dQNM0OSIsLe1ad+dOmDJlAJ3vGZvDhobGuMhxvH7+66z59RrOGH0GLs3FwjEL\\nqaqwo+tj85b+Ul0tB6fBwR39/k1NcMwx3ujU7gieEcwxHxzjk34cbkac+H/3wV4euj0JvQsCbMOf\\n9rQ76pvruWjVRUyJmcKVU6/kzNfPZE/lnuHulpzMjYuTq2mXLgW9nsK6Qi6cdCHrrl5HnjUPZ1yM\\nDK3LzISTT5bi0Z6mJvj8cxlvX1U1sOt7rL68PPjqK5g8WVr/7fg692sKagvYUb6j97bmzZOCv2yZ\\nNxPoXXfJm8Lu3XLR0dNPy+OZmUfvxjA7dvRumrans+W/ZImMqvr4457PaSf+M56fic1fyO9I5xvG\\nK69Io2HWrAG+ge6ptlUTGRCJaBftdeeJd/K/y/5HkH8QteXNmKL9fXKt3FxpX3QW/3fekY9D8X6O\\nZEbUWGXFC9+QtbmUY+PCcR4j8LOMTPHfVbGLxJBE/njiHwEw6Axc/t7lbF66GZ3fMPY5N1fGbzc0\\ntP0Ii+qKWJC+AJPeRHxQPJuLN2Nz2FgwbYF0oezeLRdheXj6aSm8kycP3PL3/HL+/W+5KOiLLzqE\\nldocNi579zJeXPwi1//verIt2YyOGN19WyEhUpRmz5bhniaTTBAHMG6cnLOIiIArrpCLj049VaaI\\nONooLJQC3R86i7/JBIsWwbPP9nxOq/iX1Jews3wnzSYTgXanvDFfeKG33p/+JEeRK1YM7n10ospW\\nRZS5Y6BAeng6bk1DZGYytwYCfDTZe/CgHATV13cU/5dflrEFP9cdR0eU5X/g/RIi9sRgjW0mcGYQ\\nZptv7uy+INuSjbhf0OJqoaS+hKSQpLay30z/DQadgc8OfkZuTS4HLR39qOvy17G7Yjcu9yHOrulZ\\nLBMd3WatFdYVtvV1ZsJMrv3kWs5981xK6kukwO/cKc9Zv16utP3nP+WcQFTUwMW/oQGCguDJJ+W6\\nglGjINm7/i+rOovowGiWTF1CfUs9Y/49RroRemLRIjkej4jwCj/I+YAdO6Tb6vvvpZvJ8z5yc6Vr\\n62ihoMAbwtkXncUfZMjnjh3SaHj+ebkIzOn0lrdO4m4s2ghAi9EgvxsbN3rreAyOW29tG6VpmkZ9\\n8yBiJ1upslURaY7E6XbT0m63t+LWBIUhdb4L88zKkt0OCfGKv9stfxJXXTXwn8GRwogS//SDUcza\\n4ocWIUiZHktQ3WFcjNQH2TUyKuLN3W9SWl9KfJB3OzghBKemncq20m3c/fXdPPLdI21llY2VnP7q\\n6ZzzxjksfnMx1bZqXt3xKuUN5QPrQF/x2OAVgalT2w4V1RW1if9po05jd8Vu0sLSeHbzszKx2scf\\nw1//Kq3nqCi5mGf8ePm8unpg4Q/19dJU2rgRfv/7LsUHLQcZGzEWgJ9u+Ilg/2DKGwf4fwBp+XtY\\nvVrOYWRny1/pPffIOHbPgqOfOx7Lvz+fU2OjvDm3JyVFhtB6bvoTJ0qjAGTEWGMjt323jOd/fJ7R\\n4aOxG4UcGba/wW7bBjNmyNBNPykpf/r6T4Q8NPjIn2p7NVHmKB4sKODmdpPSWXY7M4ODWRaS6BPx\\n//RTmc1zzJiObp+KCvk6NVV6PwsKhnypEceIEf+dW/NJyZeWqznRxIR5iURW+1Fb08uiksNIvjWf\\nsRFjuWv1XWwv295B/AGmxk7l28Jv+XD/h+yt8i6O2lG+g+OTjufAjQewOWwcu/xY/vndP1nwygIa\\nW7yhBQ0tfWSxnDpVWrW9UV8vLbuFMgN3s7MZa5OV2CAZfnb66NMx6ow8etqjPP/j84gXkmUsf2am\\ntKD/8hdvZI6/v7S2BxLxU18vfzGzZrWt8mx2NnP5e5ejaRpZlqw28Z8UPYnxUePJs+b1v30P48bJ\\n93n66fKXO3asFPuYGPjoI5nK4vPPB97ukYTVCmvXSrPV5fJumNMbnSd8QbrUZs+WPo5775Xfg4oK\\nOW9TX4870MzTPz7LZwc/Y2ZCq89/9mwZ2eO5wa5fL8W/lSpbFU9tfGpIb6/KVkVEQCQrKyr4uqaG\\naoeDDyorybLbmRYYSGQlGBN6X9378MPy3vavf3Vf7nbD9dd7Lf/oaG/8Q2GhHLRGREi7a9w475rD\\n/mK3y3ZGKiNG/L96dyN2s4NmfxcpcyIo0RUBGpc8+SZ/+Mvrw909CmoLWHLMEs4YcwYv73iZhOCE\\nDuVTY6fyZfaXzEmaw0+VP7W5M3aW72Ra7DQMOgMvLn6R0eGj+faab4kPjuezg58B0iIe9+9xXa7Z\\nhqbhLCmi9vs+wiPr66Xr5vrrASiuLyY+KB4/IT/m1LBUcm/O5bTRp9HikptJ2558RGZc7C6z4tix\\nHR2eFovMu9OTldnQIMW/HRuLN/L6rtepa64jqzqLsZFj28rSw9LJrenjhtYdM2ZI4Z86VVqgycnw\\nzTfy5jV6tFygtmHDwNs9knj2WZm2Y98+eaPuj9+/O7cPyD0WLBaZXG/yZBkCPG0a3HsvNrOBMRHS\\nlTM7cTaNBqSiJiZKZXvpJZn4rV1IzOmvno7daSc5JLnrtfpJta2aveaZtLjdVDkcLNmzh6v27WOf\\nzcZYs5mmnCZMo3pPI/H223JQ++CDcmqrM5mZMkbhgw9kVM+pp8ppqn/+U04lJSdLT2poqFwM3V1g\\nXE/U1soMGhMmyICqF18c2Ps/HIwY8W88WEdFXB1bb9nI/4U+wsLXF1IzrZI//i2dUR/Hsnt70bD2\\nr6CugJTQFDJSM3BpLuKDO1r+4yLHkRKawrNnPYumaVTaKtE0ja2lW5kWOw2Q4pt5VSZhpjAWjVnE\\nmtw1AHya9SmlDaXYHd1bb1pdHXo32Lf0LmjOWitFmtf/297l4yE+OB69n571V68nKSTJmyulOxYt\\nkuGbHv79b2n1zZkjozuWL+9Yv76+i1shMy8TgJL6ErIsWW1CAq3ibx2E+I8bJxOMHdMaYpeSIpPC\\nedJAzJkDP/ww8HaPJBoa4Pbb4Y035Pvvh9/fWV/HozuexeV28Zc1f5HzPiDF32j0brw+e7YcuS1f\\njiXCzMWTL2ZB+gJmJcziyXNjpLswNVXecG+7TeboHytv6k63k71Ve8m9ORe7sx+jkR6otFXxnUjj\\n62nTuCQymgCdjmh/f1ZVVDAuIICm3CYCRvWc1M1qlXkML7sM/vAH2UUPjzwCX38tbYVbbpGbk+n1\\ncsD89dfwwAPyXM90lWeB+kDE/5NP5P3xoYekLXbjjb0HVQ0HI0b8tQawm5u45e+34PJ3UdNUw+q7\\nv+Dk2pNJz9d48plMLrr/Be7421u8+XY/Q9t8SL41n9SwVOYkzwHo4vYx6Azk3pzL+KjxTImZwncF\\n33Hpu5fyfeH3LBi1oEt7p6afylc5X+HW3Hy4/0MAyhq6X9dgK5c3Pt2O3sMOsvO38eCOp9teF9YW\\nkhzavfU1OWYyaWFpXgHoxJ7KPdTOn9tR/H/8US6wEkLm4F/fKUGrx+0DtLhaOGg5SGZeJkadkcK6\\nQnaU72BqrHc+Ij08nQ1FG7DYLXy478Ne31u3tBd/kP0KCpLitX277OO6dfLG8Ic/DLz9kYzdLmco\\nL7lEmqZ9Wf5lZTgK89hat5971tzD39f/nfszWxODnXyyNE89kVnXXy8X6b3zDo/9eT4JwQmsvnI1\\nsUGxbE7Q5HVTU+GFF6SBsGRJ22VyanKID4onMTgRa5O19wn9Xqiw1+IH+P27ktue0/H+lCksjIgg\\nUKfjdEMI9lw7pvSeLf+1a6UN4O8vg8B2tEYWt7RIQV6xQvrxr7zSe050tBxQvfOO9Hi2F38hBib+\\neXly8LRkifyIrr/eG5MwUhgx4q+3G3CYHJgNZlb9ahUfXPwB+6r2oQ/WE3tDPBmfJvLrR1KZ9kII\\nG1da2b6+j5WJPqagtoDkkGTGRoxlZsJMUsO6ukk87pXrZ17Ppe9eirXJyt7f7yUtLK1L3amxUwk1\\nhnLKi6dgbbIyNXZqj0JcV5qHTQ/G7N43Ow9oclHvD7VNtXx+8HM+3P8hScFJPdZPDE6kuL77b/Tk\\nZyZzl/UdubLWk8zrxx+lS2DBArnKs9NKz/rqEv7fhr8C8Nbutzj91dPZXLKZM8acwZrcNUSbo4ky\\nR5H/YD4Vb1ewePxiXG4XaU+mcd5b55FVLXcay63J5buCXhYeeUhPl8Ke3OkGFxoqJ4ILC+GXv5Q5\\ngj76qO/2jiQ8eyODfL/FxdKJ/cQT0pLvvAr3/vsJ+PobGg3w7JZnuWHmDbyx+w0pziaTDGvxkJQk\\nP+dzzuGgsLSNcgMNgd55qvHj5ehqQUfD5qeKn5gcMxmDzoBRZ+x7LqsHSptthPoJyl4qo/rTahw1\\nDm7ZG8LnE6awOXwD7kZ3rwnU3nzTG4naPovF6tXSw5WZKae3dJ0is5cskR7FOXO8WcXPOUfGEJR0\\n//Pslrw8eX+MiJCDs8RE70Z1I4WRI/7N/rgDvSFmE6ImsK9qH5qmMXvZJJLjjJzw7nTOfuEEMjIF\\nuZl95CTxEc1OGVpWaaskNigWIQSbl24mzNTzMvaLp1zM42c8zvsXv49J37114if8WH72ck5IOoG1\\nv17LmIgxlDZ0s2oSaCwvpCAU/HrLqAiIhgbqjPDCthe48v0riQmM4fpZ1/dYPzE4sVu3jydELywk\\nRv5Cdu6UjtD6ehm+OX++HCd3Ehi7tYofan/C5XbxRfYX5FpzmRQ9iQmRE3hv73vMTpyN2+Gm6Mki\\nLF9KUfnfZf9jxeIV3DDzBv6z+T8APLXxKR7b8Fiv7xWQkSXffNN9CuFZs6Q1a7PJeZCqqv7Hwx8J\\n2GzeLTFDQuD88+VOWf/9r1SpNWs67tvc+lklxI2h5PYSnlr0FP46fyptXeMYm5zeSKmyhjLiguS+\\nvYH+gTQ6WsX/tttkqMwll3Q4d23eWiZHy2ihMFMYNU39iFLrhiqHgyWv++FucuOodLDtxG0ULt5L\\nbFnf6RzsdjlgveAC+To6Wlr8Vqt3IrekpPfFW2+8Ie0GkGsLFy0amOWfn99xS4ro6JEXMjpixN/Y\\nbMQv1PvBRpmjEELw0LcP8VXBV8zbMpfIMyIJXxCOJcKFNaePHYV8wOcHPyfh8QQKagtocjYR7N91\\nX87u8BN+3DDrBgIMvW80MSNhBo+e/ighxhDig+Ipre9e/JsqSigMBb2t9/BFv/p66o1w79p7uW3O\\nbTx95tOkh6VT/Xn3/6uE4IQOow1N01iXv46vc78GkD/0446Tv4THH5eraoWQM2MbNnQRf//GZur9\\n5SK4r3K+4uxxZ7MgfQGJIYlkWbKYHzefkuUlaE6Nhu3SIhRCcOGkC/nLvL+wctdKvsn7hg/3f0hh\\nnQ/CJEJC5EzbFVfItAMjbdw9FOx2r+Xv37oepqZGhudeeaX0bYwe7Y1RLJchtQaTGbPBjN5Pz5iI\\nMV3WpOyr2seUZ7wpGjqIvyGQhpYGfij6Ac3fXypiu/UX3+R9w0f7P+LG2TLJb3hAONamvqPFLHYL\\nN392c1v2zvf2vke1w8mZL2tM+3oa0b+KbtsWsfGnRiIWRXBKyyk9trd9u4ze8eQTFELaLDk58v7v\\niYTuTfyjo73/VpCW+0DdPu3FPybGK/4ulxxYnXBC/9s7FIwc8bcbCYjyWnBCCF4//3WyLFn8+oNf\\ndwiLtAeCO7+o40ITX7JzJ7zyCnd/fTeToidx5+o7WbonAHEId8KKD4rv0e3TXFVOYQgYmhy9xnP7\\nNdiYPWEBT5/5NH84Xvq4nTVOdi3ahaPa0aV+SmgK+6r34XQ7eWDdAxy7/FjmvTSPW7+4lVkJs6RV\\nePLJcjXt5ZfLKBqQv6bjjpOTjC0tbe3pGhtp8Ie7Vt/FqPBRrPrVKpbNW0aQv5wEnnbjNIqfKmba\\nl9No2NpA+eveGP+4oDheOu8lLnvvMoL9gyms9VGM3CWXyLH3scfC734nf8F/+YvPVqIeNp56qmNC\\nu/aWv8en8fbb0t8xZYqM0nK55CQ9QHk5TrOJhpjwtibGRIxpc7V52Fa6jeyabPZV7cPhclDZWEls\\noAwVNugM6ISOOS/MIaem60K6b/K/4ZIpl7QFGYSbwqmx9235r85Zzb82/Ys7vryD+S/P54K3L6DZ\\n7g8CAtIDGL98PFM/m4ox1UjN1zUEjAvAzyClS9O6erh+/LFD5Cngdf1Yrd6pooGkbUhK6n/Yptst\\n67bfJC062uv2+eQT+dFs2zbwLKK+ZESI/3+mvk9MuZnw1I65wBeOWciKxSs4OfVkHtvwGK/ueJVN\\nxZtoCtFBvVNO5R8Kvv0WbdUq9lXt48ZZN7KxaCPPvFkvf1SD2fGhHyQEJ/Tof3dVVdAQbsbtJzqI\\nbWf0jXaSEydy1bFXYTZIi6y5SA79916xl7LXOv5KFo1dxNaSrZz+6umsyVvD04ue5l8L/0WeNY/r\\nZlxHZWOltJrffVdGlrTHz09+o8u9Aq6zNTEqZSqbSzZzx5w7MOlNGPVGLplyCTsv30nTgSZm7ZlF\\n8Aw5gtp7+V40l/fbf+bYMym+rZht123DYre0haP6hAcekL7xHTvkqGVtH2GzI4mGBhmW8tBD3mPt\\nLX+Qo5yoKDm76Vmkdfvt3pDX8nI+WvMsjUkxbaeMiRhDlqWj+P9UKXM9Hbf8OG774jZCTaFtu2jZ\\nc+2Ms8qQ5G8LOmbc/dPXf2LlrpXMTpzddiw8ILzN7WN32Fm+ZXkHI87DN3nfcNPsm6htruW0UacB\\nEGgPxxHe0SEfMDoAy2cWzGO97/uTT+ROkO1dKlu3dhX/UaPkMpnaWmnFR0QMTPw9CVD7I9bFxTKE\\ntP3H43H7rF4tB2b33SejbvvaEvlQ0p+dvFYIIcqFED2Gmggh/iWEyBJC7BBCTG93fKEQYl9r2Z09\\nnT9ubxiRFkHa5IRuy+895V6WZS7j6c1Pc+3H1/JT5FasxvSuE32+oqoKZ2U50yv1nHntw1SX5dIi\\ndFSf8AdvHhS3W47tvv5aPh8i0+Kmsblkc7dlWrUF/6hYucCml3zqBlsThtCIDsc84m/5zIJ1bcch\\neJB/EI+d/hinjTqNz5Z8xsmpJ3PVsVfx5BlPMiNhhrT8hZAbfyR089nEx8sA6ltvhQ0b8G9sYu6E\\n0ym7vYwLJkmHq7vZzSb/TSQcSCDo2KA2i22ecx7GJGNb/9qj89MRHxzfNh+xq3xXvyzIXomMlCZf\\nfr6M49uwQVrS774r5w3+8Y/+LZTqjueek/sMHCp275Y3rvb9a2/5f/55x7z848ZJhVm6VPpAamrA\\n5cJqcBHo743znxE/g4e+fYinfniK8oZynt/6PF9mf8nEqIlEmaNYvnV5m/9e0zQ2jtrIHW/K99le\\n/DVN49ktz7K/ej/HJx7fdjzcFE5hbSFLP1rK4jcXc/uXt/Pe3q57AK8vWM8VU69gxeIVPHzaw6SG\\nphLjSMIV0VH8/eP8acptImi6N5zYMwk7erQcjLrd8i1Pn97hVJKTpTVutUphfv55ORjsL6GhMpCs\\nu2Smndm7FyZN6ngsOlpOO33+uQxCW7xY3oQGMonsa/pj+b8ILOypUAhxJjBG07SxwLXAs63HdcDT\\nredOAi4VQkzsro1dM6RfctKsUd1e45jYY/j0sk/55qpv2P677TSGOqnzi6Xccogm8KqqcFdV8Njn\\nGsdS0kcAACAASURBVAHFlfxtDViME9l/4DwZJLx3r/xhzZoF11wDd9895EtOi51GeUN5t35/v5oa\\nAmISsfkjrcAeMNpaMIZ1TIbVXNSMLkQHOrDt7TphfMW0K7j75Lvx10kHZ7AxmJtPuJloc7S0/Hsj\\nNVWuovnoIzj7bCoTwjCFRrRZigAtFdJ6L3q8iJDjvcv9hU5gGmXCntO94CaHJLf5/W/78jbe3P0m\\n1bbqwS0Ka9/fPXvkr7C42CuQ55wjJ7TDw+X8xkBZuRL+8x8ZVnoo2LkTjj++o/i3t/yjojrulmYw\\nyBW7oaFSFb/8EmJiaHTYCDJ4hfOc8eew78Z9/G3d33hsw2M88v0jbC7ZzHPnPMdXV3zFml+v4dMl\\nnwLQuFMaHSVJJYwOH82WUm+4dU5NDmaDmbcufIvEEG/67tjAWJ7e/DSr9qyiylbFkwufZPnW5Wwo\\n7LheJdcqQ6Q9JIUkEdkcjYjsGM1jHmcmcFogoXO9HoKCAvkVzM+X7p+CAhmg5lmy4CElRZZ5kpSe\\nf35Hn35/GDtWtt0dTqecGAb5Feu0hQVGo4xLWLtW3qRA2lMjWvw1TVsP9GZ2nQu83Fp3IxAmhIgD\\nZgMHNU3L0zTNAbwJLO6ugWNuHUWLwU1EO39kZxaNXdQWOeMKa2H2Vj9umf//DonTTKuqAksNU/Ob\\nYNkyfpED9aZEWixutMuvlPljvvpKjiO3bZMLnrZuHdI1dX465qXN46QXT+pyAzBWWfGPT5KrK3uy\\n/DUNvV0QktvRQm8uaibhdwlM+3Iatn22fsddR5mj2haqdUdmXiYb542R4X6PPAIhIaw/fTzBxo75\\nXByVcq6hZnUNMZfEdCgzpZtoyul+Ejs1LLXNr7y/aj/7q/fz8HcPc/YbZw8+QV5qqhx3jxkDf/ub\\nFP+YGBnv9847cp+Af/xDrlp9t4/9Bjw0NsqUykuWHLo5qF27uop/e8u/N+bMkamWY2NpaGnoYPmD\\ndP3MSpzF8z8+z73z7uXAjQc4KeUkxkeN56SUkzAbzDSXNVO/pV764N0BzEud1yEtx9bSrcxMmMlF\\nky/q0PbvZ/+e4rpiXjj3BTYt3cT5E89na+lW/t9X/6+tTkNLAy63q0MwRXJoMqG2cHSdxD/13lRm\\nbe+YMrqgQFr14eFScNeulRZ6590kPeLvsfwHw7hxctB4551dvb/Z2dJ+aGyU4t/Z8gcp9j/+6B2V\\nJCQMbBLZ1/jC558ItJ8KKWo9ltDD8S4s+NWJGF/rfyrkiFgHgTa46LWogSfc6Af5B7dgrKlDrwn0\\nEycx1gJ2fRK4wDH1ZLm69Pzz5bcsIgL+/ne46aYh34ieOfMZYgNju2wOE1RVS1D6BOr8tZ7Fv7GR\\nMt2phF3dccvE5qJmzOPMhM0PAwGOCgcue9/iKayCUEJ7jNZYsW0FyxNL4dpr5dLI9ev532mpbZO7\\nHhyVDvThehJ+l0DI7I43hoBRAdhzu1r+9dvrWXRwEWvz1mJz2CisK2R/9X6+LfyW8oZy3t83yM1c\\nUlNlOoTp06Wb5j//kcsuDx6E006T72P8eLj6aumU7Q/r10tT7qSTpL/hUJCfL/347UN9O/v8e2Lu\\nXOkYT0qi0dFIoKFreoeTkk/C2mRletz0Duk3QLp0dp62k5y7cwieHUyAI4Bj447F4XK0fTc+2v8R\\nJyV33Yg9JTSFfTfu4/yJ56P30xMREMH6q9djc3jfR3lDeVsItYfkkGSCG4MwdsrX376Oh/YTqxMm\\nyEFo+7x/bW0me3PgDVb8p0yR0cMPPyy/Ku23kNjTup1Haam8V3e2/EFmSx8zBmJbd3oc8ZZ/PxnS\\nXmp//etfWbvn/7N33uFRltn7/7zTe3pPSCMEEkIH6WVFBBVRce2uva5+7WUtq/7U1VV3sSz2tVd0\\nsaCAgIooCAFCCRBaAul9kkxLpr6/P55UMilA2F334r4urpCZd2bezLxzP+c55z73+ZFHH32Utf0Y\\nyhE21s/Oc2qoi0QsnWVlPe/HjgGaBrGs2yMtEBeHOgBuhWh08QxqTRSedlrHA666SnwxV68+rteN\\nM8cxMXFit8EwYfUu4oeOw64KIPeU9rHZ8GoEkXqtXqreq6Lw/kKsq6xoEjRIkoRphInCewvZOmYr\\nAU/vdYoNURu49edb2VndIY+sc9WRW57bLgktb64WFg8GAyQm0uRzYtZ2lcN6aj2Ezw1nyCvdv5GG\\nTAO1S2qper+KvEl5FD0gIv3yf5ST8WMGn+3+jJTnUzBpTGyv2s6Oqh08MuMRPt39aZ/vZVC0+Rfd\\nfrv4aTKJvXxnTeDnn4v8Qdv84L6wZg3Mni0SyCeK/F0uEWT4fEIm0nZbfyN/ux3uvBOnx9ltcQaY\\nOmgqOpWuS+qlDY48B87dTry1XiwTLBh9RoZEDCElNIWihiLO/fRc1hSt4cZxNwZ9+URLYhfSjjPF\\ndeln6SwlbcPQyKGYHXoM/RjWUlLSQf6ZmaIxORj5R0WJuKmi4uhmzHfGxReL2Ue33SYKyq++2nFf\\nG/lv3ix2B5MmdX/87NnCRK4NR0v+a9eu5dFHH23/d7wYiGEu5UDnymsiIspXH3F7Uuvt3XC0f0hM\\naAwHT9/D5A3TRVT0yiuiqPXJJ0f1PD1Bb3PhUYA7NlJMxgJ8cixI4PFZxL6v8+AQhUK0BebmCmsB\\nv7/r0PKyMvF7P76sWVFZrC/t1N3qdmNs9hGXPpKdGgWeJitBvQztdppV4vnLni+j6p0q4q6NI/2Z\\ndEJniFAnbHYYhx46hNKspOrtKuJvCF5g97cIgkkJT+HbA98yI2UGAP/I/QfPrH+GBEsCJU0lWI5I\\n8dg99m69EN5aL+qo4Na7UedHEXAHOPDHA6Q8kkLZS2Vo4jXUf12PJl7DZSMuY3vVdmJNsSzbv4z5\\nQ+Zzcc7FPPTjQ/xa+isev4cZKTOoclThD/i75JuDIjFRFHrbkq49ISZGJGhLS0V9R5bbnVK7Yc0a\\nIYXNyhI7CK+3ywCbAYHLJaQhOp2I+E2m/kf+GRlC4TRiBI6v3+2W9gGYnDSZJecvQaXoTgeNPzUS\\ndUEUtZ/WYp5gZtivwxibPpaU0BSWFiyloLaA3Otyuy36PSHGFEOdqw5/wI9SoaTaWd2N/K8adRVF\\njp8x90H+fr9YoxNbm9gnTBBvTTDilSSx9u/bd+yRf2ysyHCedZZYhzvPQNq9W2QPFy0SzWXB+g6P\\nxPz5YsPYX8ycOZOZnXjnscce6/+Dg2AgIv+vgT8ASJI0EWiUZbka2AJkSJKUIkmSBriw9djjRqwp\\nllrzfsKtEnWrfhJ7vQ0bBuKpAVA2GqiMnEbMkDGg09Fs1iN7YzBkGfBUtZqDHOmOOGqU+JLdfbcw\\nGGtDU5MouoWHC3cnt1uoS3ow4sqKymLt4bX8ac2feHLdkzgPH6DKBLa7HLjVFtxNPaS57HZcSkEG\\nJU+XkHRvEil/TiHmkhiUepFSCztd1FRSn0il8q1KCu8L3iXd9LMopKeZ0lh+YHn77VsqtvD+ue/z\\n8cKP+eqir7p5ETk8jm4k4K3rmfwlpUTsH2KZUjuFpLuSyFmWg/VbK2GnheEudfP6/Nf55PxPeGj6\\nQ6y+fDVLfr+ESEMkCeYEHv7xYZ7f9Dy+gI+zPjqLx34S7/mbeW/yz7x/Bn+PJKn/nTWjRom6wNy5\\nHZ/n6tVCMtqGX38VWr3x40X1MDx8wNs4G5ob8NobuenHu7GrAoL0AwFxHfWHYQBGjMDldWFtsQaN\\n/NVKNfMz5wd9qK/RhzHLSM43OfiytHicfiRJIjkkmTfz3uSMjDMYFDKo2+Pqvq5j1/ndrTTb0j81\\nTiF6r3JUEWuM7XacpiFASEzvf19JScc6DeKjtVrFBNJgaJsoeuRIg6PBbbeJr/OQIWJDdeGF4uPY\\nulVk2DZv7roo9IZBg4T/z38K/ZF6fgxsADIlSSqVJOlqSZJukCTpBgBZlpcDRZIkHQReA25uvd0H\\n3AJ8B+wBPpVluSDoixwlYkwxfHLwY5oNMlXfru2QwR3ZhREIdJ1K1B/ceSdNnmnU+s5HlSQuan1i\\nCrLHgnmsWZB/MIwcKSL/JUu6+sdu3y72iDU1YoEaP174qGRmdnRf+v3tQ8lHxY5iTtocTBoTS/Ys\\n4esfXqE2VE3NRzUE/Fl47D3U3u12mhV6wq4IY8SKESTc1D0KNo8xk/VZFrFXx+LY4aD0mVK81u7N\\nX3Vf1GHIMhDmCuNQ46F2u4e2wt64+HGckXEGDS0NeP0dj7e7g0f+mj4iOIVWXIamHBMjVoxg2AfD\\nCLgC+F1+0sLSmJAwgdlps9sL/kMjh7L28Fo2lm1kfcl6CuoK2FG9gz21e3jg+we4//v7j08VBEJC\\nsny58LhvM4B55RVR7F+wQBSG//AHsUC0Rfqxsd07jo4TV399NYcrClhT/SsOZatvf0uLkI8oFOyp\\n3cM1X3Ww3eHGw0F9kR74/gGWFiwNmvPvDb5GH6oQFRFnRjB+3w6qG0WBfu7gucjInJ15dtDHHfi/\\nA9T9K/gM6M6pn2BpH4ffT2gTGKN79+vfvz94iqcnzJkjfioGIOSVJKFwXrJEGMk2NnaQ/gCNMT7h\\n6I/a52JZluNlWdbIspwky/Jbsiy/Jsvya52OuUWW5cGyLI+UZTmv0+0rZFnObL3vqYE66TZb4Npw\\nL/mTr+TDi5axI/FMYZ3nbSWjr78WjS+33db9Cbxe8eU9slicnw9vvEGZJQ2/FIrbMIj9t+wnEJOA\\nt0WNMctIy+EeLBYyM8XzzpvXdSj69u0iijSbhSQwEBCqkLlzO8zGfvlFdM96hbHda/Nf48HpD3Lb\\nKbfx4/oPaAoLJ9AcQOEZgtcWvAAr22y0oMOUZiLs1DAkZfcyjKSQiD4/GpVJReabmRiyDTjzuxaQ\\nZb9M7dJaEm5OwF/rJyc6h21V27h1+a14/d72KE+pUBJliOoyicvusXeP/HtJ+/QESZJED0Bpq6/S\\nv2pxHegoEmZGZOKX/VibrawrXtc+oezZDc9y64RbmT9kPt8VfndUr9kN48aJdN3ll3dIMmpqhHfO\\nJZeIa+epp+CKKzoecwLIX61QY/RAZEQSzWoE+XcyddtetZ0VB1fwz7x/kluey72r72Xa29P4ubir\\n46qQzUps9Ymw98eGBlr8fRf+fU0+VKEqCpxOmvWgb63Pz8+cT/Xd1cxMmdntMbsW7sJd7Ebdw4zd\\nOHOHlUmlvbJ92FAb6rxewmxSj49vw759R0f+Z589sDN+HnpIDDV76SWxsMTHi9rCoO4bof9K/Fd0\\n+B4tBoUMYtsN26gLtfNLyCwe3xnJhSOfFhHR4sVCenf99cKaINgUh//3/+DBB7sO/Fi7VnjW3Hsv\\nu6LT8ZoTObhtMtXvVVPSfC5KHUT9Poraf9XiyA9SdFWpRPXmk0/Elrxt+79lS0c3ydCh4nyio0XB\\nuK1A/O23YodS2DUNs3DYQrRWG+VKEQGpmgcT+cw/gurJvU1WvJIBbWjv0VIbYi+LJWRqCI6dXf+W\\nqver0KfrsUy24Kn1MDZuLG/mvcmy/cv41wX/6lq8M8dRUFvA4tzFeP3eLpG/z+6j8ZdG3BVu1NFH\\nnwPXJmlpKRELbdnzZdR/U49jp4P6lfUMjRyKVqlldtpsPtvzGcOjh+Pyunhn+zvcMO4GJidNZkPp\\nAKQBJUl04lRWikU7Px/OOUfs9Z97TthGdlagnADyjzHGYPBCduoEmlWyIP5Oxd7ixmIqHZVcu+xa\\nTnnzFFYeXMnCrIUs27+MxbmL26W61Y5q0ITzeJ2SL2trmbNzJy/2Q2foa/ThNklstttp0YGqufci\\nuCzLNKxuYOSakUiq4DqQlJAUXsp9CZfXRXFTcZe0UcMPDZSetpuQJvok/6ON/JXK/qdk+ovMTLFp\\nP/10sfm/6KKul8R/M36T5A9CRbAzNRdzfgPKpEKaRh6i+ennRTT2xBNwzz3w4YdCh39khLN6tSjQ\\ndZ5Dunw5XHklrt/fSWx5LM5aNQ3rnKQ9nUZty3jUMXr0aXpir46lbmnw7SwgPvmcHBHNX3KJyO/P\\nnt39uNmzBYnn5orzTE4WxcVOCNGFcF/WdYwbfBaSSkLtHIS60SYcFY9Qorgb6pAlM0pz/yWzphwT\\njh2C/B35DoqfLKbo3iIGLxqMOkqNt8bLvIx5fJj/IVeOurK98NuG5JBkHln7CHetuosrv7qSrANZ\\n7DAI4/Tq96rZfd5unLudmEf3rxjYGfrB+vamNNdeF669LspfLqfgsgJGGkcyKnYUY2LHkF+TT3JI\\nMh8v/Ji86/OINkYzOWky64rX0dTSREAOsLpwNZvLg3dP930ielHfycsTu7eIiJ6PPQHkb/PYMHhh\\nVNpknCpZRP6dir3FTcLm26K18OF5H3JGxhnMSpnF8xuf55YVt/D+TuEHVOWoAqVIm120Zw9TLBae\\nL+t7QJKvyce9dYd48NAhciJNKD10seQ4Eu4SN0qzks9SnDjrPUH7RJ6e/TS1rlrWl6znUOMhUkNT\\n2fNROVvGbmHnvJ0E1jswNsl9zug9cKB9hsx/DJmZgl7mzBE6gp5GRv434jdL/hH6CNanfcZp6308\\n96qN65d6uedQjLDsy8uj+Kqr+OPfyvjnpD8KbXcbXC4RwV10UVfy37gR35Q55OZsxtxsRu3043f5\\nMeYYce11oQoXSoiQKSE0rW+i+VAzpX8rZf9N+3FXHGFRcMst4vmbmkR4khakczk6WnQHT50qOoQv\\nuKAb+QMk+gzERoxCm6RF425Vd9TVdTvW01AHkrFXj/MjET4vnLov6yj9Wyk7Tt2Bp9rD8K+GY5lg\\nQROlwVvn5cyMM9l10y7untzdvuCyEZfxa9mv/G3O3/h016ecFi7kr/4WP/Ur6vHWe7GMt6A09n9B\\nakPY7DCsK6w0bWjCW+fFtddF089NaOO1RK6I5JeLf2GUSeyokkOTuWj4RYyOE90zQyOHckriKYT+\\nNZSFSxYy78N53Lz85qM+h3YkJAiP4DY7yJ5wAsjf4WhAJSm4cvx1OFQBZJdL+Cm1Rf5NxRjVRkbG\\njOSSnEv45PxPGB49HG/Ay/lZ5/PN/m8AqHZW89M1mxmjM/Lz6NF8MmQYLU4vjc29+yfZrR7yFC2U\\nud2cYrHg0YPf2XO6yLnLiT7byINVxQQkCDR3lxSH6EKYlTKLTeWbKG0qpUYZyZI3D+CfYqR2VSpO\\nA3i1HbWgnlBdHdx15N+JnByR44+O7vvY/zb8ZslfkiQ0ySpUL1pwf5XK1IMqXlbv5+0bn2HHy5/x\\nw5idnPNXK/a6qSK6bsM334gv8fDhHeTv8eDeUsSBT6JZN3gdl99yOR6FEm2CFm28Ftktow4XUUjI\\n5BBsG23kn5UvbIkVsH3mdtzlnRaACy4QIuClS3tXZDz1lJAH3nKL2Il0rhW0wWrFpwhBm6TFpzCw\\n/faLhazgiG5Sb5MVZNNRRf76ND1R50VRu7SW0etHk/FiBiGThAhaoVWg0CvwNfkYFjUsqErk7Myz\\nuXnczVw9+mr+POPPnD1YFP8af2ykaV0TyQ8mE3VhVL/PpzPCZodhXWVl25RtaBO1NK1rwl3uJvWJ\\nVGo/q6VsURlJi4WSOOyFMEqeKWl/rEJS8On5n7Lzxp18ufdLrhh5BXtq9+ALHGXxvw0JCR3XTW84\\nAeTfYrMSMOgxac20qCT8uZvgnHOonTedp35+ig2lG5iZMpMxcR3y1eHRw9Eqtfxp6p9YX7oel9eF\\nL+BDtqv52yQnI1xaikfv4JP5MttNGyj9W892lc2NXqYmCZWYIH+pV/JvWt/Et9FO6rxenBaCCgoA\\nxsWP4+t9XxOuD2dDk5Ox2+CS6bXcqCyBBHWfUT+IGCgyss/DTihmzxajE36L+M2SP4jUj3eelYbI\\nH6DZyeMb49n+toP3l6hpCNOj+XQE0RUG5Dbyd7mEre9zz4lo/MAB0R/w+utYUy7Csc/D66e9jnrf\\nm9gVarQJWjRxQqnSdjGqI9Qk3ZNE7FWxDH1vKEMWDyHm0hj2XLynY4srSaLxS9tH/l2j6agOTZ4s\\nUkRHbpMbGvDKZnSDdEg+DVsu/53QtG3cKPRlrR2//qZGFAGj8PE5CmS+nsmY9WO6OCW2wZBpaPfd\\nB/BUe2j8uRE5IM5RpVCx+MzF6NV6/jzjz8S1NsIduOUA4WeEk/r/Ukm4sQ/tfQ9Qh6vJ+jSL2Gti\\nCZstyGfQfYMInxuOI98hTOryYIFqAc7FThq+766CyonJ4fT007lx3I3Em+O72Rf3G1OmiACiL/Jv\\nE5IPINz2BuTWKN+jUaJ68CF4/HFenRfN29vfxua28cqZr/DozEfbHxOuD6f49mJGx47GH/CTW55L\\njDGG5lYizj8jH02Mhje3RlHzazrFfynGUxd8B6BoCpARa2JpdjYjTSZadGD7NbhMuWljE1XvVPHu\\nPC8HJkzAYRaW4sEwIWECmys2Y9KY2LOpHkOkhtwFkyidNImkdDOhfcg8ZVmU1f7T5N82OfS3iN80\\n+edE55Bbnsurea+Sn5XPtBdLOXuFn2lf2Rhz/2CmLggjxCaxL7+1sJWfL3xcp0wRYt22yVRPPol7\\n2nnoT9NjjWjh0OrTaZJVaBO1KA1KlCHK9rQPQMrDKQy6e1B78TP5oWR8Nh/W747DaiIjQ2jQtm3r\\nervVis9vRBOnQZIlbHabSBW9+27HtCogYGtCETCgMg9E355AxJkR1C/r8JwtX1xO/pn5bEzdyOHH\\nDnc73m/zE31JNJaJFpIf6D7m8mgRfX40Q14dwuAXBjPNNY3kPyWj0CiwTLDQ+EMjrt0uXol9BfN4\\nM45tjqD55ZWXrWR8wnhGxY5i8ebFtPhaWHlwJVsqjmIO9MUXi599kf+4caLof/hw/5+7D3htje35\\nfa+2dWGfPh2X18VVo66i9A4xp/nIyXJtlglTBk1hacFSYkwxuGxenJEK8fk8kkyGXk9BtB/LJAuN\\na4WKrPlQM3mThWBPDsioHAGMoRrOjYrCrFSicsvsXrg7qC1Hw5oG1BeE40/XMkino9FMlzkSflfH\\njiEtLI2rRl3FiJgRaNc5iTgtnAi1Gr1SiTZJ22ex1+EQCtv+NDmfRHD8psn/3KHn8uqWVym0FvLY\\n3MdIfS2Vgt/HcmhsODMvjECpkjiUpGKXO1ls27dvb++qWGv34CkuFpF/ZSX1jgi+2+vAXZNI1lQ3\\njToJVZyI3LVx2va0TzBISonwueHYc+14ajy4K7vWAJx7nXhqghe/Op5EEq2DY8d2jR4bGvC6dajC\\nVfj1fh5Z8QgvedeLzualS4UdASDbbSh8hqOO/HtDxFkRWJd3LGj2LXaGvjeUnK9zKHm2hIC7az7X\\nZ/ehH6wn68MsTCMGJhxSqBSoLKr2RjUAy0QLSGAabaL281pCJofgrfVScElBj75FN469ka/2fcWv\\npb/y+tbXeW/He/0/ifR0+OCD4IYtnaFSCT3hu+/2/7n7gM9hQ2oNLX3a1mtw0CBcXhcGtaF9cEpP\\nmJw4mSW7lzAoZBBuuw9ngpIhLw8hfHY4I00mni4poXyMur2xz77Fju1XGy3FLfjtfnw6iVCdeF2T\\nUklYq9ahaV1XR92iB4qo/qCaqpFqcoxGNAoFLjM46sWOoqWshV8Tf6Xxlw6p8lsL3uLj85cwLDdA\\n/JyOQrp2UN/k/9+Q8vmt4zdN/tOSp5Ealsr7575PZlwmP438iVs+GcrtP4gI7cOdH1KV5mFP9EL4\\nv/8TKZ9Ro/jgq0KI38m6tR3GGsVbPSzdaiU9KpHrPqrBluHBHypSPpo4DaqI3iNq0ygTju0OCu8u\\npPiJjkHrXquXLSO3kJuZS8FlBfhsPmqX1uKu6u5jz+LFwjCus0eM1Yq3ReRA/Xo/eo+eJ39+kpaI\\nEDFVurgYLrmEhB+3ovDquuX8PR5hCHm0vW4AxpFGWkpb8DZ6kWUZ+xY7lvEWTCNNGIYahNNjJ/jt\\n/n7VHNasER9FwzFa9FsmWtAl6wiZEkLD9w3oUnREXRBFw48NHH70cHtaqjNOTTuVWSmzKG4qpqCu\\noMfZCT3i0ku7T/sOhoceEp/jAKR/AnIA2eVEaRTkb/C3vn5ISDv594Upg6ZQ7azmqlFX0eLwIRs7\\ndIgXREfzSHIyG4f7afi+AVmW2/s+NudspujBIlrMEqEqce0bO/39jes6SFwOyJS/XE7zvma+TWsm\\np7X73ROioKHIxZ7L9rD3D3tRhauofr8an6PjYqzxeskohJCJHVYhUQujiLsmrte/q7ZWaOpP4tjx\\nmyZ/lULFT1f+xLyMebww9wXuWnUXm8s309DcQNKiJK5bdh1FqVswlKuEVA9gwgTsL4miXO3ujny2\\nv9rNuAurmTU2kQKXiyUL1PhniOYTQ6aBD1bp+Oijns/FPNqMbaON2s9rce7qaJxybHNgOcXCpMpJ\\nuEvcbBm5hcOPHWbz8M3tjUveBi+7L9otov/s7I7CrywL8m+S0ERraFY3o/PoSLQkCudPtVoYqxUU\\n8NaH96D0arqlfcrKOhqPD3Yd19oripqbsRMQi9pWBwWXFyCpJLQJYjcUOj20CwGASPv0pTaSZbEO\\nf/ONmINzLAg7LYysz7IwjTIhe2V0yTqyP81m7OaxNKxpYP+NwU3+UkJTOFB/gEMNh9hZvbNLd/KA\\nITVV7N6O5s3uAXa3nYiADskgyDTS2bGouXyC/N0Vbspe6lmyOSZuDE/+7knmDp6Lx+4DQ9cFbKLF\\nwvepbhRqBUX3FWFdacUw1IAqREXl65XUJXaQv16h4Po34MVXdTRu7sj7Nx9sRmVR0fJhMuv0Lu5o\\nHbLUEq2kcXElDasbCHgC5HydQ+Xrley5oMO4sMLejMEBmuiOLnDjMGO7H1VPOBn5Hz9+0+TfGZOS\\nJvH0qU9z56o7eXXLq8xKmcW2G7axI+pfZBT5WF+ngEAAz/jxxG7zUrbAgONgR9eoxt5CafxakkIS\\n2etyUTIsQIOkwWqFIa8M4YEVUVxxhQi0g0E/WI8mXkPc9XE4853tKR77Njum0SaUOiXDPhiG5LL6\\n+QAAIABJREFULl3HqJ9GEf37aOq/Fvn0hjUN1H5ai6/J15X8XS5Qq3FX+NAmaomLieObBd8wMXEi\\nG8s2imPmz4dt26gy6QloAt06e9scL668sqsLYV9I37SJB4qKMI8zU7qoFMdWByNXdxiRGLIMNB/o\\nmvf12X19Rv6rVolG6JtvPnY7JoVagWWc2IEA6FJEcVCXpGPU2lFYv7Ni29y9KJkSmsIPh38g0ZLI\\nmLgxXPnVlby65VWW7F7Cjd/cSFFDUb/nHfSKsLBj3tZ8lP8Rbp/YFTa2NBIlGdtz/hGOjjRbW+Rv\\n+9VG1ds9K4w0Sg0PTHsAhaTA6/AjGbt+5UebzexocTHkvaF4Kj3YN9vJfDOTkWtGMurHUbz8dy0h\\nrRG/JElUZipZHd9C86GWjmt8ix3zKWZ+mihzQVQUEa12Fzsv0+O3+xn6zlBG/zwaY5aREStHdCkC\\n15S7aA6TkBRH1xl1kvyPH/8z5A9iKlVJUwl/Xf9X7p96PxkRGVTo91OUbWDf7DzuePIgG7bVgkrC\\nPDME/yHxJass8WOQvWyO8GCIOZWdTicBk5dXXhGOgQUFIsi+807RGByMHySlxLgt48h4PgNJJeGp\\n9BDwBGha19Q+dk6XrGPUmlGoQ9WEzQnDulrk0xtWC6JwFjiFBHX5cqECiosDlwt3mRttohatWUuS\\nOolJiZNYeXAl+dX57V/A5oZmvDo/p57a9bxKS8WGwuvtsJ3tC7bWHJFFpSJqYRSNaxuJuzYOY3aH\\nL4w2Xtutv6GvtI/DIfreXn5Z1NyP14vPkG1AYVCgTe5QVanMKqLOiwqq/kkJTWFj2Uayo7NZfflq\\ncstzueO7O7h06aWsLlrNqFdHsWjjIgqtheyqCdIZ3gOWH1jOsn3LOm44RvJ3+9xc+eWV7WZ6u2p2\\nkaSOaDcRbArV4TOKhaCN/FsOt4igoR/wOfwoTF0/nxCVijiNhuJUGPb+MCYenkjIlBAMmQZCpoRQ\\no/a3R/4g8v4OM/gkGZ9VvG71h9V8ktnMGxUVTOrkl6yN0VC/JYOIeRHUer3sdjrRD9F3qYnVl7fg\\niTr6OlVd3cm0z/Hif4r8VQoVD09/mHun3EtWVBYKScGEhAmkv1VF/LWDmfL3cvZfsRfNheHEZJrQ\\nlIht/98eOczBwQGih1zG+3Y1jT4fXr2Pr76WOeMMuPdeYdj48MMie7R8ee/nYRptou6LOrbP3I63\\n3kv43PBux4T9Lgz7ZjtVH1RR90UdlokWXHtcQu+/apXo/s3Lw79lJz6bD3WUGqVJScAZ4LT001BI\\nCma/P7u9cOlucuPVisbizjPeS0vh3HNFpN2Z/J1+P7O3bw8a6a5pJS6H30/otFAmlUwi4baukk1N\\nnAZPZVd5YF9pn717xWJ62mkiM7Jjx/GNP1bqlEw8PBF1aNfioGWKhaZfuo/4TA4RCqSbx92MTqXj\\npnE3MTZuLEMjh7Lk/CWsvXItT/78JCNfHcmfvu//aM6XN7/M5wWfd9xwjOSfX5OPN+Dlz2v/zBtb\\n3+D9ne8zM3J8e+T/3B0TWPGDsNTqQv6N/SN/v8OP0tSdaKeFhPBzk3i/dMk6vJ0+lCafrwv5GxUK\\nwlUqauMlXHtdbMrcRHNRMy/OctHo8zHB3NHNHaZSsYtmMjdtYnJeHpPy8sgztOCp7BA/2MtbCMQc\\nvUKttPQ/3+D1W8f/FPkDXDvmWh6Y9kD776cknMKmik3MfSiRn3IyMU5NYd7fh3OwNIS4fQEuunsd\\nQ34pZdmp3/BR5mDyxo7l8MSJmNQKKhr9XHutkNOHhws975VXCm7uDYPuH8SBWw5gHmtm9M+j0cZ2\\n1/urQlQkP5hM4V2FDH13KBELInDucYowfdo0SEmBwYPxhA5GG69FUkgoTUr8Dj/RxmhWXraSl+a9\\nxMe7xMxZT5MHn1YQ/86O+SuUlAgr2xdfFL5kbbNgqjwevm9spMLTXd/9eW0tM0JCqGm9Tx2uRqHq\\neqlo47V4Kro+tq+0z759oh0eOkbtHe8ko2COoSFTQmj6pYnKtypx7Xex/6b9lD5fSkpoCu8seIc5\\n6cLe8Y6Jd7DyspXsvHEnY+PHMiZuDPdPuZ/PL/i82zS1nuD2ufnx8I/sr+9UZzhG8t9asZX5Q+Yz\\nLn4c9665l7WH13KKJrV9+ojKZMGuF5+Dy+tCr9ZjO+TC2+TrM11V5XbTbPeiCkL+00NDWdco6jf7\\nXC6yN4tieECWsfv9mI+I/H8XFkZZtEzV+1WoQlWo1w0lyaynZNIkwjrNMhhqMLCorAyLSsU5kZHc\\nk5TEB021KEzKdgloc5UbZexRDtNFlFT+09YOv3X8z5H/kTgl4RQ2lW8iIAdQj42jMiOF51+UuPwG\\nI4cuGsYfnpcItyrJS/mYIRFDhFe5TkeEWk2d10tcnPD1arN0mTpVRNe9IWxWGGM2jWHwi4N7zWUm\\n3pHIpLJJRJwRgWmkqZt6BsBdLlI+H30Ekl7ZpbvyzIwz2VS+iSfWPcGuol34NOKL3dbTVloKG3Nl\\nVmYcQKGQGToUXn9duErUe8SXb8cRk8EcPh/L6+u5MT6eGm/PBVF1lBpfk6/LRLC+0j6dyR+EgrIw\\n+EiB44I2TsuQV4dQ9XYVO+bsoHZpLRUvV6BUKLli1BXt/RmSJGHSmLqY1d0z5R5OTz+dZm8zVY4q\\ndtXsYmtFz/OZ15euJ9YU27WB7FjJv3Ir54RN5u0Fb/PM7Gf4/ILPMXzxjZAAA3qVnmavqLOoa9VI\\nX0g07XAg+SHgEp/DZpuNtyor8R+xGDxWXEy5tQV1kD6QGSEh/NjYSECW2Wq3c6C5mS02G7VeLyal\\nEmWn98ekVHKK2UxZrEz1+9VEnBnBZq+TCRYL8Uc0Nd6SkMBYs5k3hgzhucGDuSA6mlcrKqgKk1m/\\ntw5fIIC70oMxrn9mhJ1RWCiun5M4dvzvk3/iKfx4+Ef0T+rZH/sEhw4JF76UFIkXNsTw87hMfv2/\\nZdwy8ZYuJBDZSv5tW8s28m+T4R85wPlIWCZYgs4c7QxJklCoxUcQMi0Ex1ZHt9Z5d5kbTYKGG2+E\\nepeI/Ntg1Bj5y+/+wqKNi7h/1P2oNJFYLGKgBAiH68hMN99qy9lstzNljo8HHxTzyZevD07+jxcX\\nc1ZEBMONxvbIP+i5KyTU0eou8w38Nn+vTWb/LvIHiLkohuFfDcdT4SHpziTc5W589v6lRyRJYkzc\\nGF7a9BI5r+Rwx3d39Hjsdwe/49KcS/EGvNS7WhviwsOPara0LMvsqNpBQe0eLrvkKdi8mevGXsfU\\nphChaWydQqJX6dvn345fPx7X4y4UZV6adfDItoN8WF3Nw4cOcfP+/aw64vUr3G70zaAJEvmn6PVE\\nqNVstdvZ2Xo9TNq2jf87cKBLygdEjSBdr2fX2VrUp4fwrykeXiwr45wg1VedUskPo0YxqjUVlGkw\\nsHLECBoj4elNhay32QhUeQlPPLpOrU2b4NCh4JZZJ9F//M+Tf6Qhkh037qDo/4rY4F3M1pI95OXB\\nZZcJzzXtJTbe1b/FrRNu7fK4CLWaeq+XiAhR7G0jf61WEFh/i6f9hcqkwjTG1N5p2QZPjQdVpAa7\\nHaqblBy87SDVH3Z46N80/iZK7yhlpGkkbqWaGTNE5L9okXCsfmCRKK7N3bmTxtNLaWmBu+6Cr37w\\noZIlNtps+AIBni0pYXJeHp/X1vJsejqeWg3Vnt6lkNo4LY5tDgquKKB+RT0+m48iZZD+hVbs2SP6\\npOo8Huw+H+npXb312lBeLlJtxwt1uJohrw0h9upYjNnGdgfT/uD+qffz/KbnuXnczb0u4quKVnF6\\n+ukMiRjSkfrpIfL/OP9jmlq61yI2lG5gyltTaNm7G02DDf7+d1EQefddMU+gVW1jUBto9onIX9Gi\\nIPyGcNZ+GU1NNHx0sJJ7CgWh/iE2lveqq7myoKDds7/K4xFe/MbgX/mzIiK4r6iId6urmWixkKnX\\n82VdHRMsXUd1vpGZyVkREWhyDKxdFMoT2hrGmc2c3ZvbaSdk6vWURQaY/LWf3NomdOU+4tP77/rq\\ncAh3k5aW/k2xPIme0Z9JXnMlSdorSdIBSZLuC3J/mCRJX0iStEOSpE2SJGV3uu+wJEk7JUnaJklS\\n7pGP/XdhePRwEiwJjI+ZxqbDO8nM8lCU8BQM+xdPNA7j7sl3E6LrOtU5Uq2m1utFoRB+XeGdarad\\n1ZgDibhr4jj00CECvo5Uis/qw6sXedTKVs4v+lMRAW/HMQa1Ab/dT7OkYsoUEU2//LJwiq6RBBk3\\n+HzYIpw8+6wYQby90ItvVTS/2mycumMHK6xWHk1JYdu4ccRptYwdrMbq8eLroSK7uLycwvgARX8q\\nwpnvZPfC3QRG6FlQ2H1VlGUxtfLQIeGQcNW+fSwqKyM7WzTOvvSSsDZqk6I+95yYtTMQiLsqDk2U\\nBvM4M3v/sJeWkhYK7y2k/NVyWsp6GMwDzE6bTf299dw+8XbKbEJHv/LgSp5d/2z7MeuK12FtthL/\\ncTwXr7uYHdXCzron8r9n9T28lPsSIHYM8z+eT2lTKd8VfofT6yS7pBk5O1s0QJx9Nrz3XpdhMXp1\\nR9pH2aJEZ9axIz2AywhDvBq+Gj6cR8KSmOYy8ElNDUtqa9ttmye+4uK0NZASEXyS1z1JScwKDaXK\\n4+G9oUNZN3o0haecwpKsrC7HxWu1qBUKUnQ6Xqmo4LKYGN4dNqzPXW4b4rRaXrpaJrEM8r+vJqES\\nQoP4SvWE/a3r60UX9fshJ9EDeiV/SZKUwD+AuUAWcLEkSUf2uD8A5MmyPBIxy/eFTvfJwExZlkfL\\nsjxh4E772JAdnwqhhxh206N8VP0AjH+Fy4fdwP1T7+92bJxGQ6VbEGd8fFcb9+xskfevrBzY84u5\\nPAa/y49rd0f/gdfqpUWtQpLAXyy++KowFY5tXaNYn82HU1YSGSk6eh95RAwLK2lpYXpICLNCQ9nb\\n7OTuu4U++tTzfFCt49HwDM6JjGTliBHMCQ/HolKJ8cIBCb1XTXUPef9ldXX8eo4KV4GL9GfTMQ43\\nUndtKPubm7uki5qbhWXR2rUiZVbtb2F5fT1b7HbOOw9eeEEMxf7978U5L10q/vXUT3GsSPtrGtok\\nLY7tDmy5Nsr/Uc6mtE24K9zIATlowVSn0pFgSaDcVo4sy3xR8AX3rbmPKW9N4bYVt3Hp0kt59rRn\\nsS61krkrs6M2EIT8W3wtXPdNJZ+ueQGb28YlSy8hLTSNcW+M45/b/klaWBqnWkORLr1UVOYnTxYy\\ns055sra0jyzLKDw6Dir8FDidqEKULFirZHitmrP+3kLSuEIGH4A/JiTwY2MjsiwTUSh2AKGhwYur\\nURoND6ek4J0+nQyDgXC1mkSdrkdSPy08nAafjwX9jPjboFUoUESr2DtBQWCLi6jqjj6N/mDfPnGt\\nfPzxUb3sSQRBXxqrCcBBWZYPA0iS9AmwAOhsJj8MeBpAluV9rQPbo2RZbptk/V8z12ZIdCrX3pvH\\ntso8cqJGssv/CzmJZwY9NlGrZb9LkPCR5J+VBfffLzzYjvRhOx5IkoQ2SYunuoM8fVYfzjA1CQnw\\nbiCda9YMovLNSpo2NGGZ0LEl99v9OAIqYizw3XcdTtKlbjfnREbyx4QEQn75hRa/H51SSfZEL/u3\\n6RjdGM2kI5bztgFjMfUWfmho4PJYMWP1+4YG3q+q4sLoaH5uasI50sQ9rw0hZEYIo9ePZnVFKRyC\\n9U1NnNsqwq4Rc7p54gmYNTvAubt3c3lMDKsbGpAkmQULJM4+W4icxoyB228XKo4dOwbufQWh/zcO\\nF2M4XQUuvDVeUMKmwZuENcSqBpLuSiLmihhUISpkr4zSoMSgNmDUGKlz1bG9ejufX/A5IdoQ8irz\\neP/c95linsLGgo0Y/Ua2l7TacoSHiz/8rrvEimaxcLjxMLdslggbksg1X19Delg6L8x7gWvGXMOB\\n+gM0tjSS9fHjHRKWIOwWaYjkgPUAbr8bvTqdxQ2V7GuWyYwLJfBRI3mr85C9MiFzwrh4i5PL9DrG\\nJVdQ5/US0VoCUOh63+yr+jngdmFUFOdFRvY74u+MeK0W7VglZ7/jwh3q7+Lb1Bf27hUD8U7i+NHX\\nJ50AdDb7Lmu9rTN2AOcBSJI0AUgG2tymZGCNJElbJEm67vhP9/iQGprKzuod7K3byyUjLkJWukkP\\nC141StRqKWuN/B9/XFjutGHqVKFVH4hm0COhidF0IX9vvRcbKpKToaRFh3msGcskC9aVVg49fAjX\\nPrFA+Ww+7D4lFksH8dt8PrY7HAzS6dAoFKTpdPyrro6JW7fySkUF0Xo1wYY5ffaZqDFG7I3k6/oO\\nV8/Pamqo9/l4oriYDL2eCo+H+OvjUagUKNQKKj0eQpRKtnUqIreRf14ezLqsmXqvl7eHDqXC40Hx\\n00/Istw+9m7GDLGYrlolCuouFwMKXaoO+1Y7geYAqlAVg/82mOSHkql+t5qQaSHUr6hn3zX7WKdb\\nx+7fd+T1Ei2JHG48zO6a3cxOm82paadyz5R7mJkyE+tqK6EzQzEMNuDN9+IP+EVT1sqVQmf7gJAd\\nF5fuIsLh59KmZH4u/plzh54LwIiYESzMWsjVo69mjDqp186lweGDOWg9KGSeXh1zEyNZNWIEoc3i\\na5z6eCqWiRaizohg9ns+Ki4/wNk/K1nV0EBkg3iT+zJMOxocC/EDxGs0KCYYid7tI9LQu9Lntdfg\\n0Uc7ft+5s6to4CSOHX1F/v2ht6eBFyRJ2gbkA9uANknKVFmWKyRJigJWS5K0V5bln498gkc7fboz\\nZ85k5syZ/XjZo0dqWCq55bnMTJlJdlR2+23BkKjVUt6avsjOhrcqKxnvMJNjMhEWJlIT0dFihFt/\\n/L76C02splvk3xhQk5zcoeIJPz2cqnerqP2iFp/dR8bzGfjtfhq9gvzbcMP+/Tj9fsa2ukLODA3l\\n1gMHSNXp8Moy8SZVu/1DG5qaBG+98QYsejec7+cUthK0mOO6OCODiSEhOHw+ojdsaL8PoNLjYajB\\n0N4hDIL8hw0Tfj7u6GaG+QxIksSy4cOZv2sXVp+v3Q6gDQoFJCUJ7hzIKE+fqqf0r6UYsgykPJJC\\n6KxQlDolslcm/mYh69o4aCPRF0Rjz+uQcyVaEvnh0A/EmmKxaLsWQBu+ayD89HAc2x3k1OZQ46wh\\nzhzHvpGJZD77rLB5fu45rHu20qJTEbFxB4ffO4RK2elvttuRXngBanv3LOhM/jqvFq1RxWnh4fy6\\nW5jIxd8QT9z1cTT+1EigJUDEgghO+8XJZ/NruNEqM7VxKqqQgbP8PlYk63TERZpIujcJv63nwTCy\\nLPpTAgG49Vb461+FmOHNN/+NJ/tfhLVr17J27doBe76+roRyIKnT70mI6L8dsizbgavbfpck6RBQ\\n1HpfRevPWkmSvkCkkXol/xOJ5JBkEi2JvHbWa+1TnVJDeyb/Mre7ndyu2bePCJWKuqlTAdGkFBsr\\nctlHWiocDzQxmi7ySa/VS71HhSXVTSCgxeMRx4z6fhTOvU52nLqDQfcPovlAM40eIfWUZZnPamtZ\\nUV/PoYkT2xtvzoyI4OWKCr4aPJjp27cTG6GgrNOES1kW9hULF4rUVkOhFotSycHmZgLAXpeLUa0L\\niUmlQi1JogO09fkrPR4yDAYcfj9+v2jgqqwJ4L19Pzdcl8kzpS6Gtko0zoqMZKzJxMHm5m7kD2Iu\\nykCTvy5Vh7fOS9z1cUTM68jjpTyS0v7/8bvHo03S8kvYL3itXnZfsJvzzefz9zl/Z0zkGAKeAAqN\\niLQD3gDWlVYGPSgG8gz7ZBiVjkqMGiNDFw/lhrE3sDhnOM4lH7Bl4xImjhtKql2JbuUa4cnUZk35\\n3Xfw5JNCvtJL5J9gSaCxpZFaZy1arxpN63jMtGfS2iXAkiRhGmFCoVeQ8ucUas7YwZqyem71MaB2\\n38eDv6Wno1Eo0Py198TDvfcKWxKrFc4/X5RSli3rfYzy/zKODIwfe+yx43q+vtI+W4CM1jy+BrgQ\\n+LrzAZIkhbTeR2tq5ydZlh2SJBkkSTK33m4E5iB2Bv8xaFVaSu8oZUjEENLD0vnj+D9i1gaXmcVo\\nNFR5PCT++isVrekfm9/fpTA4bRqcc44oWA4UNDEavNUdRVaf1UeNW82H07diSG5pG9wFgHGoEdMI\\nE7kZuSgMCvb6jFgsIud+58GDvJiR0aXjclZoKLcnJjIlJIQvsrOZER7Crl1CNvenPwnC/+knEWHF\\nxIiofbzFwgqrlQlbt3JxdDS6TtucOI2Gco+H+tai8GGbm9Vv6bH7/bz/PsycCUVWLweHVNHk87HX\\n1UH+AIP1egqbuw8FAbG1b8v7791Ll7/7WKFPF3rypDuTej4mTY9CrcCUYyL/7Hwav28kvjyeXTW7\\nmLd+HttnbKf5cDOyLFO2qAzjCCOGwQZMo0ykVKRQaa+kzFZGrCmWSkclH43X0fTa82TbdCSP+Z3I\\nIV5zjcirxccLidPy5eJDaGjoxmxeq5eW0hZ2nrWTAzcdIC0sjTVFa9C5VWgMInaLuSiG+Gs7vA7U\\n4WomlU7CNNqERpIYvge0sdpjTtMMNEwqFZo+aguyLMQAP/8s7L8zMuCjj0Rd6CQGBr1G/rIs+yRJ\\nugX4DlAC/5RluUCSpBta738NoQJ6R5IkGdgFXNP68Bjgi9YLTgV8KMtyH8YI/z5oVVr+ccY/ery/\\nrasxSq3mrsJCItVq/LLcJU3x7rtCkjhmDMyZ0z4n5rjQOe0j+2V8dh+VTiUOtYfIRA8Oh46wsI7j\\nM9/OpH5ZPXHXxrE/yccz9oP8UGnlgeRk/tBaqG2DXqlk0eDBAJwTFUXzmXDvbUIdlJYmlIU5OaJm\\nEAgIeeZ4o4VHDx/m7MhI3jwiDI/XanmlvJw3Kit5e+hQav0e3Fv12C618c03QsO/ZqsHxorCc4HT\\nyVWdzildr+dgEPJ3+HyMn+fn1Se0JCSI4voDD8CCBSItday7AVWIihmBGf0iwaS7k2hc10jKoyns\\nuUPIVxOLEvE1+dg2aRsBbwBViIoRK8TsCOMII1HlURQ3FqNWqhkePZxFpy9iZuEEcov9XJLvRvHW\\nNBHx//ijWNEWLYLrrxfOgVFR4k0/Ioe4/Yo9OL8RyqGmBAVzz5vLP7f9k0e9/0Br6vnr2zZ2NHx6\\nKK/ukQjE9Sxr/W9EU5O4DmNihFjgJAYefSYAZVleAaw44rbXOv3/V6BbCUaW5UPAqAE4x/8YPNOn\\ns7qhgZv27ydSrUaB6JTsnKZISBALwA03wPr1x5//V8eoafi+gar3q4T1rR9KG/zIEmhiPBzRkIs2\\nVkv8dfEEAuCMdfCdvZ6n09JY0A+/W70e3npLOCRefLHItbdBoRB8ND8QT0uin3ODPN/c8HDuLyri\\nkuhort67l1Sfhb1WLeUNfkrWCBuJt3aKXcHB5mbynU7GdBp4mqHX80J5OadYLHxaU8MFUVHMjYjg\\n2dJS9gxqZseOLO66CxobRYPY/v3w1Vfi/32NR+4J/Y1+oxZGEbUwCk+NByrFXFzDAQPZX2VjyDLg\\nqfKgjlC3p4BUZhXeSC+NBY0oRihItCSSFpZGemIOI676lS+nLmby6eeLJ8/OFv+gw4vjnHOCDoDJ\\n9TnIBvZnQEJVgOfmPMdzc57jqyd/Qmvs+2ILmRbCoYcOETn/t+V/fHJYy4nH/3yH7/FArVAQr9FQ\\n4nYToVIRr9UGNUK76ioRtK1YEeRJjhL6VD2mUSasK600/NBAzOUxlDQKAlVFdSf/NjidoA33kW00\\ncl5UVBc/lt5w+uliSFWwXfiMGfDL90r+nJJCjsnEF1/A7NmiGFxaCtfFxTFYr+e59HQmh4Twu7ok\\ncCnZX+Jn9mz485+BUPF+fVlXx1CDAVMnu4CLY2K4KDqaBfn5aCSJywoK2G63s6S2llJvM9u2iddZ\\nskQQ/o8/igL7Bx8c1Vt6XFBHqvE7/Oy/eD/+Sj/6TL2Q5MZp24m/Dd5ML958L2W2MhLNQvB21air\\nqFW5SZsSXFLcjkGDghZ7pdbZ0WXjVeidtE8pU7WAwdS3cid0Wij+Jj/xf/xtWWDW1gpBxUmcOJwk\\n/z7QZlYVoVYT36nxqzMUCkGiuQPQw6wKUTFu6ziyPswi58schr03jAqnIH8pomfyt9lAF+HDMoDS\\no3POET5IbVi2THDUqlUwfTqEqtTsmzCBWK2W70eOJK0ykrNmK9GE+nnkEVG0XXidOPePamqYGtK1\\ni1qrUHDfoEFUTZ7Mq5mZ/CMjg1k7duANBCh2uxk6VIzFHTVKNL0ePAhPP02vE9UGGpJCTC/zfO/B\\nmG3s5m7aGerhatz5bjaUbmifrbtw2EJuHHsjMcaY3l8oOTloqGtsFR2pJ5lp1tPu3a9uljGY+yZ/\\nY46RnG9yCJkY0uex/02oqTkZ+Z9onCT/PhCpVqOWJCLUauI0mqCRP4ju1a1bRZ77wIGu9/34o9C5\\n92KS2SPsdvDqxQPlsN7JXxPmx6IaOCnfnDmi4NZqD0NurpDcLVki6pOHD3ekUSRJwm6HIYlKjFF+\\ncnLEY9LHekjSavHJMhf3EMq1qYUuionBOmUK+045BavX2+5Lk9jaNXLnnWJB2rxZuJMuXixuX7Xq\\n2EdC9gfaJC31y+rbh/L0hMHTBpNRnsF3hd8RZxYzaI0aI6+c9Urf6aYzzhB+4UfC5ueJJxWMuDBe\\nDFFp8CEHZFQeMBj6XuglhUTEmb89eczJyP/E4yT59wGFJBGn0RChVpOk05HXaudZ1tLCaxUV3FdY\\nSK3H007+d90FzzzT8fiqKvG9vuQS0RhWVCTUNEcuEJ16qbqgrAzCUrwYFQr8lt7JXx3qax+5NxAI\\nCxOClN27hSDl8GExaEyShJLnSMmxzQYRBiUOf4d2u8br5bzISM6PimJiSN/RpyRJKCWJBK2W0tZd\\n1nfWenbXtfDYY6IImJUlaqWffCIixAsvFKIZWabH9+d4YBxupP7bekyjeif/tLlpDCo/DajnAAAe\\nFklEQVQZxNI5S5mVMuvoXmTYMOHncwSUTQHuGpnC/MhIbCbwNHgJtATwasCo/s9r9k8UTkb+Jx4n\\nyb8fiNdqiVSruTwmhl1OJ1/U1nJGfj6rrFaqPR6mb98OUS0kJcGXX3YdprJ1q+gI3rNHRDIjR8Ka\\nNYI827pf9+yBwYODT7UqLQVzgpdhRiMec+/krzIPbOQPQgm0ZIlwQX34YeFwCsJZsa3prPM5RJqU\\nuPx+Aq2S2BqPh9lhYXyWnc3RIFmno7hFKFT+UlLCKlctOx0OVtbXk5UlxDKbN4udSXi4eJ8/+UQQ\\nxttvH/ef3QUxl8Ygu+U+I3+VSUXYaWFM2DahRwnx0UJtC2CO0KCQJFxmcNV78Lv8uHVg6KcVQxsc\\nDrFw2+1COdX5Ov1vw8nI/8TjJPn3AwkaDZFqNRaVimvi4rirsJAwlYrPs7N5Z9gwLouJ4fe7d/PN\\ncpnPPxeRclvwu3WraPJUKESh9Kab4NtvRTH1q6/EMV98IRQtJSXdX7u8HHQxPoYZDHj0XvbuFSmX\\nI2GzgWT2ETLA5D9zpuhjuOwy4QbahqSk7lO4bDYItUjoFQpybTbuKyxkn8tFiq7/xl1tyNTryXc6\\nkWWZ3U4nu10uXiov55KCApJzRBosIQE+/1ykp0pKRFPQU0+JnwM5J8Ay0ULCbQntA+N7Q/KDyRx+\\n5DAtxQMjrdTaZEIjRN2p2SLhsnoIuAK0aMF4lLu8ujrxc8EC4d90110DcoonBCcj/xOPk+TfDzyT\\nns75rVfi9NBQDrW0cG4nU6s/DRIdnhulehYuFBdtUZGITpcuFfUAENP4nnkGNBqRClq+XKR73n1X\\nRK/BbKJra0EK9ZKq0+FT+/n730VD1pGw2QDjwBZ8QSiZPvus+2smJIiF6chzsFjEtKeXKyp4rrQU\\nVyBAtjG4jXBvmBsezr9qa/m4pgarz8cep5MfGxrINBgoHl5JfLxIoy1bJnZNQ4YIu+jbbhMzi7/9\\n9jj+6CMgSRIZz2f0y4DMPMaMeZxZjOQcABhsMmGRgvxbLBLNVi8+p58WLeiOIfIPDRWd6e++K3ZN\\nR1OH8npPTFotGE5KPU88TpJ/P5Cm17dH1GNMJsJVKs7q1ImpkCRODw8n12Zjt9PJyPMcPPSQiO7P\\nOVfGN7mG1VYrzk658NNPFznzs8+GM88Utu27dnV/7fp68Jo8pOv1uBXi8e+8071GYLOBrB/4tI8k\\niXOMi+t6e3x87+T/UXU1aXo9c8PDj6mz9LTwcLbY7VxaUECmXs8Gm40mv5+nUlPJtVTz8msyI8cE\\ncDohNVUsnN9+K853+nRYt+44/ujjhCpchc/av6lhvcHf7EcKQLhZ2DB7LArs3zRQ+kYFHp247o4G\\ndrtokPvoI2GLnJgYfJhOT4iJEdYf/w6cTPuceJwk/6OEWqHg8MSJDD5ijNBYs5mtdjv3FBaiuaSM\\nzZsFSV97n5vrCvfxyOHDTNu2je12O3cfPEiJzs4ddwjCfOYZ0VkbLAdbXw8OQwtDDQa8Kj/RsTLj\\nx8OGDV2Ps9nArxvYgm9viI0VX9BOHm7t5F/Y0oIfWD1iBI+nBvdO6gtGpZItY8eyKD2d86KiSNfp\\neH3IEKaHhlLt8/DT0EJ+zhbMtS6+hNcrO3JQM2YIhdXSpaJg/tBDopnt3wV1uBqv9RikXdBljKfD\\n6sFhBn3rgq4NSLhXNOL1Bfjw5qP/6trtwpOqDZmZQfvKgqKgIKj7xIChs7tsIHAy7fPvwEnyPwaY\\ng0TX48xm1ttsrG5ooFB2UFQE8+bBFrudaSEhrB89mnFmMxPy8ihzuzlj506uureF3FxRRJ0+HX74\\nobtNtNUKjRo3qTodeqWCA8UBpkwRw2SamzuOt9nApxn4yL8ntI22rO6YKInNBq3jWrl/0CBS9HoS\\njrUVFxhuMnF7UhJ/SUvj4MSJnBsVhUKSyDEa+aC6ml3qBgxDXPyjpYgv6+pw+f1839BAYqLME08I\\nG51Zs4QLZGeLgKYm8d6dKKjCji3yl2WZDYM3Yt8mFGX1pS6cnQRSmy7VolqXScgzyRSdIirvhYVd\\nazG9weHo+HxA7AL27u35+DYcPixSROIc+/da5eXw9dd9HwdiJm9aGmzfLuS7SqWoT5wk/xOLk+Q/\\nQIjXarkjMZEvhw+nwOVqH3+4xW5nnNmMJEm8MHgwT6el8WFWFmdGRPBVXR361tnV6enCBn7Jkq5f\\nsBqbH48iQKRajVmppBk/06YJH574eHj/fXGczQZu9cAXfHtDQoIwX/vLXwSx2O0i8m+YMoW/HGPE\\n3x9kG43Uer3scjl58ptGxpnNbLHbeb6sjPn5+Vy/fz833SSKmsXForBps4mUUH4+3H23GJN7oqAK\\nVx1T5O8sbMZf5SXvyUIcOxyUfVzNvmkdjVyeBBXN2Vpcfj+G1h1ebq4wBe0Pjoz8s7Lg+ed770wP\\nBERt5d57YcoU8Rz9wdlni8Jyf/Ddd8LtYsaMDu9+vf7YLTxOon84Sf4DiP+XmsqZEREkarXsa27m\\nl8ZGPqmpYXxruKVXKrkzKQmlJHFGeDjLrWK8kjcQQJZlrr1W+OHk5XU8Z7XcQqxCODKalErsPh+z\\nZgnyv+++I8hfOfAF396QkSHO4ZlnRC5YlkVkGapWn1AHyWyDAQVwisXCV07ROVzn9fLgoUP8MHIk\\n3zc0sL6pichIke65+mpBXCDSFzt2CB+mEwV1uPqYIv/9P9dRmAa2dU1sPnMHrg/qCLmyI/FtUCpx\\n+v28XVWFsbXYW1QUdFxwUBwZ+V9+ueiXuOaankn9++9FSqapSUiW+1PwvftucQ23BTZ9YdUq0ftS\\nXS36YlJSTub7/x04Sf4nAPPCw/nj/v2ct3s3DyUnc2aQROlprQXiV8vLiVq/nlnbt3P//WJiWOcR\\nhvX/v71zD4+yvBL472SSSSZ3cuEaICRyVZCLclHRYBURMbVd6/XBUruKFZSuuy4WbdVWXe22de1q\\nab21aql0d7FVVKxK8QKUKEK4GjUQrgJCgNwDCXn3j/MNmUwmmQEmM8G8v+eZZ2a+mW/m5OSb853v\\n3F7XEfo6LlCySxuoRNQbmzNHL5XvuANef8NQL8dIiaDxnzlTk9TPPqthqBkzdBxDRzMiOZnBiYlM\\nTEvjg8OHyfN4eCA3l+cGD2Z8Whrfyc7m3UOH2H/0KN+5oYkPmvYz9Z7DXHaZhkk2b9ZQQ0esxAYn\\n7/nv/MchtkxL4LG3Ulg6upE/fheuO695/HRiTAwPbd/O+4cPM3/QIADKyrRMOBT8PX+3Wxvkhg1r\\n3bDnZdUqHTyanKzGP5jnb4weD888o5VFobBpk1bEJSRoyOeMM2zIJxJY498B3J+bi0uEv40YwYxe\\nvQJWZaTFxvJIXh6/2LmTV846izXV1RxsaGDECA1NgP6QKt1HyE1S45/iatk96/HA/PnaNPb60mN4\\nXDEhr8EaDgoK9ArkW9/SCpJ77onM905ITeW9kSMZk5JCE5CXkMD9ubnc7JQkXZSezuM7d9Jr5Uou\\nX7+e6zdv5ndxpRQWqpFLS9PbqlUdI9/Jev7VZXUMPDON5aNHk/jfuVwzbxg5Pj0SiS4Xn1RX84v8\\nfM51lmzbutVJ9re9INZxqqpaev5eLr5Y802B2L1bE8Pbt6tRDub5b9+ua9LceKMWKwQ7wdbWav4l\\nI6N5mzX+kcEa/w4gIy6OpSNHMirQL82HW3v3pnT8eC7u1o0zk5LYWFPDiBHqRW/YoD+0mIwGenm0\\n1C/Z5aLK71d+9dVOh/CIyCV7vYho6MDl0viu3/IBHfi9Qne3+/h46AF+8YUL0tJIjY1l8fDhLDt8\\nmFl9+lBSW4snv4633zb0u6SK2x+q4wc/CNxVfaqcrOfPgUaye2sV2bz+/Sn0m/LpcU7sQxMTee01\\n7bJetkxfq6wM/vHV1S09fy+TJmncPZAudu3S3E5Ghu4bzPivW6eD+DwePS6CLcLz5Zeau/L1j4YM\\n0W2WjsUa/07CcMf4jxmj5ZNXXKHJ02PJDWQ6Rj0lNraF5+9FBCoaI5vs7QzkezxMy8xs1UGcGhvL\\n9vHjuTwzk3n9+jGrTx8GejzcHF8EIw8jN+xgz1htUvjhD/UK4MknIcDA1pMiLiOOhvKGFmWbAIsn\\nf8ye9RVt7uc+eIxuvdruhvb+77PcblavVgM5YIAa51Di/m15/uPG6Ryn6dN1ZEZZWfNru3fr54Pu\\n217Yp6kJFi2CUaP0eWZm2zOrvHiNvy8zZ+r0VkvHEtT4i8gUESkRkS9EpFVRmYh0E5G/iMg6ESkS\\nkTND3dfSzFlJSWyoqSErC9au1cvnujq47taG44vHJPuFfXypbIxssrczECPC4uHDiQ8Q6vImnB/O\\nyyPP42GsEya58a4jHO5Ww8rKSmbMq2PRIm24u/dejVF7E+gnwp49LevUYzNicXd3syp3FYeWqlU2\\nxhC3vIaiV3a32n9LXR1jVq8m6aChe6/EVq972eVzdqqthQkTNOyTnR087r9ypeY5Ann+MTHw8sta\\ncTZpEowd23wVsHt381TVpCT15H/968BhpsWL9di96y59Hqrx955cvCQkaFjO0rG0a/xFxAU8CUxB\\nl2u8XkSG+r1tHrDGGHM2cBPwxAnsa3GYkJrKBz6/YBH9EdS4Whp//7CPl4pjkQ/7nE78Z14e/9a3\\nLznn1bC1ro6PKyu5u8dHvL2plrSMJv6yuIklS7TUsLhYq4JC5b774P77m5/HxMYwdvNYBj45kG0P\\nbgPg0O46Euqg+n31/LfW1fHI9u3UHTvGawcOsPFgNXH10CO7bc+/wqejrqZGjTHoSWvXLjXYzz+v\\nORh/o/v00xoebCsS2a8f/PSnWtWTnKwloJ9/ricVb+VNbKwmiefMaVmRBnrlsWyZTq/11jeEYvx3\\n77YhnmgRzPMfC5QaY7YZYxqAhYB/9e5QYBmAMeYzIFdEuoe4r8VhTEoKXzU0UObXfVTus2ZwisvF\\nnNJSnvWfqIZ6/pHq7j0dSY+L46ykJN46eJABHg8ze/fmG+npnF38ESP+uolClvN6TikTrqpn/Hgt\\nVwyFpiZ4/f0G/v5J63Uesr6dRe3ntdRtrWPr5gq+7APdPjlCffkRLi4u5s3yciasWcNrRbv5n+9A\\nRXrgBkIvi846i03nnguo8fc2maena86lsFCH8BUXw1tvNU+NBb06gcCevy8uF0ycqL0R116reRzf\\nCyvvycN//YRLLtHQ2cSJzdu8xn/nTi3nHD5cT0C+BAr7WCJDMOPfB9jp83yXs82XdcC3AURkLNAf\\nyAlxX4tDjAjTMjPJLyrii9ra49vLG5pj/t4xyfeVlVHndwVQaT3/oOQlJLCupoZzUlJ4atAgXho6\\nlOeGDOHNQ+XM6NmTL48e5cjNW/iwpJ5VO+owRkdY+IZ0/FmzBo5M38qOe9awcUfLJG9MXAwpo3XI\\n256SKipGudk8KY6XZ61j2Kfw4qJ07s3qy4ziRNIqoaabtOqPqK5WI37NNfDEvASGOe5+bW2z5+89\\n58fHa6jw+9/XBe8HDtQwDDRPYA3FP7j6ajX+3bs3N115SU7WZK430QyaBygp0ZLRc85p3p6ZqQ1k\\n/frpiaR/f70yWbKkuWN4xw6dEGuJPMGsRSiV0I8CT4jIWmADsBY4FuK+ADzgc4QVFBRQUFAQ6q5f\\nK54dPJiKxkZWV1Ux0HHryhsayHI8//3OCMbchASKKisp6Nbt+L5dMeF7opzhVAXd40xhzXa7+W7P\\nnrhFjlfWDCoq4oIDRciMDJYuHc6ll6pX+847gT/z9TcMx8aWk1zlZn5xOU/105KnhqYmYkSI7xdP\\nfVk99UsrcOUlMG5WX1Z+fxOzfxZL1eAq+r9yANNkOJgh1Ge09sXmztXKrw8/1JJLb2eyb9jH600v\\nWKBhlJISNaojR2op8NNPq/H/5JPmZGx7FBYGXFcGUM9/2LCWvSgffQSjRzcbdC9Tp+rn3H47XHml\\n5g6GD9dqti1bVKelpVraaQnOe++9x3ttNWScBMGsxW7A97zcF/Xgj2OMqQJu9j4XkTJgC+AJtq+X\\nB/zdiy6KS4RRycmsq67m+h49MMZwsLGRDMf4P37GGTw0YAC/2rWLDysqWhj/rpjwPVF6xceza8KE\\nVvOGru/RvL7uF+PGsa2+ntHVxVwxzfDNGxvZf9gA7oCf+b9rqkm70MXwvT1YWVsJ9ORIUxOZy5eT\\nFhvLwuxMmn61gxrXUQY9diYXDspm+N/PxxMTQ3xMDAeXHKRuax3r95dztLiG++7TkFN6uhr4BQs0\\nDj9kSMuySd+wT2EhnHee5ojy8/UetGLmjju0iqmqSk8Gp9p4nZysc6jefVevMjweHU3u7aD25cor\\ndXR0YWFzw9f+/bpO/S236EmgtFRltgTH3zF+8MEHT+nzgoV9VgMDRSRXRNzAtUCLcU0ikua8hojc\\nArxvjKkOZV9La0YkJ/NxVRUlNTWsrqoiTgS3E3RNjY2lV3w8E9PSWLBvH6NWr2aJk1GzCd/QCDZo\\nLtHlYmhiIqlp8OKaCl795xWsnaLZ3zffhIcfbn7vsmWwq285/9Q7k8l9U9gS6wxka2gg2eXiZwMG\\n8Iq7ArPtKPVXpvLIndls3Ajd4uJIcLkQETKnZpIzO4fM23pRel8WDz+s6ycYA3/+sxraHj303ica\\n2CLs8+ij2lV7/G/so+Wrl16qgwFXr24duz9ZunXTK5D+/dV7nzNHDfyddwZ+/003tez09bYuTJig\\nq97Fx+tnWiJPu4eDMaYRmA38DdgM/NkY86mIzBSRmc7bhgEbRKQEuAyY096+HfNnfH04JyWFospK\\nCjdu5IoNG44ne32ZkpHB7D59GJ+aytNOJs8mfMOHiDAhLZXvHVjP5emZ1Dea4zXsP/mJGr9rr4Xr\\nroOeV5VT2D2Ta0alUJVdw9FjTZqniYvjxh49WJeu5ZmZo1NZvjzwELXycvjoie5MOzyIxESYPVsX\\nqn/qKa15v/pq9aL9Pf/21sgZN06N/UUXaRmn/3oMJ8sf/gDTpmmoZuFCPSEuXXriSdvzz9f9Qh0B\\nYQk/QV1FY8wSYInftt/5PP4HMDjUfS3t0yc+nqqJE9sdjOaOiWF2Tg6VjY30X7WKh7dv5/m9e5ns\\n2yNvOSWeGzyYrxoaiBVhWMl69u2DZTUHueXdamZl9WPdOpg69zD31h9hYloa7pgYpNbFp3sbOJSo\\nxj8+JoYLh2UDe8nIy6CuTsco3H23xu5/+1u9rVypg808HrjtNu07uP12HXM8ZYo2/DU1afimqUmN\\nejDj76WgQE9YU6eGRy9ezz0/X/MJt96q61KfKIMHa2I6XI11lhPHxgk6IaFOxEyNjeXneXn8uKyM\\nQR4PQxLbbhCynBhZbjdZbjd1x47RlHmEks8MOwZ8xTOylxX1+xg5Jpl3Dh7kN4MGHQ/LxVfHs+HL\\nI3hym8tzbxyTw4LJ+5h4NI1hwzQc89lnWkUzf76GRbzduUuWaIPU5MmaPE1Pb67OiYnRWH5dXXOz\\nVSj/7oICrdWfMye8+pk+XfsAbrjh5D/DN1RliTxiOmq0YagCiJhoy3C609DURFwEB7p1NRLeXMFN\\nH5zDH8/awKtT88iIi2NddTUjk5MZ7dM11f2ZDdyS05P+ZzdQVFHJc0OHAFBz7BgL/+Bi+XLtXH39\\ndZ1f/+qr6vnW1OjCPx9/rJU9Z54ZWI7sbK3syc7Wq4Ty8uAnAGP0RHLhheHShqWzICIYY046hW89\\n/68B1vB3LFlNCSxcUcfRS2q5IC0Nj8vFmACtspkmnq2VR3HXNvL8f8UxYpjG7+WIi0WLtAHq9tvV\\nIE+bpvvEx+stN1d7BgYObFuOxEQ9UWRk6EkjlHn53jWNLRZ/rPG3WIKQl5jAhyMOkNPowdNOUr1n\\nrJud9UfwHGqCSjd/+pN65/n5Wmo5a5YO63viidb75uaq4XcHrigF1PjX1urN4zn1sk1L18a6jBZL\\nEC7snQyT9zI6qf0R3f0S49nXeITdVY0M6R3HCy9og1VRkda6O7PlApKf33a4x0tSUrPxDyXZa7G0\\nhzX+FksQLuqeAmmNXNK/feM/KC2BspwDvB2zl15JsQwZot2wv/+9Nli1x/Tp8JvftP8er+cfaqWP\\nxdIe1vhbLEHwxvfHpQdZnOfcdBLmqpUflKwB+dtug/r64Mbf4wm+epU35m+NvyUcWONvsQQhIy6O\\nX+TnMzLISMzsLGFS3xSYVMC5mfreq67SaZfhWJYwMVETxpMn22FollPHGn+LJQT+tW/f4/X87fHj\\nH+u9MzsOt1sTveEgKQm2bdNxCm+8EZ7PtHRdbLWPxRJGxo7VVdi8q1+FE29pp3d0g8VyKljjb7GE\\nGa/XH268i6fbJQ4t4cD6DxbLacLevdGWwPJ1whp/i+U0Yd++aEtg+Tphwz4Wy2nCQw+1v6SkxXIi\\n2MFuFovFchpyqoPdgoZ9RGSKiJSIyBciMjfA61ki8paIFIvIRhGZ4fPaNhFZLyJrReSjkxXSYrFY\\nLOGlXeMvIi7gSWAKumLX9SIy1O9ts4G1xpiRQAHwSxHxhpMMUGCMGWWMGRtWyTuQcC6SHE46o1xW\\nptCwMoVOZ5SrM8p0qgTz/McCpcaYbcaYBmAh8E2/9+wBvCOrUoFyZwlHL6fd7MHO+o/ujHJZmULD\\nyhQ6nVGuzijTqRLM+PcBdvo83+Vs8+UZ4EwR+RJYh7OGr4MB3hWR1c7i7haLxWLpBASr9gklEzsP\\nKDbGFIhIPvCOiJxtjKkCzjfG7BGRbGd7iTHmw1MV2mKxWCynRrvVPiIyHnjAGDPFef4joMkY85jP\\ne94EHjbGrHCeLwXmGmNW+33W/UC1MeaXftttqY/FYrGcBB25jONqYKCI5AJfAtcC1/u9pwS4BFgh\\nIj2AwcBWEUkEXMaYKhFJAiYDD4ZTeIvFYrGcHO0af2NMo4jMBv4GuIDnjDGfishM5/XfAY8AvxeR\\ndWgO4d+NMQdFJA94RXStuVhggTHm7Q78WywWi8USIlFv8rJYLBZL5InqbJ9gDWQRlKNVM5qIZIjI\\nOyLyuYi8LSLpHSzD8yKyT0Q2+GxrUwYR+ZGjtxIRmRxBmR4QkV2OrtaKyOURlqmviCwTkU1OU+Gd\\nzvao6aodmaKtqwQRKXIaMDeLyH8426Opq7ZkiqqunO9xOd+92Hke1d9fGzKFT0/GmKjc0DBSKZAL\\nxAHFwNAoyVIGZPht+zkawgKYCzzawTJMBEYBG4LJgDbcFTt6y3X0GBMhme4H7grw3kjJ1BMY6TxO\\nBj4DhkZTV+3IFFVdOd+V6NzHAquACzrBcRVIps6gq7uABcBrzvOo6qkNmcKmp2h6/qE0kEUS/8Rz\\nIfCC8/gF4KqO/HKjJbCHQpThm8DLxpgGY8w29B8d9g7qNmSCwI17kZJprzGm2HlcDXyK9p5ETVft\\nyARR1JUjT63z0I06XIeI/nEVSCaIoq5EJAeYCjzrI0dU9dSGTEKY9BRN4x9KA1mkCNSM1sMY4x2i\\nuw/oEQW52pKhN6ovL5HW3R0isk5EnvO5FI64TKJVaKOAIjqJrnxkWuVsiqquRCRGRIpRnSwzxmwi\\nyrpqQyaIrq4eB+4Gmny2RfuYCiSTIUx6iqbx70yZ5vONMaOAy4FZIjLR90Wj11VRlTcEGSIl33xg\\nADASHe3xy3be22EyiUgysAiYY7ShsPlLo6QrR6b/c2SqphPoyhjTZHTuVg5woYhM8ns94roKIFMB\\nUdSViEwDvjLGrKWNcTSR1lM7MoVNT9E0/ruBvj7P+9LyzBUxjDF7nPv9wF/Qy6V9ItITQER6AV9F\\nQbS2ZPDXXY6zrcMxxnxlHNDLUe+lZcRkEpE41PC/ZIz5q7M5qrrykemPXpk6g668GGMqgDeAMXSS\\n48pHpnOirKvzgEIRKQNeBi4WkZeIrp4CyfRiWPXUEUmKUG5osmcLmpxwE6WEL5AIpDiPk4AVaEPa\\nz9FOZYB76OCEr/M9ubRO+LaSgebkjhv1ArbglO1GQKZePo//BfhTJGVCvaAXgcf9tkdNV+3IFG1d\\nZQHpzmMP8AHwjSjrqi2ZekZTVz7ffRGwONrHVDsyhe2Y6hBhT+CPuhytjCgFfhQlGQY4SisGNnrl\\nADKAd4HPgbe9B2wHyvEy2kV9FM2FfK89GdCZSqVoh/VlEZLpZsfIrUeH+P0VjYtGUqYL0BhoMbDW\\nuU2Jpq7akOnyTqCr4cAaR671wN3Bju0I6KotmaKqK5/vuojmypqo/v58vqvAR6aXwqUn2+RlsVgs\\nXRC7gLvFYrF0Qazxt1gsli6INf4Wi8XSBbHG32KxWLog1vhbLBZLF8Qaf4vFYumCWONvsVgsXRBr\\n/C0Wi6UL8v+d9NEd0E6leQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1307a0f28>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 48,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1306c88d0>]\"\n      ]\n     },\n     \"execution_count\": 48,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAYAAAAEACAYAAAC6d6FnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJztfXuwZlV152/de7tbVAxiSPNoFELoEiwRxDQIIlcGlWbG\\nBowvMCXBBNDA+GAChMykujVVmWQqiSlixqFqzBQ6M2iVRgtHKdQp70hNFcxYCj6gR2CkAsa0logT\\ntQLdzZ4/zrf41l137cd5fN859571q7r1nW+fffZee+3H2uu39rkfhRDgcDgcjvFhoW8BHA6Hw9EP\\n3AA4HA7HSOEGwOFwOEYKNwAOh8MxUrgBcDgcjpHCDYDD4XCMFK0NABH9DRHtI6JvJfLcTEQPEtF9\\nRHRa2zodDofD0R5deAD/CcAFsZtEdCGAXwshnAjgKgAf6aBOh8PhcLREawMQQrgLwE8SWXYBuHWS\\n9x4AhxHR1rb1OhwOh6Md5hEDOAbAo+L7YwC2zaFeh8PhcCQwryAwqe/+/yccDoejZyzNoY7vAzhW\\nfN82SVsFInKj4HA4HA0QQtCb7CLMwwO4HcA7AICIzgTwRAhhn5UxhIDTTw+4/voAIOCGG6rPN70p\\n4HvfCzjuuIAQqusXvSjgzW8O+OQnq7TSv4WFqvw//uPq+003Ta+vvbaq84gjquuzztqNI46o7r3w\\nhQGPPFJdP/xwwPHHV9eHH1498973Btx3X8AppwS8/vUBd9xRTy7596lPBbzxjQG/+qsB3/lOwDve\\nEXDrrdW93bt348EHA044IeCSSwI+/enpc4cdtlZ3/F2m79wZr/ulL63yvv3t5fLu3r0bF19clX3m\\nmfF855xT5Tn//IDt2yt5WOe/9EsBV101lfutb12t8xe+sLr37neXybR5c9V/118fsGlTlXb22QF3\\n3RXwvvcF/MVfTPP++McBz39+wO/8zlRXl11WXbMst90WcMstAVdeWen58cerPrrhhoBTTw147WsD\\n7ryzKk9en3VWwJ49AeedV43tK6/cjRACfvrTgEMPDXjXuwI++MGAF7ygyn/ccVWZV1yxtk0f+UjA\\n1VcHPO95AT/8YdWPQMATT1T3iQIOHpT9UrVlcTHguusC/uzPVpf3t38bcPHFAe9//25s21alnXhi\\nVf9v//Y032WXVeWccso07UMfqsb8pk0Bf/RHAb/3e5Usr3zlVM9/+IfT/nzd66rn7713bbtOOqkq\\n/9JLA7ZtC/i7vws45ZSq7+Q4/6u/CrjmmoC77w7YsWNtOV/9asCrXlXJwOP8n/4pYMuWgPe8Z+08\\neMELAt75zoCPfrR6/p3vrO5v3x7wm78Z8LGPVekXXRTwmc9U41zWt3NnVc6rX71ajgMHpjr/4AcD\\nDjmkSj/55Gn9N99czWk9zpv8tUFrD4CIbgNwLoBfJqJHAewGsAkAQgi3hBC+QEQXEtFDAH4O4Ip0\\necCBA9U1fz79dPVHNM2j08rlrcrVZXE9fE/WwffqPFNXLi0jl2OVF6vH0p31mZJN66eOzKVlP/00\\nwOOW9cftSfV5HblYR1Zfp/QJVM/IecX59fOyPbHxEQKwuJgew3xf6sNqpzUu+JkQqj9rPMTGJJcn\\nn7P0HEuT8h88OG2v1g/LGJsXlpyxtFw5chxZ81jOg9QY03M8JXdMr7G+lfrgv4We3shqbQBCCJcW\\n5Lm2tLyFhelg4k+tpIWF5orj8nVZXA/fW1iYDma+l3pmcbGdXFrG1ACJ1WPpzvpMyab1U0fm0rJZ\\nd8BUf9yeVJ/XkYt1ZPV1Sp9A9Yw2ADwm5POyPbHxEcLq53ixkGl6kYi10xoX/AzLKxcjlo/HsS6T\\ny2MZY3qOpVkGgNso9cPpsXlh6ZFobVpufsn7ch7rvuXP1BjTczwlt75HNNW51bdSHymDNg8M7k1g\\naxHj3Y3sKJ1Wt3xdFtcjB8BRRy2vulfyTFO5tIxcji5veXk5Wk9fBoBlKi1b7jhZf9yeVJ/XNQBH\\nH71s9rWlN04HbBmt/pXtSY2PxcVpnl//9eU1dS4t2ePJapMeF5autL6BuAEIATjjjOVGBkDKb/Wb\\nrD81Lyw9ct/p8nLlyHGknwFWz4PUGNN9uLBQjXNLbssAsBdg9a3URxfrRRsM0gDEKKDcTq5O+dZu\\njV00HgBHHrlc5AHIZ2btAfBiG9vJllBAuUU6l0eDZSotW3sAKQpI6ryOXAsLwNaty2Zf5zwApoDY\\nAKQ8ACm7NT40BXTGGctr6lxasseT1aaYBxBb4FP9zuXt2LGc1HMsjRezxUW732T9uZ271uMxxyyv\\nScvNL3mf5S2hgKy26zkeMwCpvjpwwO5bqY8u1os2mMcpoFpg1w9Y6y51FQM4eHB1WbIeTpMuKN+L\\nxQC4vCHEAEo8gBxPn8vT9DmtU2DtIpbq8zpySV3UjQHo5zi/FQOQVII1PoDVC1NJDODgwWrhsNqU\\nMgAWF53qd0sf/Mzi4tpyrLEm9aB1pdNj88LSYywtV44cR/wM18964M/UGCuNAcTGpNSj7lupjy7W\\nizYYpAcwFApIcsFDoYBS7bd0N8QYgHTJeVLMggI6eNDu63lTQFa9Mo0pIs4/CwrIKjMmVykFpOeK\\nliWWHuurnG5z80ve1/1uzYO6FFBM7pJ7sfHdNwU0OA9Au61A3MVu4jppt027epZ7z/diz8yTAkq1\\n39JdUwpo8+b6MtehgDQnK113+d1yz+vIw9f8mdMnMFsKyJKlbwoop+eFBeDJJ+2xJvXAssggcFMK\\nKJaWK0eOI90m1gN/ptqu53hK7tS9xcXVQWGngDKQR8f6PgaqDUDJM124dG0ooPVyDFQutkDcAFhH\\n9OrIw9f8mdMny6QNQIwC2r8/Pj6BtQZA5uEdYRfHQK0xp8dDKQVUegxUzxWtK52eolJmdQzU0gN/\\nptpeSgGl+spaF9wAZGC5a2w99e6pKwpIdrR2a61dQOqZLjqU3U9uo7VjjaX3SQE99VRZ2dwuKZds\\nL2DvzppQQHzNnyUegKT+WLaYByC55JgHYNUrjUvdY6BSP5auLB3EKKASPefSZD3aA5DpOSrF0q0c\\n53U8gBIKKNX2Ug+ghALScnGZsQ3ePNGT3YnD6iw9eGILYJ3ydVnAsGIAcvG3OOtY+nqJAcjFVvbz\\nEGMAegECpotcSQxAHgO1+qvOMVCtH0tXVv4hxAByC6n1rBznufkl7w8pBqDlknryGIDCwkKeApIW\\ntSlVIXdi2v3mTsvFALjzrCNnbTq0DgWkJ2UJBbRlS7l+6shcJwYg6RaGvLZ2Z3Xkkm6/7jetN9Yt\\nT07purMscsHXFEfOA7AoINmmOjEAPSfkdY4C0mWmKCCtn9jRUNaLFQNoSgHp+dfEA5DjvJQCkm3S\\n60KqP6x7UmdaLqkPp4AU+PgUsNZd0ot2GwpIGxOuR05wTQFpjlfuGHnQd+HSSQ8nttDzfW0YuvIA\\n6spf8pyc6JoC0tfWwlRHLrnry8UAZPksx9LSNA+PMy2D3KVa40PKEjM8+qSIHIMaUsYmFJAu05LL\\n6kcrTcqu5eL5I+uvQwHJ+SfHeZ0YQIkHwHLJdSVGAaX6Y9OmeJu03EOjgAZnAKzOirnY86CAUvXL\\nRazERa0jo/Qw1hMFZJ1f13k0BcSQ111RQHzNn6V0CZ/eAFbvQK2FJUcBxeqV5XFQeCNQQHxfpw+N\\nAtJ60W0qpYAsj9oqyymgAiwsVMFEoJ9joNbRNj14Zf0sp3b1ujAAKQ+gDQWUMwBNKCB+LnV8lPPM\\ngwKSuigZN1p3mzbZBsA6XliHArL6S4+dphRQrk3W/RI959K0XDIIPORjoFovVn+w7Cm5c/e0XFIf\\nTgEpSHcydwxUBurqlm+569xBuSNs0qVjOUtc1DoyagpIu985Cohl1zueoRwD5d1VzgBYR/RK5alL\\nAUmdybHF11oGzV1bYyoVA5DlSdlyRwulfixdWTpoewxUUx1yHsUoIC1vbL5KurUrCih2DFTPD51P\\n0zayTVZ9dY+BxiggNwATSGsdcx9n6QFYbm3KA2E5Z+UBWK5ziQdgDXQpa6ruph5AKb2kdcewYgCW\\ne14qT10PQOqMDRTLIseElinnAaT6yxo7JRRQXQ8gRgGV6JnLkVRHqQcQm0NajqeeWj3W23oAMQrI\\n2hhpD0D+Z1+WPdUfuXslHoDHACaQnRULIC0sjCcGoNuu71sLCssU+yxZpGdpANZDDEDuVnMGIBcD\\nyB0D1WOn7xiAfp8jZhS6jgEwZABZjvPc/IrpMDcvdL5Nm9b2YVsD4DGAQrAVli6UtpLSojalKljh\\nFgWkdzV6QZD1A8M7Bip1p7nOUpqmrvwlz+ldnZSPZeR8ls737y+XS5YtJ3hut8zPSQ+AaQG565V1\\n5DyA3DFQa5cYW1QsTr2E1prHMVAuj9PkcznqRtIlssymHoBFAek+Zr3IMTaPY6Dyux7n88bgDADz\\ncPwjE7x7kp2gd2Z1wIuLXsy5vBivKevVMQC5QHTh0vGOIUUBpWIAUnf6ZEvpLr2u/CXPSa6XF0bL\\nA5Bvxlr8bB15dBmpxVLrTMrFC5oeO5q7lvVIWayFy+KceZeY4sqBaXmxALPWgVWmJZfVj1YayyL1\\nwrLIRVym53bS/Jwsv8tjoLF5IdcVTduwrlP9Yd3TbZJyyT7T43zeGJwBYMXxj0zwSzJ68MjOalJ+\\nzF2XLmDMfZYGSN7Puah1ZGxDAUndNTUAbfWaysPtkvKxjMA03WpbqVyy/3Rfp+gSrjtG8TWhgGL1\\nappAj6dUm7i8GL2k89ehgEp0r2Vn3VkUkLWJs+RkoyHTuqSAePzreWG13erDmNy5e1ou2WdN5lqX\\nGKQB4EAMf6bc51lQQFu2TMsHbJdY7sZmQQHpnZ7efcU8gyefXK072YalpWFRQFI+lhGYpuu21ZGr\\nKQXEdUsDoKkOOXa6pIBSdI3MD0zL4w3SECgg6QHwfOBxV0oBSR1yP3RFAfH41/Ni3hSQ1EeTudYl\\nBmcApDupDUCXHkCMApIDQMYAYpQBsHrwdkUBaQNgeSAxt1zqTnsAJYt0Uwqo1LhICihlAHTb6hh8\\nqcNSCkjqzPIAtAzaoFkUUOo9AM196/EU0x9QnwKyyrQWVKsfrTFRSgHJOZzbSXO5snzWf10KSJ/0\\nk32rDYA06HLXvn//VNc5w2W1SRsTiwJyA6DAipM0Rsx9bqI8/Zx29bRbC8TdZ30/t0OpKyPLFHPv\\nY7syqTs50EspoKZ6LaWAWEdbtsyWAnryyeqaX05LUQhcPutMewByTGjKwFpENX1gjQtNE6TGm8zP\\n5ZZQQHITY90vpYBSHpkcd9ID4LJSRkqWZXkAWv85CigXA5DzQ+tFt2kWFBDPQ0kB9cX/AwM1AFYM\\nIDV56pYvj7lpD8CakNaCaE2u3ACtI2PKA5B5LJ3EYgDWwhqre5YGoM8YQE6fXcUAtAdQEgNILda6\\nTRYFVLJJ0fdjQeCc7i3jtbQ03TXr9KYxAK3/nCFJxQBi88Jqu14X2hoAaZhkn3kMQEFb6xR/2sR6\\naurIigHoCZkzAPOOAVjtYJlSFFBpDKDJoKwbAyihgHK70Jw8dQ2A1hnLIhen9RYDSG1i6sQAUmNN\\nXj/5ZDwGEDvuGOurJgYgFwOwKCBJ6Wm6iXWd6g/rHtH02LLcKGgD4BSQguZiYycImgYrudNiMQA5\\nADQHqeXU9+UAbBsDkBRQasGyePIY11mHAmoSA8gZZNaZ5K8tD0AuuvrZOjEAbntpDEDqTO7YpYGX\\nMnCbUzEAzpeKY5WMN5kfKI8BpOJYKQ/AMlTWWOP/maSDwDwfpE5LKCC9aAM2l56LAeid/f798Y2R\\nNuiWB5Dqj1gMwDImelPbNwXUo+2xYblrVgAp5X6VlC8HR1cxAKLZUEApztrSyXo7BipljFFVdeXi\\n/FZf1zkGql35UgqoyTHQ1HiT+bncoR4Dlcc2U5u4XF9ZHsB6PQaq5+FQjoEO1gCsVwoIaN+pY6OA\\npB7lMT3dtiYUkJ7gpRSQXGCdAoqPNb3Tl7rQ1AuXFesrfThjvVNAVt86BZSBdCflhJwXBSTdzZT7\\nrCeXLK8JhWLJCDSngOQny1h6DLQpBVRiXCS9MutjoHUpIKkjLaNc0HRfA6vHiFw8+j4Gai108r5l\\nvHTe1FiTekkdA01t1mJ91YYC0sYkNS+0QZfGhnWd6o8YBRTrW30MtE8KaHAGQLqT/Ll///qggNrI\\nFSt7I1JAwOqdI4OvpfxN5ZJl677umgJi2WNjihcTHQRN0QQpWoHLHSIFxIulTM+NOymnPLLbhAKK\\nxQCGTAGlfkRp1hisAZCBzJj7/NRT3VNAVqflKCBd3hAoIPnJMvLAnxUF1JUBYLnlj8vUNQBSh3KC\\np3bLUmdygeVxpmXQgVtdD7DaA+BnrDbFxlNMf3UpIKvMGAWk89ahgHjRZM+gZNzF+qoJBWSdr9dy\\n6HnRhgKK9ZXUme5bfQw09SNKs8bgDIBFY6Tc5yY71boUkOWmxe7r8ptADpjUgsVH7rRMQ6eAOL/8\\nzjICw6CAdDlSXosC0pyzNACyDKvOkvEm8wPrjwJKjbtYX20kCkjPQ48BRCDdSf60ePC6O8LYc7qj\\nu6CA2naqLDsVA1jPFJDWMcsIDOtFMMuVT+1SZT052a2ydVmxNpUagNwYtgzArCigxcW1bdJytvUA\\nuqSA2ngAqb4d0jHQdWEALB68SwMwlhjAUN4EBiq3tw8DUDcGII1mHQMgx5RceKw6mxgAli/2r1JS\\n8sn7szgGyve1TuVPSsbkzBmAkhiAbm9uXsQMwKxiALLP2q4VbTFIAyB3NqkYQMw1S4HdRFa65vr4\\nnhxMuRiAVV6bTrVksigLyyuydMflyB1aru668pc8J3XKu0S5U+ZrlttqW6lcUodygqd2y1JnPPn1\\nf7hMjR1ZjzzFJcuw6uTxZo0nKz/nKYkBpHaxsRiARbfG+sPSCwe7+bncuEv1lZQ91X/8DPeb1SaW\\nQ88LTQfXiQHE7kmd6b6VfdZ2rWiLHqu2wZ3B7mLqTWCg2U5VPy87mu/JwWq5aTJwZcnTNgbASFFA\\nuh5LdxL8PbdI63LryJwzLjJ/LC/LabWtTgzAeja1WMq65U5Wyxsbe7EYQEzvMn9sPFn5gXIKKPY8\\n37coIJ03NdakXrSO+LncuIv1lZa9JAZglavl0PPCWhP0upCqLxYDkHLLvpV9Fnt+XhicAWDFsbuc\\nooDkZ93y5ad09ThNlpujgGLlNoV8NkUB6byW7iTqGIC2ek3l4etYXpa7TX/Hnk3RJbJua0ea6+PY\\nmCrJHxtPsTaVHgPNfbcoIJ03l6avYwtviQFI6SrVfwzLcGk5LCrOalMJBRRrV6pvZZ/Fnp8XBmsA\\npLWOUUBAMwpIP689AL045SggS542nWrt9GI7VmvyxHY6PPBLdul15S95Tu/0YnmtBaOuAYgtBLnd\\nMtct6Q0tb2zs6XqA1R5AKn9sPFn5Wb4SCij2PN+3KCCdNzXWLB1p/eTGXWrRlump/rPaqNvEcuh5\\nYa0JpRSQJasuU/et7LPY8/PC4GIAQ6SAcsdALXmcAlqL9UYByXEg5a1LAcUWCk0BWePJyg8MnwKS\\nz82LAorJndsYWWuCXhfaUkCybzUF5AZAgJWhKSArCCU/65Zv7dZiHkDfFFBqcls6cQoo/mxOn1y3\\nFQPI9bE1poC4wdBl16GAmhgA63vMAOR0H9PLwsJa3XVJAdXxAGIGoJQCauMBpPrWYwAJWNaaefBZ\\nUUBdxgBmQQHptsfqye10nALK8+VtKCCpAzmm+NkcBdQkBiCPFDahgPSzQ6eAcjEAS+6mFFCbGID2\\nJmTfyj6LPT8vDNYADMkDqBMDaGqYLBlZpq48AGtnHau7rV5Tefh6lgYg9mypB6ANgN7p6jo0XSQp\\nIL0wWnLFxlOsTVYMIFZ+6vssPIDYzrtk0c4ZgDYeQGxeWG3X60JdA5DqW48BJDDEGIAfAy2XuYsY\\ngLVjnHcMQJ4H1/KmdsmyHmB1LMHagfNnbDxZ+Vm+1H8a1fJZZaYMQJcxgFj7LTk3agzAKaBCxDyA\\n9XQMtK1F1zs9PwbanQdQ5xhoHQ9AX1sUUM4DqBsDKG1T6vs8joHq9FS7ch5AHQooZgD8GOgUg/MA\\nLGu93o6Btu1Q67SHxwDqyRXbCc7qGKiW1aKAcjGAOhSQ/qdlQzoGygub3lF3EQPwY6DdYnAGYCNQ\\nQG1dOtmmMVJA6/EY6LwpIB6Tsk25Hb9TQKs/Y+2TxgaYPQXkBkCAleEUUAWngJrJFXu2lAKqewxU\\nX/PzMi3Vh7HxFGtTyT9IK/k+CwooprsSA5DzAOZNAWlvJvVc7J7uW00B9RkDGKwBcApoKlNqx2rp\\nxCkgp4C0fFaZfF96uEOlgLjseVNA2hO06rJkcQqoIaxdrEWDdLVTlZO1q2OgXRqAFAWkB6alOwk/\\nBjq7Y6AlBiBWZ1cGIFZ+qkyitT+eEmtbLM3aOVt5ShZtqy5JIc37GGhJXam+GroBaF01EV1ARHuJ\\n6EEiutG4v0xEPyWib0z+/k26vOpzzDEAWX9qcud47PUaA/BjoPOJAXAe/T/xdV4rLRUDiO2om+za\\nddq8YwAldbWNAaxbCoiIFgF8GMD5AL4P4H8T0e0hhAdU1v8RQthVUqbuLP6uF+GmC5U1OLt+E7gL\\ni85ySTdU349N+JwBGDMFNKs3gbWss34T2IoB1KWAOM/QKaCS/rPaqNsUmxcxg1VaV0yvfE/37ZCO\\ngbategeAh0IIj4QQ9gP4BICLjHzFy7R216QLpQdFE8tpuXtDo4BkeandXWwRW+8UUG4RqCOPfraU\\nApILN2AbAKsOWY8uJ1anHONWeVZaVxSQnlulurfGO19bZZX0d0ldTgF1i7ZVHwPgUfH9sUmaRABw\\nFhHdR0RfIKKTUwVqa82TR+/Cm+609e7NMgB9U0BSzlwMQMsErH8KyNoxzpsCkrtY+SfzWnXIenQ5\\nWu9OAa2V0ymg+aJtEDjks+DrAI4NIfyCiHYC+CyA7VbGPXv24O67q+vHHlsGsPxMZ1i/SdrGAMjP\\noR0DleWljoHW9QDWyzFQa8fYlQfQ5E3g2O445QHIY6ClHsC8j4FymmUA2ngAXQeBS/qvpKymx0C7\\n8AC6pIBWVlawsrJS76EI2hqA7wM4Vnw/FpUX8AxCCP8oru8gon9PRIeHEB7Xhe3Zswc33wzceSdw\\nwglVGu8qDhxY/aPSTXfa1u5kaMdApZypHWtsgq/3Y6DWjrGuAYjtBJscA9Vts3bEWtb1cAyU88jf\\nuxh6DGDex0CbUkC67V1SQMvLy1heXn7m+wc+8IF6BQi0Xaq+BuBEIjqOiDYDeCuA22UGItpKVKmD\\niHYAIGvxf0YgtROTFlQPiiYLrWXthx4DAOzJHFvENkIMQN+vK1fdBUTrrq0H4DGAeHqqXV0aAF2W\\nxwDWopUHEEI4QETXArgTwCKAj4YQHiCiqyf3bwHwJgDvJqIDAH4B4G2pMmMxAL0IjyUGYBmfWD0e\\nA1grj362yTFQ3ba6MYAYB75RYwDWcx4DmN7bSDEAhBDuAHCHSrtFXP81gL8uLU93Fg8q6xhoVxTQ\\nUI+Bct2xxSA24df7MdBZUkBNjoE2oYD8GOhsKCA/BtotBv8msFSgHhRtPADtVgLDpIAs4xOrJ+fq\\nOgVUHgOwqJvYp3U9ZgpolkHgrimgmPGpU1eqr6y+3TAU0CzgFNBqOZ0CWv3svCgg6/hmUwpIl2PJ\\n5RTQ6nLnRQFZdWsDsJEpoB5tjw3dWTyonAJaez+3i3UKaO2zKQpIjimLAtJyl1BA8pm2FJA2AHLH\\nPSQKyNpkpeZrnxRQymCNgQIarAFwCqj6dAqomVyxZ3NvVnO6dQpIy23VIesByigg6eVa5TGkZzpk\\nCsgqK9ffpXV1TQGl2jQGCmhwBsApoNVyOgW0+tlZUkByTFmngGS+WB2yHiB/CkjKlqOAZPqQKSDL\\ny+6KAuI34zcSBeQGQEBba+6MWb8JLF12XXafbwJ36QH4m8B5CkgbAEuO1C5V1gPkPQBZVo4CkulD\\nfhPYKivX3yV1SXquSVnWm8CpNs3rTeA+YwCDCwLrzuJdhXxbUabXhbU74X+3IMuWndrnm8C63fJ+\\nbIL7m8DxnWCOAsrFAOTYSMUASt8ElrLlKCCZPsY3gfk65hXH5G4aAxjqm8BdYrAGYN4xAO4Mq2yP\\nAZTLW2oAcjtCfb+uXLFnDx60A6a6ztjO3drhWtelMYAuDUBsPKTK1Atqqm0xo6DH/qyOgVrylpZF\\nVN8D8BhAD+grBiANgMcANnYMwCpHex2x45t1YwAyTet9PccAZJvmFQPg69jJuJjcWq6hxQD6pIAG\\nZwBYcfM+BtpVDKBrCsiPga5+tlSu2EKQ86i6ooBK3wTWslnl6WeAZsdAY+OoyTFQ/m5RQNYmKzVf\\n61JAsT6Mya3lmucxUK57qMdAnQIyPABdtlNA5fKWGoCUnvheGwMQezblUck6uzoGCgyDAkqV14QC\\nkvLrhX6IFJCsf14UUKxvh0QBDc4AOAW0Wk6ngFY/25YCSnlUckx1cQxU/6iM1vs8KaCUrrumgKzn\\nxkgBxfp2SMdAB2cAtJXmzujaA5CdvVGPgbYxAHXbUPJcaf9ZO8a6csWezemT77UNAufGlFXWLI+B\\npsprcgzUkl/Ko5/L9XeqLn1dSgHF6p/XMdBY3w7pGGiPtscGK22WMQC98+qSAhpSDEDryGMAeQpI\\n7zZ1mhwbqRgAewApz1AvErM8BprSdZNjoLpNfG3px9JtTs6UAWhyDFTKNa9joLG+HRIFNFgDUPKj\\n8E0UZ+3ohhwDyC1Y1jNad0A1IN0DKI8BAO1jANoAWP3VpQGIjYdceW1jAPLa0o+l25ycXRiAWP0e\\nA5hicAZgHjEAbfV1R2ueNxUDsHY7XcUAcgtWLgYgF7AYd22VK8uqI2/uOWtHaBlOeV8/WzcGYPHs\\nJTEAma7HndajJWvTY6A5PXI5dWIAqTHJZenFrE4MQF5b+imNAUg5Y/OpJAZgGSArBmAZfJnedQyA\\n65IxgK7Wi6YYnAGQSuLvXVNAutOZj7N2zktL6RiAPlnTJQXEdbelgJaWVrepbwpoaWkqvzyxJN9U\\n7oICsnbAZp3EAAAY8ElEQVSkpcdAZRk5Coj1K/Poo5nWeLVky53UYp3VOQaq5dN52h4DldeWfizd\\n5uSUY0XrNhcD0G+8xyggHofyWc4v14UmHoA2RLJvZQwg1TfzwCiDwLoctsbWzmBxMU0BaVqlqVyW\\nnIuL7YLAeuKVLKJ1F9o6z0mdsmyxf9Bl9VMdueSuTz47CwqI2yPzNKWAcjQd6+zAAWDLltXjVz8j\\nd7yp8rqmgJoGgaWcKd3mKKDYnNTzwypb5u+aApKGR645bgAE+qSAZJ1SjhQFpAOrqZ1OXTljxidW\\nT4oCkq5sySI9SwqIBz1R2gC0pYCkEeBn61BAqTSug2W3KCBpAEopoFygnnVmUUD61BfLqOXT9y0D\\n0IYCkvdlO0sMgO5nS7c5CsgyABYFpBffWVNAsl7ZZ31SQIMzAHIw8Heibv8ZnO70MVBAJfyyvFe3\\nDV1QQLKsriggyxVP7dg2EgXEMmqqQ9/vmgKyfgwnNV+dArLLnwcGawDmRQFxR0sLrQfLeqeAJOUi\\n88XqzeVp+pzUqZSN02Q+3b66clnt1btdK78eG5Ycuty+KCC9U421y/IM5P1ZUUA6PbeQOgU0f6wb\\nAzCrY6Bs7YdqAA4cADZvzrdDyqDbMVYDsNFjAHUMgFyU9X03AHZ+NwA9IMZj651wVzEATpMumuQL\\nYzQMGw3tblrlN8HCQpx+itWjKQtJs1jcdaxefrauvLnntKvP9ASnybJ0+/qIAXC6tWHgOlh2KwaQ\\nKkeXFRtPlpxyTMoYQGycLC2tPoeu73d9DFSXXxoDkHqUY6VuDEDTaHocyIVY9y3nlwagqxiANDxc\\ndoqemwcGZwCsXazV6U0X2thETHkAqRiA3m10GQOIBaBj9bBO9MDXHkDfMQAOfMU8gC5jAPrZWcQA\\nrJ1k0xhAqQdQJwbAC46FIcUASj2AXAxAB9JjMQAdgJX9OosYgKyXy+7bA+ixahvaTeOOmxUFxGna\\nDZaDpW8KKOdi6jQty5ApIJmmDXAbAyAXJPnsWCmgVHmzehM4la7LAZwC6gODMwAxCmhWx0A5Te6o\\nhkQB1T0GKtPXAwXEOpcvgsl+0M/WpYC0PmZxDDRGATU5BjorCihWnhz7sk1tKCDLU3cKyCmgIkjL\\nz9/nRQFZu5XSY6Cpid4EeqKXtEMuqvL7kN8ElgZAltUVBWS54qkdWxMKaN7HQPWGpeQYaKy8IVFA\\nfgx0/hisAdA7xFkdA+U03mnrSV9CAXUhlyVnk2OgelHhcnR6qt5cnqbPyQmod+h+DLScAiIaNgU0\\n9FNAcszF2pnTq85v3Yv1LRsAjgu4ARCwOs3q9K4NAO+C5KLEgyQXBJ6lAdjoMQDWuTyq2JUB0J4E\\n91mpAZDp1vcSAxArxyqrNAgs29GFAZjV7wHo9K4MQGkQOGUALL3M0gDoIDBTd24AFKTbJv80FaK5\\nxjrlx/h8uShxekkMoAu5LDlzFJAlk+aVuRydnqo3l6fpc5rXlQZXUm26HU3ksjjpFH8cqzOWZrVH\\n5tE/9pHqLylbkxjALN4ELtG9NdZSY7KEAirRbWkMICabnBeWHCV61fmte6m+ja0f88bgDEDMA5g3\\nBcTpTgGVy1tadowC4t1WzAOoM1Gs9sp+juWX94ZKAQ39FNB6oIA4n5ZV3p8VBcT3rPVj3uixahsx\\nAzCPY6B6wg/BAIyJApLfUwtvqTxWf7oBWHt/bMdA9byw2ukGoCfICSNpAh2Nlzv1OuBydVqKApJy\\naTmtkwRduHQLC1XZsVMIVj2S9pDf18sxUL1YtKHWrHJKXHY9xmJpss1dHQPlsmIycrqmEtoeA7U+\\n9Zi2ZJJtsig3ftbSoyVDKQVkySLv546B8vd5HgPltvD3WPvmjcEZAD2gLEVyviaKi01EyT/LgRPb\\nkcV2KE0NkyWnfqMx1w5Lfi5H7khKFum6bahjXOSbwFJGvYhYO8k68lj6iMkYMzo6zdJjV28Cc1kx\\nGTld7yRL3gSOlRczjtaiGxtv8lr3kzWPYzKUegCWLPJ+7k1g6XXGjAtRt8dAuS38Pda+eWPdxADk\\nPXm/SfnWQJYutawvdi5b7lq6kMuSM3UmPNYOLT+XE9OjVW4uT9PntM7kn5XWRq9We0sMQGzxSpVr\\njYEmFBCXxXXH2qVfmCvxAEoXsZic8jMmvzRIOk+q/yw9tjEAlgcQmxfyfyTJjUdOrzlZrL61DIC/\\nB6DQlwHQx0A5va4H0KUBSO0G6xiAMccA6noAqUVOf0+NgSbHQK2yLDn1QtI2BqA/+zIAUk5NF+Zk\\nkfebxgB03q4NgPV7I+4BKGg3zOJJ5f0m5Vtcpj6CyOkxGka6rV3IZcmZo4AsmbT8kl7J8afyXt02\\n1ClbysM6tyigNnqVC3+K3tDlW3XG5EiNgSbHQK2yLDnluJBURYoCytEvOTnlZ0z+3JhMyRCb6yma\\nJlaWRQGl5kVMli6PgXJb9L1cf88agzMAfXkATgGtvld3UNYp2ymg8rIsOTciBRTr81lTQLE2cb/l\\nXjqLyWL1reXRd7VeNIUbAEwNwNAoILl4lLbDGuh1KaAmXkwdA7BeKKBSA9DVMVCrLEvOeVNAsXHY\\npQGI6bovCojHTu7IaUwWq2+tDZ0bAAXLbbNcraZUS8xN7eoYaFO5LDm7ooDqvgncVK8lZQPxN4H1\\n5GujVy7bandKn1adMTlSY8A6BpqjUKyyLDljx0Bj7cq9Caw/Y2M9J39uTKZk0HNPtzUni/VMTDY9\\nL1Jtyr11HJMl1rc6v27zvDE4A9CXB9DVMdAuPYC+gsBN9VpSNhB/E1jv/tt6ALGdf84DIJou3k09\\nAOsY6Kw8gNRxxS48gFL523gAeu5J2WNv68bK6sID4OtZUEDayPXpAfRYtQ1WhkUFzNIAeAygnfx1\\nDMA8YwApQxDLLydqiQHY6DGAUvlT/VZiAKxnZxED4H5NxQD4uksKKGdw+sDgDIB2GfWOXOZrulBp\\nl2thYfUxUOm61T0FZJXfBHIhig0wSyYtP5cjXdLcAtNEfjm5YpA643qkjJzGk6INBSTLqkMB6Qmp\\nx5mlR+ukij4Gao1XiyZocgqoJAYQK9MyAFbe1HiT17qfdD/HZNB9xWU2eRPY8gCsdcVakPV605QC\\nssadRTl1tV40xSApIL1rshTdVHGxiehvAreTv9S4APN9E1jWW7Jjiy1qlhzaoMk8+hhobONRskvU\\nz8z6TWArb2q8yWvZdvlcar5KPVsewMGDq9Pkp4bUj26TltcyjHq9aUoBWeMvZ3D6wCANgFScNUl0\\nvqblyzSngNrJX8cADP0YaCkFxHmcAlqtvyEfA9VzO9cmp4DmjL4MgP5JSE53A1CGnJsv690oMQD+\\n7gYg329NDUCTY6BdGoAug8C5+vrA4DwAzYtaPKnO17R8mSZ/YEPWN8Y3gZvKn3tW60zzsRZP21Qu\\nq72p9mtZdFpMDplfpmlaJtVfUqYhvglcKn9uTKZkiOm66zeB9dzOtanLY6C5+vpAa9tDRBcQ0V4i\\nepCIbozkuXly/z4iOi0pUE8eQIwCWo/HQPWucx7HQEueje3ItIx9ewB8v9QD2OgvgpXKPwsPoM1/\\nA815ACXHQJ0CSoCIFgF8GMAFAE4GcCkRnaTyXAjg10IIJwK4CsBHkgINzACsRwpIXnM5emFL1TtL\\nA8A7Lz0pnQKqPp0CSsteYgD0C1exsdA2BiDLj7VJ3h8iBdS26h0AHgohPBJC2A/gEwAuUnl2AbgV\\nAEII9wA4jIi2xgp0Cihfd6odlu6GRAHF/mZFAVntTukzV28pTWEdA831F9DuGGisXfOmgCx9pfov\\n9eyQKSCdP1UOsDEpoGMAPCq+PzZJy+XZFhWoJw/g/vvt+tYjBSSvuZzcLqwL+Us8gNjfRqKAeELf\\nf399D6AJBfT448C+ffF2jZECyskQ04vO88ADZWM6lW717ZYt6efnhbZB4JDPAgDQNs58bs+ePTh4\\nEHjZy4CVlWVcfvkyjj0WOO884Cc/AY48cpr3Fa8Anv/8+gK/+MXAm960Ou2SS4B77gF27gR+9jPg\\nRS+q0n/rt4BzzgG+/W3gNBW5ePnLgTe8AbjwQuB5z5umv/KVwBNP1JdL4/WvB37lV4AHHwRe+9q1\\n93fsAI46anXa8ccDl11WXV9/fTXI3vzmStajjwY2bQJuNKM0Uxx+OPC7v9tM5uuuA5797Pj9zZsr\\nuV71KuC5z61kuvhi4Mc/rvS8fXvVr9u2VX1xwgnTZ48+GrjiinJZtm8H3vKW6vrEE6vPLVuAt78d\\nOOOMtflf9jLgqaeAI44Arr4a+MAHqsX79NOBQw+d5tu1CzjllOn3970POP984Oc/n6YRVWPjmmum\\ni/VrXgMccsjqOl/60qo8vn7DG6p+f9az4u3atatqz969wKtfXY3Vl7yk8gC2b1+b/21vq9rLY1rj\\nNa8BfvSj6VjauhW48sq1+a65BjjssNVpl1wCnHxydf0bv1HNLf4ZU1n/CSdUc1jOEwnW+YtfvLoN\\n73pX9dyPfjRN27kTeM5zqj8L5567Nu0lL6nG2aGHAu95T5V2+eVV3oceWp33qquqeQdUc+nhh6t2\\nxnDDDdW80jj5ZOCNb5xe79pVzWPOe9VV1Vpz9tmrx3kJVlZWsLKyUu+hCCiE0jXceJjoTAB7QggX\\nTL7fBODpEMKfijz/AcBKCOETk+97AZwbQtinygptZHE4usTiYmWUms6zr361WvwOOaRaRByOWYGI\\nEEJoRCS1dT6+BuBEIjqOiDYDeCuA21We2wG8A3jGYDyhF3+HY2hoy80yN98nv+tw5NCKAgohHCCi\\nawHcCWARwEdDCA8Q0dWT+7eEEL5ARBcS0UMAfg6ghiPvcPSDtgZgYSEfQHQ4+kbrF8FCCHcAuEOl\\n3aK+X9u2HodjnnAD4BgDeow/OxwbF2wAHI4hww2Aw2HAYwCOMcANgMNhoAsKyA2AY+hwA+BwGPAY\\ngGMMcAPgcBhwCsgxBrgBcDgMuAfgGAPcADgcBtou3BwDcDiGDDcADkcEbT2AtmU4HLOGGwCHw0AX\\nMQD56XAMEW4AHA4DXcQAuByHY6hwA+BwGHAD4BgD3AA4HAacAnKMAW4AHA4D7gE4xgA3AA6HgS6O\\ngTocQ4cPU4cjAvcAHBsdbgAcDgMeA3CMAW4AHA4DHgNwjAFuABwOA24AHGOAGwCHw4BTQI4xwA2A\\nw2HAPQDHGOAGwOEw4MdAHWOAD1OHIwKngBwbHW4AHA4DTgE5xgA3AA6HATcAjjHADYDDYcANgGMM\\ncAPgcBjwY6COMcANgMNhwD0AxxjgBsDhmAH8GKhjPcCHqcNhwCkgxxjgBsDhMOAUkGMMcAPgcBhw\\nA+AYA9wAOBwG3AA4xgA3AA6HAY8BOMYANwAOhwE3AI4xwA2AwzEj+FFQx9DhQ9ThMNDWA+iqDIdj\\nlnAD4HAY6GLxXlhwA+AYNtwAOBwG3AA4xgA3AA6HATcAjjHADYDDYcBjAI4xwA2Aw2HAPQDHGOAG\\nwOGYEfwYqGPo8CHqcBhwCsgxBrgBcDgMOAXkGAPcADgcBtwAOMYANwAOhwE3AI4xwA2Aw2HAYwCO\\nMWCp6YNEdDiATwJ4EYBHALwlhPCEke8RAP8PwEEA+0MIO5rW6XDMC10s3H4KyDF0tBmivw/gSyGE\\n7QD+++S7hQBgOYRwmi/+jvUEp4AcGx1tDMAuALdOrm8FcHEir08Dx7qCU0COMaCNAdgaQtg3ud4H\\nYGskXwDwZSL6GhFd2aI+h2Nu8CCwYwxIxgCI6EsAjjRu/Wv5JYQQiChEijk7hPADIjoCwJeIaG8I\\n4S4r4549e565Xl5exvLycko8h2NmcAPgGCpWVlawsrLSSVkUQmzdzjxItBcVt/8PRHQUgK+EEF6c\\neWY3gJ+FEP7cuBeayuJwdI3TTwfOOQf4y79sXsbxxwMvfznw6U93J5fDoUFECCE02mq0oYBuB3D5\\n5PpyAJ81BHs2ER06uX4OgNcB+FaLOh2OucA9AMcY0MYA/AmA1xLRdwGcN/kOIjqaiD4/yXMkgLuI\\n6F4A9wD4byGEL7YR2OFYL/BjoI6ho/F7ACGExwGcb6T/PYB/Prn+vwBObSydw9ET3ANwjAG+R3E4\\nDPgxUMcY4AbA4TDgHoBjDHAD4HAYcAPgGAPcADgcBpwCcowBbgAcDgPuATjGADcADseM4MdAHUOH\\nD1GHw4B7AI4xwA2Aw2HAYwCOMcANgMNhwD0AxxjgBsDhMOAGwDEGuAFwOAw4BeQYA9wAOBwG3ANw\\njAFuAByOGcGPgTqGDh+iDocB9wAcY4AbAIfDgMcAHGOAGwCHw4B7AI4xwA2Aw2HADYBjDHAD4HAY\\ncArIMQa4AXA4DLgH4BgD3AA4HDOCHwN1DB0+RB0OA+4BOMYANwAOhwGPATjGADcADocB9wAcY4Ab\\nAIfDgBsAxxjgBsDhMOAUkGMMcAPgcBjoYuH2U0COocOHqMMRgVNAjo0ONwAOhwGPATjGADcADocB\\njwE4xgA3AA6HAfcAHGOAGwCHw4AbAMcY4AbA4TDgFJBjDHAD4HDMCH4M1DF0+BB1OAw4BeQYA9wA\\nOBwGnAJyjAFuABwOA+4BOMYANwAOhwE3AI4xwA2Aw2HADYBjDHAD4HAY8BiAYwxwA+BwzAh+DNQx\\ndPgQdTgMOAXkGAPcADgcBpwCcowBbgAcDgPuATjGADcADocBNwCOMcANgMNhwA2AYwxwA+BwGPAY\\ngGMMaGwAiOjNRPQdIjpIRC9P5LuAiPYS0YNEdGPT+hyO9QY/BuoYOtoM0W8BuATAV2MZiGgRwIcB\\nXADgZACXEtFJLeqcK1ZWVvoWYQ1cpnK0kWtWFNAQdeUylWGIMrVFYwMQQtgbQvhuJtsOAA+FEB4J\\nIewH8AkAFzWtc94YYoe7TOXo2wBYZQxRVy5TGYYoU1vM2kk9BsCj4vtjkzSHY9DwILBjDFhK3SSi\\nLwE40rj1ByGEzxWUHxpJ5XD0jKUlYHGxXRmbNnkcwDFsUAjt1mgi+gqAfxVC+Lpx70wAe0IIF0y+\\n3wTg6RDCnxp53Vg4HA5HA4QQGvmaSQ+gBmKVfw3AiUR0HIC/B/BWAJdaGZs2wOFwOBzN0OYY6CVE\\n9CiAMwF8nojumKQfTUSfB4AQwgEA1wK4E8D9AD4ZQnigvdgOh8PhaIvWFJDD4XA41id6D1EN5UUx\\nInqEiL5JRN8gov81STuciL5ERN8loi8S0WEzluFviGgfEX1LpEVlIKKbJnrbS0Svm7Nce4josYm+\\nvkFEO+cpFxEdS0RfmbyM+G0ies8kvTd9JWTqTVdE9CwiuoeI7iWi+4no307S+9RTTKZex9SknsVJ\\n3Z+bfO99/kXk6kZXIYTe/gAsAngIwHEANgG4F8BJPcnyPQCHq7R/B+CGyfWNAP5kxjKcA+A0AN/K\\nyYDqxbp7J3o7bqLHhTnKtRvAdUbeuciF6nTaqZPr5wL4PwBO6lNfCZn61tWzJ59LAO4G8Kq+x1VE\\npl71NKnrOgD/BcDtk++9z7+IXJ3oqm8PYGgviulA9C4At06ubwVw8SwrDyHcBeAnhTJcBOC2EML+\\nEMIjqDp6xxzlAuzg/1zkCiH8Qwjh3sn1zwA8gOodk970lZAJ6FdXv5hcbka16foJeh5XEZmAHvVE\\nRNsAXAjgPwo5ep9/EbkIHeiqbwMwpBfFAoAvE9HXiOjKSdrWEMK+yfU+AFt7kCsmw9Go9MXoQ3f/\\nkojuI6KPCtd47nJRdcrsNAD3YCD6EjLdPUnqTVdEtEBE96LSx1dCCN9Bz3qKyAT0O6Y+BOB6AE+L\\ntCGMJ0uugA501bcBGFIE+uwQwmkAdgK4hojOkTdD5V/1Km+BDPOU7yMAjgdwKoAfAPjzRN6ZyUVE\\nzwXwaQDvDSH846pKe9LXRKZPTWT6GXrWVQjh6RDCqQC2AXg1Eb1G3Z+7ngyZltGjnojoXwD4YQjh\\nG4gca+9DTwm5OtFV3wbg+wCOFd+PxWrrNTeEEH4w+fwRgM+gcpv2EdGRAEBERwH4YQ+ixWTQuts2\\nSZsLQgg/DBOgck3ZzZybXES0CdXi//EQwmcnyb3qS8j0n1mmIehqIsdPAXwewOkYyLgSMr2iZz2d\\nBWAXEX0PwG0AziOij6N/PVlyfawzXc0qaFHyhyoA9DCqYMVm9BQEBvBsAIdOrp8D4H8CeB2qANCN\\nk/Tfx4yDwJN6jsPaIPAaGTAN9mxGtRN4GJNjvXOS6yhx/X4A/3WecqHaDX0MwIdUem/6SsjUm64A\\n/DKAwybXh6D6773/rGc9xWQ6ss8xJeo+F8Dn+h5PGbk6GVMzE7ZGo3aiOi3xEICbepLh+InS7gXw\\nbZYDwOEAvgzguwC+yIN2hnLchuqN6adQxUauSMkA4A8metsL4PVzlOudk4XumwDuA/BZVFzp3ORC\\ndWrk6UmffWPyd0Gf+orItLNPXQF4KYCvT2T6JoDrc2O7R5l6HVOirnMxPW3T+/wT9S0LuT7eha78\\nRTCHw+EYKfqOATgcDoejJ7gBcDgcjpHCDYDD4XCMFG4AHA6HY6RwA+BwOBwjhRsAh8PhGCncADgc\\nDsdI4QbA4XA4Ror/D446Kf4q/femAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x12adc2cc0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/Untitled-checkpoint.ipynb",
    "content": "{\n \"cells\": [],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/.ipynb_checkpoints/lstm_(7)-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"\\\"# we modify this data organizing slightly to get two symbols\\\\ndef get_prices(symbol):\\\\n    start, end = '2007-05-02', '2016-04-11'\\\\n    data = web.DataReader(symbol, 'yahoo', start, end)\\\\n    data=pd.DataFrame(data)\\\\n    prices=data['Adj Close']\\\\n    prices=prices.astype(float)\\\\n    return prices\\\\n\\\\ndef get_returns(prices):\\\\n        return ((prices-prices.shift(-1))/prices)[:-1]\\\\n    \\\\ndef get_data(list):\\\\n    l = []\\\\n    for symbol in list:\\\\n        rets = get_returns(get_prices(symbol))\\\\n        l.append(rets)\\\\n    return np.array(l).T\\\\n\\\\ndef sort_data(rets):\\\\n    ins = []\\\\n    outs = []\\\\n    for i in range(len(rets)-100):\\\\n        ins.append(rets[i:i+100].tolist())\\\\n        outs.append(rets[i+100])\\\\n    return np.array(ins), np.array(outs)\\\\n        \\\\n\\\"\"\n      ]\n     },\n     \"execution_count\": 2,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"'''# we modify this data organizing slightly to get two symbols\\n\",\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\",\n    \"'''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\n\",\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"        \\n\",\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def lstm_iterator(raw_data, num_steps, data_size):\\n\",\n    \"  batch_size=1\\n\",\n    \" \\n\",\n    \"  raw_data = np.array(raw_data, dtype=np.float32)\\n\",\n    \"\\n\",\n    \"  data_len = len(raw_data)\\n\",\n    \"  batch_len = data_len // batch_size\\n\",\n    \"  data = np.zeros([batch_size, batch_len, data_size], dtype=np.float32)\\n\",\n    \"  for i in range(batch_size):\\n\",\n    \"    data[i] = raw_data[batch_len * i:batch_len * (i + 1),:]\\n\",\n    \"\\n\",\n    \"  epoch_size = (batch_len - 1) // num_steps\\n\",\n    \"\\n\",\n    \"  if epoch_size == 0:\\n\",\n    \"    raise ValueError(\\\"epoch_size == 0, decrease batch_size or num_steps\\\")\\n\",\n    \"\\n\",\n    \"  for i in range(epoch_size):\\n\",\n    \"    x = data[:, i*num_steps:(i+1)*num_steps]\\n\",\n    \"    y = data[:, i*num_steps+1:(i+1)*num_steps+1]\\n\",\n    \"    yield (x[0], y[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"\\\"symbol_list = ['C', 'GS']\\\\nrets = get_data(symbol_list)\\\\nins, outs = sort_data(rets)\\\\nins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\\\ndiv = int(.8 * ins.shape[0])\\\\ntrain_ins, train_outs = ins[:div], outs[:div]\\\\ntest_ins, test_outs = ins[div:], outs[div:]\\\\n\\\\n#normalize inputs\\\\ntrain_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\\\"\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"'''symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)'''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class LSTMModel(object):\\n\",\n    \"    def __init__(self, num_steps, num_samples):#, config):\\n\",\n    \"        symbol_list = ['C', 'GS']\\n\",\n    \"\\n\",\n    \"        positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"        num_positions = 3\\n\",\n    \"        num_symbols = len(symbol_list)\\n\",\n    \"        self.num_samples = num_samples\\n\",\n    \"        self.num_steps = num_steps\\n\",\n    \"\\n\",\n    \"        #n_input = num_symbols * 100\\n\",\n    \"\\n\",\n    \"        hidden_size=21\\n\",\n    \"        n_classes = num_positions * num_symbols\\n\",\n    \"\\n\",\n    \"        #self.num_steps = tf.placeholder(tf.int64)\\n\",\n    \"\\n\",\n    \"        # define placeholders \\n\",\n    \"        self.inputs_ = tf.placeholder(tf.float32, [None, num_symbols])\\n\",\n    \"        self.targets_ = tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"        cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_size, forget_bias=0.0)\\n\",\n    \"        #cell = tf.nn.rnn_cell.MultiRNNCell([cell] * config.num_layers)\\n\",\n    \"        cell = tf.nn.rnn_cell.InputProjectionWrapper(cell,  num_symbols)\\n\",\n    \"        cell = tf.nn.rnn_cell.OutputProjectionWrapper(cell, n_classes)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        outputs=[]\\n\",\n    \"        self.initial_state = cell.zero_state(1, tf.float32)\\n\",\n    \"        state = self.initial_state\\n\",\n    \"        time_step = 0\\n\",\n    \"        \\n\",\n    \"        '''with tf.variable_scope(\\\"RNN\\\"):\\n\",\n    \"            def body(x):\\n\",\n    \"                inp = self.inputs_[time_step,:]\\n\",\n    \"                inp = tf.reshape(inp, [1,-1])\\n\",\n    \"                (cell_output, state) = cell(inp, state)\\n\",\n    \"                outputs.append(cell_output)\\n\",\n    \"                return \\n\",\n    \"\\n\",\n    \"            def condition(x):\\n\",\n    \"                return tf.reduce_sum(x) < 100\\n\",\n    \"        \\n\",\n    \"            tf.while_loop(condition, body, [x])'''\\n\",\n    \"            \\n\",\n    \"        with tf.variable_scope(\\\"RNN\\\"):\\n\",\n    \"            for time_step in range(self.num_steps):   #####num_steps???\\n\",\n    \"                if time_step > 0: tf.get_variable_scope().reuse_variables()    \\n\",\n    \"                inp = self.inputs_[time_step,:]\\n\",\n    \"                inp = tf.reshape(inp, [1,-1])\\n\",\n    \"                (cell_output, state) = cell(inp, state)\\n\",\n    \"                outputs.append(cell_output) #[6,]\\n\",\n    \"\\n\",\n    \"        self.final_state = state \\n\",\n    \"\\n\",\n    \"        y = tf.reshape(tf.concat(1, outputs), [-1, n_classes])\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        # loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"        pos = {}\\n\",\n    \"        sample_n = {}\\n\",\n    \"        sample_mask = {}\\n\",\n    \"        symbol_returns = {}\\n\",\n    \"        relevant_target_column = {}\\n\",\n    \"        for i in range(num_symbols):\\n\",\n    \"            # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"            symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"            symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"            # sample probability to chose our policy's action\\n\",\n    \"            sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\\n\",\n    \"            for sample_iter in range(num_samples):\\n\",\n    \"                sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"                pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"                symbol_returns[i*num_samples + sample_iter] = tf.mul(\\n\",\n    \"                                                                    tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                                     self.targets_[:,i])\\n\",\n    \"\\n\",\n    \"                sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"                relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                            symbol_probs * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        daily_returns_by_symbol_ = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"        daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"        daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"\\n\",\n    \"        total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"        z = tf.ones_like(total_return) * -1\\n\",\n    \"        self.total_return = total_return = tf.add(total_return, z)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        ann_vol = tf.mul(\\n\",\n    \"            tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"            np.sqrt(252)\\n\",\n    \"            )\\n\",\n    \"        self.sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"        #Maybe metric slicing later\\n\",\n    \"        #segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"        #partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"        ones = tf.ones_like(training_target_cols)\\n\",\n    \"        gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\\n\",\n    \"\\n\",\n    \"        gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"        #cost = tf.mul(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"        #cost = tf.mul(gradient , tf.expand_dims(daily_returns, -1))\\n\",\n    \"        cost = tf.mul(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"        #cost = tf.mul(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"        self.optimizer = tf.train.GradientDescentOptimizer(0.0001).minimize(cost)\\n\",\n    \"        self.costfn = tf.reduce_mean(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def run_train_results(m, epoch):\\n\",\n    \"    state = m.initial_state.eval()\\n\",\n    \"    full_feed = {m.inputs_: rets[:-1], m.targets_: rets[1:], m.initial_state: state}\\n\",\n    \"    \\n\",\n    \"    t,s, c = session.run([ m.total_return, m.sharpe, m.costfn], feed_dict=full_feed)\\n\",\n    \"    t = np.mean(t)\\n\",\n    \"    s = np.mean(s)\\n\",\n    \"    print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"         \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def run_epoch(m, epoch):\\n\",\n    \"    \\n\",\n    \"    full_feed = {m.inputs_: rets[:-1], m.targets_: rets[1:]}\\n\",\n    \"    state = m.initial_state.eval()\\n\",\n    \"    for step, (x, y) in enumerate(lstm_iterator(rets,20,2 )):\\n\",\n    \"        #m.num_steps = len(x)\\n\",\n    \"        feed_dict = {m.inputs_: x, m.targets_: y, m.initial_state: state}\\n\",\n    \"        _ , state = session.run([m.optimizer, m.final_state], feed_dict=feed_dict)\\n\",\n    \"        \\n\",\n    \"    '''if (epoch+1)%2== 0:\\n\",\n    \"        t,s, c = session.run([ m.total_return, m.sharpe, m.costfn], feed_dict=feed_dict)#full_feed)#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))'''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"getting results...\\n\",\n      \"Epoch: 0001 cost= -0.50711 total return= -0.731922448 sharpe= -2.518890381\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0002 cost= -0.479199 total return= -0.690995097 sharpe= -2.211014509\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0003 cost= 0.802528 total return= 1.158372164 sharpe= 4.109907150\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0004 cost= -0.504468 total return= -0.728531718 sharpe= -2.387005329\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0005 cost= -0.607678 total return= -0.877253473 sharpe= -2.718842506\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0006 cost= 0.449566 total return= 0.648839116 sharpe= 2.242624998\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0007 cost= 0.223947 total return= 0.323118806 sharpe= 0.947408140\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0008 cost= 0.29168 total return= 0.421271563 sharpe= 1.259648323\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0009 cost= -0.353979 total return= -0.511379957 sharpe= -1.703359842\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0010 cost= -0.383745 total return= -0.553670168 sharpe= -1.732698441\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"with tf.Graph().as_default(), tf.Session() as session:\\n\",\n    \"    # initialize variables to random values\\n\",\n    \"    #init = tf.initialize_all_variables()\\n\",\n    \"    #sess.run(init)\\n\",\n    \"    # run optimizer on entire training data set many times\\n\",\n    \"    #train_size = train_ins.shape[0]\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=None):#, initializer=init):\\n\",\n    \"        m = LSTMModel(num_steps = 20, num_samples = 5)#, config=config)\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=True):#, initializer=init):\\n\",\n    \"        mvalid = LSTMModel(num_steps = len(rets) -1, num_samples = 1)#, config=config)\\n\",\n    \"    tf.initialize_all_variables().run()\\n\",\n    \"    for epoch in range(10):\\n\",\n    \"        #start = rng.randint(train_size-50)\\n\",\n    \"        #batch_size = rng.randint(2,25)\\n\",\n    \"        #end = min(train_size, start+batch_size)\\n\",\n    \"\\n\",\n    \"        run_epoch(m, epoch )\\n\",\n    \"        print('getting results...')\\n\",\n    \"        run_train_results(mvalid, epoch)\\n\",\n    \"        '''sess.run(optimizer, feed_dict={inputs_: train_ins[start:end], targets_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"        # every 1000 iterations record progress\\n\",\n    \"        if (epoch+1)%100== 0:\\n\",\n    \"            t,s, c = sess.run([ total_return, sharpe, costfn], feed_dict={inputs_: train_ins, targets_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"            t = np.mean(t)\\n\",\n    \"            s = np.mean(s)\\n\",\n    \"            print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"                 \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"            #print(t)'''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<bound method Tensor.eval of <tf.Tensor 'RNN/BasicLSTMCell_19/concat:0' shape=(1, 42) dtype=float32>>\"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"state.eval\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([daily_returns, pos[0]], feed_dict=feed_dict)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([[-0.02278614, -0.01349073],\\n\",\n       \"       [ 0.01645574,  0.00046793],\\n\",\n       \"       [-0.06229091, -0.03424059],\\n\",\n       \"       [-0.02301918,  0.00290978],\\n\",\n       \"       [-0.01444814, -0.00732817],\\n\",\n       \"       [ 0.        , -0.00972121],\\n\",\n       \"       [ 0.00513662,  0.00950007],\\n\",\n       \"       [ 0.03661115,  0.02413904],\\n\",\n       \"       [-0.00243609,  0.01114777],\\n\",\n       \"       [-0.00534623, -0.00740445],\\n\",\n       \"       [-0.0391589 , -0.01933518],\\n\",\n       \"       [ 0.00744369,  0.0029232 ],\\n\",\n       \"       [ 0.0018748 ,  0.00951207],\\n\",\n       \"       [ 0.00845272,  0.00980073],\\n\",\n       \"       [-0.01468148, -0.01574339],\\n\",\n       \"       [-0.01610275, -0.03067165],\\n\",\n       \"       [-0.00137798,  0.00831226],\\n\",\n       \"       [ 0.00504581,  0.01337255],\\n\",\n       \"       [ 0.02328266,  0.00077818],\\n\",\n       \"       [ 0.0101487 ,  0.00700935]], dtype=float32)\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x_\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10e3df898>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x11882d5c0>]\"\n      ]\n     },\n     \"execution_count\": 18,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1168ed6a0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 66,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 67,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX8AAAEACAYAAABbMHZzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4HNXVh9+7vUha9WbJvWPcAOMC2PTeqwmQAMlHCSEh\\nBBJC6BBKgCRAAoQACb2FZmpwsMGAC+7duMmWrd63l5n7/TGSrLIqttVs3fd59tHuTjuz2v3NmXPP\\nOVdIKVEoFApF/8LU2wYoFAqFoudR4q9QKBT9ECX+CoVC0Q9R4q9QKBT9ECX+CoVC0Q9R4q9QKBT9\\nkA7FXwjxghCiVAixpo3lo4UQC4UQISHEzS2WFQghVgshVgghlnSV0QqFQqHYPzrj+b8InNLO8krg\\nF8CjcZZJYJaUcpKUcso+2KdQKBSKbqBD8ZdSLgCq21leLqVcCkTbWEXso20KhUKh6Ca6O+YvgblC\\niKVCiJ9187EUCoVC0Uks3bz/GVLKYiFEBvCFEGJj/Z2EQqFQKHqRbhV/KWVx/d9yIcR7wBSgmfgL\\nIVRzIYVCodgHpJT7HFbvyrBPMyOEEC4hRGL9czdwEhA3Y0hK2aced911V6/bcKDYpWxSNvUHu/qi\\nTftLh56/EOJ1YCaQLoQoBO4CrPWi/awQIhv4HkgCdCHEL4GxQCbwrhCi4TivSin/u98WKxQKhWK/\\n6VD8pZSzO1heAuTHWeQDJu6jXQqFQqHoRlSFbxxmzZrV2ybEpS/apWzqHMqmztMX7eqLNu0voiti\\nR/tlgBCyt21QKBSKAw0hBLKPDPgqFAqF4gBBib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQKRT9E\\nib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQK\\nRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4\\nKxQKRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0Q5T4KxQKRT9Eib9CoVD0\\nQ5T4KxQKRT9Eib9CoVD0Q5T4KxSKfk2kNMKqk1b1thk9jhJ/hULRr4lWRPGv8/e2GT2OEn+FQtGv\\n0SM6ekDvbTN6HCX+CoWiXyMjEi2g9bYZPU6H4i+EeEEIUSqEWNPG8tFCiIVCiJAQ4uYWy04RQmwU\\nQmwWQvy2q4xWKBSKrkKP6MiIRI/1L++/M57/i8Ap7SyvBH4BPNr0TSGEGXiqftuxwGwhxJh9tFOh\\nUCi6BRmRAOhBJf7NkFIuAKrbWV4upVwKRFssmgJskVIWSCmjwBvA2ftjrEKhUHQ1esQQ/f2N+1d/\\nWU35++WES8LG/qI6elRHanK/bewOLN247wFAYZPXu4Aju/F4CoVCsdc0eP77E/cPl4RZc+Yako9J\\nZssvtuAY6qD2m1oQYMu2Ma1wGkKIrjK5S+hO8e/05e7uu+9ufD5r1ixmzZrVDeYoFApFa7rC8/ev\\n9pN0ZBLjPx1Pzdc1RKuiTJg7AWERfJv+LZHSCPZs+37ZOX/+fObPn79f+2hKd4r/biC/yet8DO+/\\nFU3FX6FQKHoSPWyI/v54/r7VPtzj3QAkH5PcbJlrjIvAhsB+i39Lx/iee+7Zr/11Zapny3uapcAI\\nIcRgIYQNuBj4sAuPp1AoFPtN44DvPnr+Wkij9ptaEsYnxF3uHuMmsDGwz/Z1Fx16/kKI14GZQLoQ\\nohC4C7ACSCmfFUJkA98DSYAuhPglMFZK6RNC3AB8DpiB56WUG7rpPBQKhWKfaAj7tOf5rzpxFeHi\\nMHm/yiP3p7nNlm28fCOBdQE8j3jibusa66Lyo0rMiWaQUPF+Bb6VPgAyzs9g2CPDuuhM9o4OxV9K\\nObuD5SU0D+80XfYp8Om+maZQKBTdT0eevxbQqFlQw/DHh1PxnwpSTkjhh2t+QEYkUkqCm4McuflI\\nzC5z3O3TTkvDt9xH1WdVACQekcjQh4cihDAuCL1Ed8b8FQqFos/TkecfKY1gy7aRfnY62+/cTukr\\npVjTrOT8LAcA5zBnm8IP4BrlYszLfa/ESYm/QqHo13Tk+UdKDPG3D7Bjspko/kcxo14YRcqxKT1p\\nZpejxF+hUPRrOvT868UfIPeaXHxrfK0yeg5ElPgrFIp+jYxIEB17/gCD7xrcg5Z1L6qrp0Kh6Nfo\\nER2Lx9Ipz/9gQom/QqHo18iwxJJs6ZTnfzChwj4KhaJfo0d0rBlWil8spvLTylbLI7sjpJ2Z1guW\\ndS9K/BUKRb9GRiQ5V+fgmRm/SEsIgXOEs4et6n6U+CsUin6NHtExuU24R7t725QeRcX8FQpFv0ZG\\nJCZb/5PC/nfGCoVC0QQ9EEXMebe3zehxlPgrFIp+jawLYPp0Tm+b0eMo8VcoFP0aLayhhWp624we\\nR4m/QqHo14QCQQj5etuMHkeJv0Kh6NfoEYlDi4K+fxO4H2go8VcoFP0aGZEIohDoe7NtdSdK/BUK\\nRb9GRiUmYuj+/hX6UeKvUCj6NTIKgijhuureNqVHUeKvUCj6NTJswkSEUF1Vb5vSoyjxVygU/ZZw\\nSRgZFdipIFTbuqnbwYwSf4VC0W+pW1iHOb8SgSTi7V+5/kr8FQpFvySwJUDhY4WYckoAlPgrFApF\\nf6BmXg1oYBqzDoCor7aXLepZVEtnhULRL9GDOomHJxI2GVk+MV/dvu8sFoMrroC6Ojj/fJg6FebN\\nAykhJwfOO6+LrO46lOevUCj6JXpQx+Q0QSQCgObdD/HftAm++w6uugoeewyOPRaWL4f16+HSSxuP\\n0ZdQnr9CoeiX6KF68a8IG6/3o8hLX7GcdYOc/MMxj3M+/CuTcyazaNciJJLjPp2DY8sWGDu2q0zv\\nEpT4KxSKfokW1LAkW5CRMJrYP/GvWfw1c1y7GJw8mEvfvZRANMCUAVOwm+1ojt2ctnYtZiX+CoVC\\n0fvoQR1zjhkiEWrtIAP+tlf+73+hogKmT4fBg5sv++ADnG/+B+0nh3Dz9Ju5/ojriekxEu2JAPzt\\nX8nULP+WtIsu6r6T2QeU+CsUin5JQ8xfRKJUOwF/G43dNA3OOAOOOALmzoXnnoMvvjDi+FLCtdfy\\n8ZUz4ISJADitzSd7rxszFM9fn4GX3m6974svhj//uYvPrHMo8VcoFP0SPahjcpgQkQiFaRZm/Wch\\nCNF6xWuuIZaUwJrbr+bQ3zyC5Y034PbbYfx4AAp+cg6/z/0fj+RfHfc4Vacfx9+PPZkbj/xF64VO\\nZ+v3eggl/gqFol+iBbVGz//jIzx88OTl/PmUFl74W28hf/97NlhquGzzQyzbvh3Lyy9T9KurKbvk\\nTKSUnPfWeVw5/kpOGHpC3OMcmj2eW764hdcq57VadvqI07lj5h3dcXodIqSUvXLgRgOEkL1tg0Kh\\n6H+sPmM1udfmsu1PU/l4BDw2tIQUZ0qzdSYVhPnwiXK+HGHB9eUCLMedwKSdUcbd4sI+YBAARw88\\nmidPe7LN40S0CCuKVyBprXMZrgyGpQ7bJ/uFEEgp49yqdA7l+SsUin6JHtQxO82IaIyjR57KT6/5\\nfat15n7zEjzxB7ypbqZnT2TQbJ0zBp7Czw89kRum3NCp49jMNo7MO7Krzd9vlPgrFIp+ScOArzkS\\nxeJwku/Jb7XOyEOOIWKCYHoyDouDIfnj+ffuj7nrgrY9/QMFJf4KhaLfoAU0hE1gspgaxd8UjWGy\\nxx94HZgymF1JEM1MB+CtC9/CH/Ez0DOwJ83uFjps7yCEeEEIUSqEWNPOOk8IITYLIVYJISY1eb9A\\nCLFaCLFCCLGkq4xWKBSKvSVSGmFB4gI2XLYBqB/wdZgwxTTMdkfcbXIScyhMBpGdA8BAz0DGZIzp\\nMZu7k8709nkROKWthUKI04DhUsoRwP8BTzdZLIFZUspJUsop+2WpQqFQ7AeBHwLY8+xUz61G6nJP\\n2CeqYXa64m5jMVl48IJsqo+b1sPWdj8dir+UcgHQ3uSWZwH/rl93MZAshMhqsnyfR6MVCoWiqwhu\\nDZI8MxmLx0JgQwA9ZAz4WqIxzG2EfQD8Y4eTnjWkBy3tGboi5j8AKGzyelf9e6UYnv9cIYQGPCul\\nfK4LjqdQKBR7TWhbCMdQB5ig9tvaPZ5/TMfiiO/5A9w7617GZY7rQUt7hq4a8G3Luz9KSlkkhMgA\\nvhBCbKy/k1AoFIoeJbg1SOrJqZhdZgKbAo3ib4nqbYZ9AI4dcmwPWtlzdIX47waa5kjl1b+HlLKo\\n/m+5EOI9YArQSvzvvvvuxuezZs1i1qxZXWCWQqHo75S+Vop/ndGwrfabWgZcPwBzkpmaeTVIKTFZ\\nTVhjGlaHu5ct7Zj58+czf/78Lttfpyp8hRCDgTlSykPjLDsNuEFKeZoQYirwFynlVCGECzBLKb1C\\nCDfwX+AeKeV/W2yvKnwVCkW3sGTMElJOTsGWYUNYBQNuHEBoW4hVJ6wiVhfjmNoZ+NxWLjv9O97/\\nz9TeNnev6PYKXyHE68BMIF0IUQjcBVgBpJTPSik/EUKcJoTYAviBK+s3zQbeFUajJAvwakvhVygU\\niu5E82vk35SPY9CeVE7nMCeR4giWZAusX09Zopnv1mX0opW9Q4fiL6Wc3Yl1WtU5Sym3ARP30S6F\\nQqHYbzSfhsndPKnRZDeRMCkBAH3RQhblCULFyb1hXq+iKnwVCsVBi+bXMLvNrd4/fPnhAFRd9iDr\\nBycTXJvW06b1OmoCd4VCcVCiR3VkTGJytC1zctEivGOmEotBNNqDxvUBlPgrFIqDkgavX8SboAX4\\neNkbOHYWkTj6AgD87czieDCixF+hUByU6H49bsingdiSRRQPy2Ja2hUABNqYxfFgRYm/QqE4KNH8\\nGuaEtsXfWVhM5cB0wmHjtfL8FQqF4iAgXqZPU6Tfj3Q6iESM18rzVygUfY6quVXULqztbTMOKNrK\\n9GlABoNIp0N5/gqFou+y+sTVbLxyY2+bcUDRUdhHBIPgcCrPX6FQ9E0a2p9oXq2XLTmw6GjAl1AI\\n4XLhi2pw1u5+5/mrIi+Foo8jo4b462G9ly05sNB87Yd9RDCEcLooIQQ/2kkgMGC/jjdnDtTVwdFH\\nQ34+VFWBlOB0grsP9o1T4n+AMGfTHOwWOycNO6m3TVH0MFpAQ1gEmk95/nuD5m9/wNcUCmNyJxCK\\nSbBr+Mv3/Vi7dsGll8Ipp8DNN0NGBuzcCVYrCAFlZcbfvoQS/wMAKSVnvXEWQ5KHsO2X23rbHEUP\\nowd1LKkWohVR9JiOyaKitZ2ho5i/ORzG5HITiOng1PYr5r9iBUyfDm+/DWvXQk2N8dpkgpwc4+KQ\\nn9/xfnoSJf4HACW+EgAC0X42IqUAQA/omF1m9AQd3a9j8ijx7wwdhX3M4SgWdyKhoA42idcv2ddZ\\nZ1esgEmTjOfjWkz6dcghxgWhr4m/+hYdAGyr3sa4zHH4Ir5uO8bq0tX8a+W/um3/in1HC2qYXCbM\\nCWYV+umAijkVrDlrDWvOWkPpq6WYE9sWf0soitmdaIR9gNpw259tSQls3gzBYOtla9fCe+/tEf+W\\njBsH69bteV1dDWvWGI9duzp1Wt2C8vwPALZWb2Vc5jjWla1Dlzom0fXX7Hc3vMuX27/kJxN/0uX7\\nVuwfelDHtHsbZulS4t8B1XOrsWXZSDvT6NLpmeFpc11bOIrVnUhYNwbSDfFvLYlSwvDhxqDt7Nnw\\nl78Yoh2NGssuvBBmzYITT4x/nHHj4IEHoGESriVLIDPTGAM4+2y4//79OOH9QIn/AcDWqq2MSB2B\\n0+okGA3itsVPHdhZuxNv2MuQlCG4rG3PSRqPpUVL2Vy1uSvMVXQxekDHXFsKVo8S/w7QfBpJ05JI\\nPysdgKs/uJrvdn3XbJ2Lxl7EPcfegzUSw+pOIqwZ4v/6ezoLPmi9z8suA5sN3n0XfvUr+OwzQ/DT\\njUNw1FHw97+3PaA7e7YR92+YsPCxx2DUqC453f1Cif8BwPaa7RyfdTwpMgVfxBdX/KWUjHpqFB67\\nh6snXc0Dxz+wV8dYVryMMn8ZdeE6kuxJXWW6ogvQ/DFMRICgEv8O0HzNB3m/3vk1T5zyBIOTBwNQ\\nN/9zbvzqT9w9625sEQ1boodwvSq/9JbGyBaK+Omn8MILhnhPngzr18O//mV48jfe2Dmb3G44/fQu\\nOLkuRsX8DwCKvEUMPGcgD/79QfzR+JUowVgQKSUPn/AwhXWFnd73HV/egeVeC1aTlUMyDmFL1ZZ9\\nttMX8fHl9i/3eXtFfPSaIGZCmHW/Ev8OaJnh44/4mZA9gTEZYxjjc3DkRTfxyGsVFNQUYIvo2BI8\\njWGf7EEaY8fS7DF1KmzYYIi/0wmHHgrvvAPnnNNbZ9h1KPE/AKgpr0GUC5L8SW0O+nrDXpLsSeQm\\n5lLkLepwn5qu8crqV9hUuYl/n/NvCn5VwMi0kdwx7w5u+OQGPvrho7228421b3D8S8fv9XaK9tHr\\nwpgsOmbNh+aN9bY5fZqWnr8v4sNtrb9T3rwZJk9mSqHON5v/hz2q40hIISIN8Q/orYvoBg0ywjW5\\nucbrd94xBm8HDuz2U+l2lPgfAIidAmueFVvE1qb414XrSLQndlr8i33FXPnBlZT5y8hOyEar1rgt\\n8zZOHX4qMT3G8yue32s7G8JFVcGqvd5W0TZabQiTTWI2R9CqQ71tTp+mqfhLKfFH/XvCpFu3wmGH\\nUTMoE9+383BEJY6kFCK6Efbxa63vqnJywGIx/gLk5fWNeH1XoMS/jxPRIiSVJpE4MRF72I4/HD/s\\n443snedfHawmpsfYWLGRDHcGJf8uwfKQhRum3MCPJ/yYYm/xXtvqDXsBWFa0bK+3VbSNXhfBbNUx\\nWzW06iDhknBvm9RnaZrbH4qFsJqsWEz1gfwtW2D4cHyHT8C2bAXOKFjdSUQxPP544m82G/n5DeLf\\nHpsCAZZ7vXH30xdRA759nDJ/GcN9w3GNdqF/puPzteP52xJJdiQT1sL4I/42s4IAqkPVAJT6S0l3\\npVOztIbgZiOJOScxh2Lf3ot/bdhoObyseBknDmsj702x12jeMCabRKAT2OhnUf4iDl95OO5D+mDD\\nmF6mqefvj/pJsCXsWbh1K0yfjkuvxfnB1zhjIFwuItL4LcQL+4AR+mkI+7RFRSTCxKVLGeZwoAFj\\nXS6+qqkBYKDDwbLDDmtzOsneQnn+fZwSXwmD6wbjNJej26IE6+JUmWB43dfffz2LBi3ikjWXdOj9\\nVwerG5+nu9LxLvMSKgihR3SyE7Ip8ZU0dpPsLLWhWtxWN+X70yRF0QrdFzXCPnad0v94ERbB7qd2\\n41vj2+v/0cGO7tcbxd8X8fHcW0EYMsR4fPopjB5N+qQZDNnlJ2oCzGaiom3PH4w0zo6ydZb7fExN\\nSmLtlCk8NHQop6WlsfqII9g4ZQo7QiHK+uDs8Mrz7+OU+ErIqsvE/ugtuMWN7KyN3+KhzltHTkEO\\nAx4cwKEfH8oJL5+Aw+Jots7dM+9m9qGzgT2e/xkbzmDjmRsJ7wpjz7cT2h7CNcqFy+qiKlhFmiut\\n07bWBGsYZRmFN+Ldx7NVxEP3xbA6BEmeYpJHmsj57Vh23LeD1SetJv83+eTf3Mf6BvQSUspmYR9f\\nxMfknTF48wUYPNjospaXh93jYVKpIGwT2IEYbQ/4AowZ0/GxV/h8TEow7jLObigAqGec281av58s\\nm22fz607UOK/F8T0GFJKrGZrjx2z1FdKak0SNr0csylEqDb+gF+gJkDUFcV9iJuZX87k9Muauyrv\\nb3yfT7Z8skf8g9VkVWcxY8sM3Me6GXzvYAruLKD0tVISJiUwLjSOYl/xXol/8rxkHnv0MZ5959l9\\nP2FFKzR/DLsdknPLSb41DCemk35GOv4NfpZPXU5oR4gRT4zobTN7HRmRYAKTzQho+CN+ssPSGKFt\\nGrcZMMAY7PUY3+0YEhfmdmP1UV0nJiUOk6lV+KYwFOKjykquaWNgoEH8j09JMY6n63jrj2UzmXCb\\n25lzoBtR4t9JdtbuZNgTw9B0jfcveZ+zRp3VI8f1R/3kV2djH5aCeVuQiDcSf71qP5pbw5ZrQy/R\\nGZXePCXhxGEn8sqaVxpf+0p8vPD0C+wevpvk45JJSiwma9ROylYNouqzKi4Rl1B8WTHjMse1PFSb\\nBCNGSCrojR+aUuwbekDD5DRBQgI0GfNxj3FzyH8OYdutqtMrtG7k5ov4cEZ043NrihDw5JNQ7+nH\\nTDoek6VN8ZdSkrtwITWxGLfm5/PA0KGEdR0pJRI4f906cmy2RnFvyTi3m78XFbGufraY/1ZVUROL\\nIYTg0sxM/jZy5P6f/D5wwIl/ub8cIQTprvSOV+5CirxFjM+YzNTsmawrW99j4h8MBbH6HFhPGoJ1\\na4BIXfxMj3BNGOmS2HPtRIpaXyAaCriC0aDRJqIsiCviIqMyA2uGFd56i6wV/yNr/nyq51ez5edb\\nOO+t87Cb7W3aZjaZefOCN5k1eBYAkYBxXNeWvWstoWgfPaBhjiP+AI7BDmJ1Kvcf4hV4+XCEtfgz\\nqdxwQ+PTmNBJMVt5o6yMFXESKi7MyCCi63wxfjy/376dBTU1nLBqVWP/zxkeD++NG4epjQHdizMz\\nsQhBw+jM5VlZHJ2cvK+n2WUcUOIvpeSkV05ic+VmCm8qJMUZ/0rbHWzYXsOK75JZvWUwsy5ZzW1H\\n98xxo5VRhDWEadQwTKYQ0cr4qZ7hmjDCEcPq302sJoYe0RtvfwHsFjvDU4ezsWIjk3ImEaoywkfJ\\nZcnYMmywdKlRBAPYc+wMigxi+y+3t2vbq6tf5eFvH2Zb9TYEgkiNIf5pWzofKlJ0jBbSMaWY44q/\\nJdGCVndgpBZ2Ny0LvIJ1VWhWM+Z2wip+PwRjkqtys5mU3PoiMa+mhmeLisi12zkiKYlVPh8vlJRw\\n/5Ah3NLJSq9Uq5WfdZQu1AscMOJfHazm6g+vRkrJgKQBlPpLe1T8C8uqObU2ypTBtbxTvrXHjivL\\nJWZrHQwdismym+qikrjrResi5G76AXH4ldgcrxEpieAY2HzAN9OdSWWwEoBIdf3dgcTw/JctM/rW\\n+nzYchxEiiMd3l1dMeEK/jDvD7itbn6o/IFJFZOQVomron3PXwtphLbvGbsw2Uw4hjr6XCpcX0EP\\nSsxuS1zxNyeZledfT0vxj9RVE3ZYaW+YdfFiSMnQyXJaOC5O2MYqBH/csYNZycm4zWZGu1y8UlrK\\nhiOO6IYz6FkOGPF/c92b+CI+5syew4VvX9gsVbEnED9s5K1PFqC511FyTA9myJaBzVQNecOx2Arx\\nllUS02NYTBYiWqSxsCpWEcSCFf78Z2w3e9l842asac0HpkcNGkXt4UYuvl5lxDtNVg1zRhIkJxvN\\nTDZvxjxxIkiIeWNYEtv+iqQ4Uyi/pRyHxcE769/h6399iTU1htnf/gDWhh9twLvUi9llrBcpj5B1\\naRa51+Sq3PU46GEwtSH+JocJNFrd6fUXiv5RRLQ8ioxJgtuCzWL+kdoqoo62kzMqKuDZZyH1XB27\\nKf5nN8jhQAdy6jN1Xh87lppYjOGuAz+02WfEf3fdbp5Z+gyS+HnL7254lwePf5B8Tz4pzhRqQjU9\\nap9WXsqm9Cxcsy4je/ej1G2pI2l493e/FJUCu14F2dlY7Dq5WjrLi5czyDOIE18+kV11uxBCcF7h\\nCZisIyA3l+FDXiFw5lHN9lPzdQ0TvptAzRnG5yZrDPG3WgNGIvPs2cbjrrsQQ4Zg85xNpDjSrvgD\\njemkJw87meqSxbhL12PJbnubys8qqf26lqkFUxt/qOGSMJt+uoltv9vGoXMO3efP6mBFC4MpwWqI\\n/+7dzZYJITAnmdG8Gqa0/iX+ekTnh+t/YOBvByIsAudwJ1mXZjUuj9XVEHW1PWb1wQewciXk/lJi\\na0P8c202zECu3djPyINA9BvoM+L/363/5dMtn3LO6Pjt8q457BpOG3EaAMmO5MY89Z5Cr64g6Ewg\\nZ9xIRi4ez2dHfcZFJRd1/4F9YI/UQk4OJodkhGUoJ71sTOJ+8SEX88wZzyCEoLBqOeEF70BuLh7f\\nEjxXN087c450kvmzTLaHjTh+QrlEEMFq8hoNS2w2uP12WLAA1q7FHikmUhzBNbJzX/ZEeyJTs4/H\\nvPMbEvxOUh5OaexDlOnOZNdNu4iWRVl/0XrGvDymmYdmz7Yz9I9DWX/J+q74xA469KjAnGgDj9vo\\nKdwCc6IR+ml5p3ewE6uLYUm2MPSBoa2W+SI+tu1eg+Z0xNnSIBAwJmDZ7NaxtxFytJhM5Nnt5Pax\\nHP2uoM+If5G3iJOGncQfjvlDh+sm25N73PPHW0XYlUTq5MHk3DkRv7WHwhN+DWvMzy0PpXFpAKal\\nTKHmd63PPVYVwuyUMGAAFLWu7k2YkEDSjiTq/HXoUsddY8VFIbaIFzLq0zknTzYeCxdie3cJW369\\nBVt22196YRYMfWQo7tHGZ6F7dVyUkekdg81sI/B7oyAt408ZVIeqERsE7vFu0s9uPZbgGOogtD2E\\n1CXCpGL/TdEiJkxJdkjxGDODt8CSFH/QVwtpIKFyTiU7H9rJkPuHkHbawTMYr9VpWJLiS9icTXMo\\nKvoBd+qANrcPBsHlgohs2/MHGOxwkGNv+w7iQKVPif+YjE6U0mHEmns65u+qjCG2/I7lP7OSxFAI\\nuwn5QjgS2vYsugJntYZ0Ch593MRJVoG7Jv7gnlYdwe4GPB5jfjmfr1l+syXJQjQ9SmxbjJoZNaSH\\nUsjiC5IjqyDj4uY7y8lhmP1f+O+9rF3bKj+qZNfjuxhwwwAQEPNJHJSTEjiMgZ6BjcVwuYm5FHuL\\nSdmUgmtU/DsJS4IFs8dMpDiCfcDB90PbH/SYGVOizRiXiSP+8QZ9q+dXs+r4VZhsJixpFhIPS8S3\\nwndQiX+sLoY5Kf74UkFNASdkTsWT2nYmVCBg9OgP623H/AGeGjGCwY7u/Z33Bn1H/H1FHD+0c73g\\nkx3JPd4/JqnGjrRKUk9Oo/wFIy5dWlDKoHGDuvW4dq+O5rSQIMAXCuHfEX9MJFYTweUWRgFLbq7h\\n/bcoHpGKf8Z5AAAgAElEQVRZEq1MoyJQQXLIg5PdJLFxz3x0DWRn46hcj+O01LbnpgPc490sGrSI\\n6rnVaF6NaIWbQU4v9qiL/KQ9LQdyEnMo8hZh32THNdoFq1cbF6lBzT8751Anwa1BJf4t0GNmSkyV\\nVAVDHFpV0epHG8/zD20LkX1FNqNfHA3Azod3Eq3se/1l9of2PP8dtTs43OSBhPhFkWB4/ikphvjb\\n2vmej2tZJHaQ0GdGiIq8ReQmtp0LWxWN8scdOwBIcaT0eMzf5RfgjuGekEQMY1Lo3VtKu/+4Xgg7\\nbUyYANVaCN8Oa9xmXpo3hjmx3gsaMgSmTzcuAk0eCf5qIjURKgOVJIaSsOA1vElri1ixw2HcNVRW\\ntmubI9/BYcsP48jNRzL0ISPuas8yY4m5GOTZI+y5ibkU+4oJbArgGumECRPYcOUZrfbnHOEksDF+\\n76L+jKZZ+N33d/GrxXdTU1LQark50UysxSQvkZJIs5Cd2XPwpYTG9fwvuQQuv5wdtTvIwt26urcJ\\nTcM+7Xn+BysdnrEQ4gUhRKkQYk076zwhhNgshFglhJjU5P1ThBAb65f9tr3jFHmLyElou2n2nzYW\\ncft2Y7Ay2bEn5l/iK+HcN8/ljbVvdHQq+4U7ZMGUYMYxeM/t3+5N3X8BsgdMBCwOxo2DamnFbNUI\\nFRix8fWz17MwfyEL8xdSudyBNaX+3/nBB4Z3vXTpnsdtt+H2laPX6FQEKnCEE7DihYyM+AfOyYHi\\njts6J05MRJgFaWcY4QT7YCdWmcBds+7as6uEHMoKy6hbWEvs7dsBKLG19siSj02mem7PXtT7OnpU\\nRyApN3n56bG/weFr3dspnuffUvwtHgta7cFVDBbX8//yS3jlFQpqCsiQrvjVvfV0NuxzsNKZsM+L\\nwJPAS/EWCiFOA4ZLKUcIIY4EngamCiHMwFPACcBu4HshxIdSyg0t9/HGk58yZGM+VfPKCcxIRLj3\\n3PbvCIdZVFfH8zvLwA0V1z3CYZvW8M/LDK/01dWvsrRoKeFYmEvGXbJ3Z99JdKnjitiwZ9kbxd9G\\nCTX7Pt1tI5HSCHXf1zW+Tjk+BbNzjzdjDlsImGDYMIjYEnBn1bF86nKE2Uhtm/TtJBAgnv47y74O\\n8OYv4ZJLXEyb1iK2PnMmzjveRHollcFKBoZTsCbJ1iGfBnJyYNcuI/e/PeqrJ21ZNo484QWsA9OR\\n8+0UnFrQ6GnO8s9Cr9VZOngew+c8zyOX5HP8ltaVyqmnpLL1pq2Uv1dOwoQEnEOdnfgED270gI5J\\nRAlaBclZg3D6I0ZPmiZiZU40U/pKKamnpeLIM76fkZIInhmexnUsSRZitQe/5x8dPRJreTk7a3aQ\\notmgnTG5Bs+/o7DPwUqH4i+lXCCEGNzOKmcB/65fd7EQIlkIkQ0MAbZIKQsAhBBvAGcDrcRfPmjh\\nOu5h92u1fHDOMt6+cE/+vD1iIbc0hdiabNzHbGHD88PQoxORE37B4wsf58WVL3LXzLv4/f9+j5Sy\\nW6pEf6j8AVcoCWeGu1H8readyG0paCGN6s+rqfyoEkuahSH3DcFkje9FRKui7Lh/BwmTEsi+PBuA\\ntReuJRwLY0o0EdsZI+fcHIb+cU/qmiVqxWc2OtJucCQw6Ojvcdx5DwC2HFtjYY8uK/nsuySKc+G1\\n12DatBYHHzMGu78ca7WTCn8Fg8N5WI8cBpltVEmPHQtntA7NNEMIeO89OPNMAJzRnTDwWAC8y71M\\n/HIiADu27OCP3/yRk/QY2ZkncuzFZ5Hwq9Y3gvZsOzk/zaHwT4VYM60c+n7ncv71cH3Bmv3g8960\\noIbJFEF32PEkpBG2mXH5fJC05zdiy7JRu6CW78d8j8ltQpgFUpMM+PmeTBezx3zQiX88z3+TXsY4\\n4PXF+Tgq5zd+N+MRDIJwalREo2QfhKmcHdEVA74DgMImr3fVv5cb5/0j4+3gvO0n8uab4HruP/z0\\n42oOP+qnrawcafqcspshOCyB5O1VXJx0JmtrCzl52MlGm4Ev/8Cuul3ke7q+t/niwqUM0tL5KNfC\\nnTs28JsRDijZxNCvLubLxC+pSanhq+O/4ujPj8Z+pJ28c/PQgho1X9YgNSM+X/J6CRUfVrDssGUc\\n+vyh1H5bS7Q8yq6Nu7j25mux2q1kbcni3tfubS7+ESteq4lB2bDSmYKoXINjUGtvJlrlJWzL5OKL\\n4dVX45yE1Yop3UFKGXy19iuOMI3DdNXlcMEF8U/6r381Hu3xyivw0EOwYoVxISgoMOa8AxxDHCQe\\nlgjAUaOO4rSM0/j5gjBYI6QMH4enKn7nz2F/GkZgU4DVp65u/9j11C017oSQMPGriSQf1fsNs7oS\\nPaBjIox0OUl2JFPrMuGqrm4m/gN/O5CBvx1ItCaKHtLZce8Oip4uah72aSMd9EAmVtdknKseEQiy\\n/pwZnDXJqIXhvPPa3D4QgF1uL4e63Th7qa1yb9JV2T775W7b7XDFFeD3DGfthRu55pomC6uqYN06\\ndjy1nGU5k/nq/lH8+LJvOT/lVK4+ZU920NS8qczdNpcrJ125P6a0Yl3ZOh75+i/8xXY+BR7jRFd+\\nmcfxx5ay4sh1HPGnWaSTznCG8/rtr5Nycwre971Ur6imIlZBONnowrnKtYr3b3ufG065gRcff5Hj\\nvccTHhPmuSHPsfmmzbhtbuZumUvglQDBgiDOwU6klJg1K7W6lcxMKEw+FOuGp+LaGauqI+ZKIje3\\nVRFoI7YUG4dYhqK50rFZg5CWZtz37ivnngt33238j5Yvhx079oh/k75CWQlZ3HfcffD6z2DyZLKH\\nTcAW0JCRCFitTHt+GldNuorzx5xPmisN53AnkdKIUcTTRjZHA75lPrJ/nI2MSoKbgwef+Ad1zIQQ\\nThfJjmRj4pHBg41/cotmYdZkY+A+7fS01uLvOfjCPppXM5oSNsEaCLH9nOMY++M7O9w+GIQt9lqm\\nezwdrnsw0hXivxto6m7nYXj51hbv59e/34q7774bABnTSI0mkv/jtxBWE1RXE/5kKXWOyXh941j0\\nf2n8x1XA4BE5ZJX6aPozv/bwa/n1579GkxomYeL8Mefjcez/P/WtdW+R6MtBSBfONDtHezxsD4UQ\\nWTmsfcdF9kWTOKu+u/POX+3kydCTpOvplEwoYehFQ8lOMsI749PHc9/Y+xBCMPGRiczZNAeAhwY9\\n1DjX7swhM3ku9Tluf+l2Hr/zcSJaBEvMQWXUQlYWlKSPw750E0QiRkVuaanhbQPs2IHuTmTAgLbF\\n35JkZhjDOHbUZWw2fwApw/bvw3G7jUmxAT75xKgOzssDSrHnx0nXXLsWZs8mwelht1uQ/NdH2W3y\\nMWPZZnZ8dQ9/nPgfHrv5c4RZ4D7ETdnrZaSclIJzSNuxf/96P+6xbqKVUcK7D76JzbWAhkkPIdxu\\nUhwpJFbXe+8vvww33wyW1j9hzzEekqYlNYuHm5MOzrBPy5i/NRjB6ulcw8dgEDaa67gxKavjlfsA\\n8+fPZ/78+V22v64Q/w+BG4A3hBBTgRopZakQohIYUT9eUARcDMyOt4MG8QfYufwlar+tHwA1mbBc\\ncBW5Fw7DkmKhYFM54CNijlFcFGZwk32cPOxkLhh7AYt2LWJn7U7+ufyfnDTMuPXLdGdy3eHXIYSg\\n3F/OP5b9A5Mw8Ysjf9F8guc4zNu4krT3phGxpmNJsTLE6eTbujrGzMzixqxtHHcDfPWVsW5q6tk8\\n+tdD0IjgtroZlNw8j93rhcceg/Hjp/LAeVMBePhh+Pk/Gtaw8kTuFOZumsv26u2kOFOw6A68uhmP\\nB6weF4GsISS+844hspdeanh/QqAHTJSkjCE7G8rKQNMax2IbsaRYiRVoRCuiWGUtpKa2e+57xXHH\\nGX/z8xlqvp+MKx6EbU0mGdm6FXbuhBkzAHjzpFyy37gbTepcnTOZPJ+JlSsXws3G6lmXZVH6Sinb\\nfr+NqdumYvHE/6oG1gdIPTWV0NYQ/rXx210fyOhBHZMMYXK5SbAl8OEoOP20mzDfe6/RjuPVV+Hi\\n5kV6lkQLk7+b3Py9JAuaTzuoKqjj3Rnag1HsnviFbOEw3HQTHH200cbKH5Bs1muZ5umdyVT2llmz\\nZjFr1qzG1/fcc89+7a9D8RdCvA7MBNKFEIXAXRhePVLKZ6WUnwghThNCbAH8wJX1y2JCiBuAzwEz\\n8Hy8TJ+WDPzkijaXHTc3gWW3DiQ8YR61Fc3jl0II7j32XgA0XeOpJU811gI8/O3DTM6ZzNS8qXy4\\n6UPe3fguNaEapgyY0mFh2arSlfzJOhFh92BLtjDY4aAgFEJMnsTwp67ivbNz+d59Ibk7FvLO22kU\\nHDaTk08RRCLGRaFhcqA334T/vCO5adwXPPyXQbhco3A4YMV9H7H4mLew22F3EXxdcD1Th0/l7fVv\\nc9yQ4zBrdkg0I4SRsrx9+mWMb4jF/+pX8JvfAPDd51D5mHFDkJJiXABazipnSbGjrZVEK6JYYpVt\\np3nuCw4HSAlSMlB7Daa/0aqIiwceMGJ8wHWvbSYQNXL6U52peJd9R9ZpRzcO2ufdmEfejXmsn72e\\nDZdvwDkyvvfvXerFPdaNHtKp+ryq686nj6B5o5hlCIvTjRCCK69KZePPbyPj8cfh22+N0NvOnXDL\\nLe3uR5gFZpcZzdd2YVRvocd0Sl8uRUYkJoeJrMuzOnWB0uq0VjF/RyiKIzl+BtuGDfD88/D114b4\\n1yUFcZnMDDgIWzd0hs5k+8T11lusc0Mb738KfLoPdsXlgT9YuOtWC/eeJwnWxZ9sGYwZpn459ZeN\\nr+1mO3fOu5N/nvVPVpas5EeH/oiVJSsprCuMu/2G8g08/O3DaFJj1sYyrlr5GHNTP8CRamWIw8H2\\nYBDOPx/GjOGwGTM4zPoATJ3KiVXf8ZMbv+DDEyexYgWEasNkpBsDvpea3+Qvo17CUbqbm2QtZ925\\niYjJwUfma0k66TeQmsrQed+yaekC8rRJXLPkKp5c8iQvyyexJBtf8IQE+H76bYy/+rZWNtfV7RkD\\nzM01Zqkb0KKtyXk2J7EARMvCWKMVRoFXPbW1Rjv/Uc1nf9x7GrKtcnObe/4tcFqdOK17BD1pzESs\\n1ZIybwlZSXuuWsMeHUbp620X0w19aCj2fDuR0shBGfbRa0MIU5RY2IXFAp47Unhv43v8bPLPEDNm\\nwKOPGgPzHYg/7An99DXx96/xs+2320g/N52y18pInpUcN6mhJdHqKJbU5ufiCGttiv+WLXDyyUZ0\\nsrQUvDlejnJ2f2fevkrf+hZ0gNVqPGI2iFZ0/tb1uiOuY135On79+a8p85dxzuhzqAxUUlgbX/zn\\nFcxjV90uLh9/OcF5Abw/G4flRQvOLBspFgsmIbhq40ZeGDvW8L7MZhg1Csvtd/Pwp/ex2X8+NyQs\\nYfTSpxFb69MPR40yfqDnnovrN79h7jP14xFnn2148IDtuOMY/++fs7vkVApvMmz7+jefY00zxN/t\\nbtXOvZGm4v/rX8OiRYagN7B2LQyIuUj3W6lbUInbEWkWF/rXv+Dzz43QfZeQv5dZV243PreVwg2L\\nyDry3Ma37QPsDPxNxzMm2QfYD17xN0epq3BhtUKtXsQ1H13D2IyxHDXwKJg6Fe67r1P7sqZZWX3q\\namMOAMA1wsXY1zuo4+gBQttCJE1LYtSzo6j9prZVtXJbxKpiWFObVKdrGvaoxO2JL/6bN8Po0YZ/\\nMn8+hK0xMu39qxNqUw4o8W8gZjehh+pFNRyGl14yEtvHxZ9sPNmRzN9P/zuD/jKIiBZhQvYENldt\\nZnnx8rjrr9xcxtb5M3jxhR9zf9WL2MYfRdhjIiHdjhCC/02YwGlr6guemxRBWX9xLYOLf8/g8Ccw\\nNBFeK4pfRPX008ajJXl5ROwQ217fc19KdN2CI8PBmCVL8B1r4dr1k1tvhyH+iUZmJZdfbjya8sUX\\n8P0NCZydvQuhJZKZ3TwCt2QJ/PBD3F3vG52c4q4plbnJlK9aCE3Ev7PYsmxodVqHE9D0dXxrfZis\\nJlyjXMS8MSJFQYQlRnWZi7PPhjdNRorsvV/dy9mjzsZVWcePqivbna2qgUM/PpRIqVFZLcOSVSes\\n6rLaGN9aH66Rrn2aUCa4PdhY0Lc3KanRqiiWw0fDjPEwZw74/QStkOCI781v2QJHHmk4UatXQ1To\\nJPbDCXAaOCB/JdJphpDhtfoee58Vtw8gb+znDFkXX/wBkuxJvHTOS+ys3Um6K52BnoG8v/H9uOtu\\n2FmGx3wId94hmXbuSsojgygZV0lKfQ+ccW43FdEompSYm/5wsrPhhRf269xCHid6Wf0PNGqEjKx5\\nTjYG6kh02/C3Mabp9TZL/W7FpEnwQqGH245/HnHrCLitedjs++9h+3bjWtolIdDx4/d6EzlyBKXf\\nz4P/2/vDCbMgaVoSNV/VkH5GOlKT+Nb4CBeG2XbrNlJOSmHEX0fs/Y57CD2mE9wUZOUxK0HC1B1T\\nWTxsMUiNdHsJlSUuTjsDNr47n7eez+GZpc+wvnw9NdVFzK7rXHtzR74DR36TcIowJj23JOydDPjW\\n+lh5zEqkJrEkWRjx9Ag2zN7A8CeGk3Nl2y1a2iK0PdTY7dWcaExM0xF6TDfGL7RC+L7+js/nw2uD\\nlCZJHF99tSchbeFC+NGPjJ6Cr78OWpJGQhsFmf2BA/LMRYINU8QMq1dT+s8C3Llhqrd1HLs7c9SZ\\n/HzKzwHIT8pne2UhH33Uer0xq1fz3Uu3cNzZiYSSxrHrhToKx5pIrk+rs5qM55XRru+SqGW7ICQJ\\n7w4bmR5ECA2xMcBmI2bWqKuLv13TsE880tNBS/AQKq015q+rvyN5/nnjpqmkxEgf37of0xNrmpHq\\nz9atcOute719xhkXk/3tKuYXzKfY23FfoZaknpRK6UulxOpilL9bzqoTVrHjvh1kXZZFzfwenv9h\\nLwjtDLHAtYClk5cy5I9DSJqRRMHdBVjTrcz4bwLJmZ8S8bsYMQIomMnItJE8fvLj/O30v3H7Sfdj\\n0aSR/ruXWNOtRCv2/jvsX+Un+dhkpu2cxtBHhvLD//1AwsQEKt6r2Ot9gRH2cQw1LkqdnZM4VhPD\\nkmhC5OYYs7DX1hKprcJnM8b4Grj+eiOU+d13cMwxcNhhMGaMUZdoceu4+mFxVwMHpPjrGakklyWx\\ncvpCineOY8jfJ+EL5aGXdz7bY1DyILZWb+XM75JIetB4/Pxj48KQW1bEiiNOguJiyn7yL+x5dr45\\nzUxKk5zqLKuVkn34wXWEGJBLzF1F5aeVxGpjmAjjyzMzMSGBsElj0w/xWzp3JP4ACXnJaFU1UFGB\\nTEtn8WL43//g1FON3m9jx8JTT8Hf/mbUbO0tb75pXEAYOjRu/nlHpJ93GTMLYPEts/nLU+3PJRB3\\n+/PTCW4NsvmGzVT/r5pBtw/isCWHkXtdLqEdrRui9RVqv6sl7Yw0ZoZnMuDaAeRem8uuv+zCM9MD\\ngQARmxkt7CI7G6pb9L3zOJLx2oVx67eXWDOsRMv3XvyD24K4RrmweCxkzc5ietF0xs0ZR93COuab\\n5vOV9Su8KzpvT3B7sLGWw5JoQfNqbLt9G4uGLmLR0EXseqJ1eVCsOoYlURhu/MiRsGkToeoKgnZz\\nszCWzwePP244Oc88Y6w+YoSRIGV26rj6YUO3Bg7IM5djM3nw1lQGvnchng8mMyWrhECqTuDtxZ3e\\nR5I9ifsTquHxXfxnxi5ePWMO3xUuNJb5axADBkNiIr7VQbIuy2J3kt7o+QNk22yUdoP4Wwflopt+\\nYPN1m1k8bDE2yqhNhzFuN1aTYMVanTgdnTsl/uZUD6Y6w/P3u9KZOdPIepg61fj9XH+9MRj28cfw\\nxz/uve0NH88+6JBBairOPz/JdYFxnPryok5tsrJ4BeN/aWPCjTZW21Yy/rPxVHxYQdVnVSQfa2Qz\\nWVIsoNGrRU5FzxaxZOwSVp6wEi3QPKzhXeIlcUpi4+u009PIuiyLjHMzIBgkaDVhxUVKSuu5XJLs\\nSdTZoc1bwnawZuyb5x/aFsI5rHnqrTXZyvTS6cyMzSTriizqFnfOHqlLwjvCjT2zGjz/2m9rGXL/\\nEPJ+lUftd7WttotVxbAm6MaXftQomDeP2PKlBJ3NPfkWcxoBRifPSZMgIV3D2Y/F/4CM+WclWHlj\\nJKSemMrvFm5n63ozSybaGPXoYhKOHWx0PBw5st2JSABqKpwk2Z1cfA5ETOMJX78FKSUpAT8JA4cA\\n4FvpY9jjwygpiZDRpO99ls3WLZ6/e0QujuhnzIwarY+DplOpSPqeiQ4HCWYzwqWxa5eZvDy48UYj\\n2QiMSMtPftL+vs3pKdiri+H55/FechPhsDHIm5kJu0IhXNNC/O3UZL75Bn7bbgPu+DSMRyxbBk1q\\nUfaOa67BdcJxjJw0Cm/YS6I9sd3VC+e8yuJ/SBCCBWPexXbddAb+diD+tX4Sxhu/eiEE9kF2QjtC\\nje/1NDVf15D942zqFtexfvZ6Eg9LRFiM72flR5WMfGZPoZEQgjEv1c9q90GAoNmETThJSjLErGkB\\nn9vmZptdkldTjZkhzQ9aVWV0AP3kE6Oa8KGHmjU6s6bvo+e/NUjWFa2rYhty8xMmJFD9RTWRokhj\\nbysAYRHk35LfbIwhUhzB7DE3zuncEPOPlkVJmJBAtCJK+dutJ26KVkWxuDRD/E86CR55BJdZsmxk\\nYrMGYvHEH4w72ys2qLDPAUdOgoXadD+Xrl/Pa7XFjP1uKM/PtrOr8HBWHfElq8d/TN05txm5i59/\\nbsQ0Gli2zLgwjB6N3LqNxx83fiPfzE1BxqwUeYvIqskj8uUY1l6wllhtjKIccJtMZDTp/NfU86+I\\nRPisspIl++B9tSRj4gA8/t0Eg4CuY5chquwxBtaL/7gjNI47Dg45xIhjPvcc/POfxsDWiSe2v29r\\nRjIf/uwj+Mc/2HaCMaq6a5dR6/VqWRn310+W0zAR2N7S4JU2/bj3BcvQ4STGTHz4zfPsrN3Z7rrR\\nFUvZdMrhrJs5hug2Y2Rv0G2DGPvq2GaFQo5Bjl4N/USKIyRMTmDkMyPxzPCgR4wBS82nkXlpJknT\\n27htCwYJWAR2kwuTydC6pim8JmHC7zQTqCxpvt3cuUYCwujRRnHd6NGwalWzVWwZtn0O+7T0/Jvi\\nHu+m4t0KfCt9mF3mxkfFuxXU/K/5rUvTkA/syfaJlEWwZlqxDbDFTeGNVcWw2iPGB/KTn8D69az5\\n7CVePG/PBTBS3/26rYadQV1Xnv+BxpT0BEw3jmbpGA19Zxp/vyWVWUU2Er8cTZ7/CELrq1n1u63Y\\n/2fEH6zhLYz/IoJ51nS8Ly9iY8XDEA2TaltH5hVGB81hw0BWDePdDe8xuXoSpkwHmRdlkn9TPp/6\\nvBzRIqaSY7PxdFER/6upYaXPx1iXi+U+H/MnTmRCvavRdMatd8rLybXbmdGiiZSUkmiT9RIOGcRw\\nsY0F8zVmTQujYaeSCDk2GwlmM/c9qpFQ7wgNH97cq/HGYoQiOqlWa/MspHqSk2GN9UTOPQ4qP9zz\\nfno6LNlcx6aAUXHbMI+LlB3ePDWjttboE1dS0vG67SIEtSMHIR55hJvy7+TFv+0iyR5fHG2btmA9\\n6iyiRQXGlawNHIMdbL9jO4mHJ2LP6fmKzkhJBFuODVumjYG3tp8G2yz9MhAgYAG72ciGSU42BiuP\\nb1KYHnRaCVaV0uweqaAALrtsT/bZI49AeXMPel8GfPWYTrQ02u5UmwkTErBmWBn57Mjmn7XAyMY6\\ne0/6c2j7nsFeMDz/wA8BtFoNa6oVs9tMuCjcKiU1WhXFYg+zOVbGB989SkyPsaVqS7N2LX6/8fto\\n6zsc0LR+7fkfkOJ/6CGCxY+n4/UaEZ4ZMyDpgWReHBLkr0cPglPSSLsorzFfePMFC6g48xGyXvgR\\nNV97SRhrJbBZJ62ohrTCaiCFxESweodz29zbWBC4guTpiWRelMnWYJC/b9zGKS364Pw0J4dD6mcJ\\nGmC3Mz4hgTu2b+f+HTu4MCOD771eHi8spCGhMstqJdVqZZzbzeGJidxanwd/7Q8/8HxxMSYh0KTk\\nuVGjOCNtAC/duJRXRw3nz8JFcWSP+FsSNCa2qNwFQzAGLFyIJiW35Odz95AhrdbxePZMztUwcOjx\\nGKmdS7xeisJh/JqG22nG6TTuiNL2Yr7vmhojvb8LboDIu+dxLv38c856+XlumHQ+acPjp45esL2E\\n9JuOoWgFWOeta3N/g+8czJqz1+Bb7sN+ei+If3GkUxed19a8xj1f3cO669ayYUwGA3d5WT/RhEsY\\nTkNdHZxwgnEBmGhMl0DYZSNc1SI0UlzcvL+Hx7Mn57Eea4aVsrfL0KPGtzTtjDRSZrXfFC1aHsWS\\nZkGY2/YKrClWpu2e1mpeC88xHjZftxk9rDfOvRDaFsIxZI/4W5IshLaFsKRaGltSmJ1mw9NP2xN2\\nDRWEsNi9zCn9hhLfFCwmC9kJ2Zwz+pzGddoK+TSgPP8DECH2fPEbOD2Ux3O1q6hc78ckBLfm5zMu\\nz/jPD7j/MH646kZMv/4n3rqJpPw6E712J/nrk4n8fBXyuplGnLX8DoZHz8CurcQ22BgsfLW0FLvJ\\nxOVZzWOcyVYrp7ZQxutyc/nttm28U15OotlM8fTpZNbfc0opOXHVKsa53fy53kN1mEy8U15OxYwZ\\nJFutfFRRwSOFhcy+6FQeXPQQ1faJ2LISqY7FyKgXf58WPwc6pOtEpeTpESP4suWoYIPNyUZ/EzCE\\nHcB8ZQGJCwpJNJsZ43KxORBgYmJiY+hnb8S/3KfhnlGH19u5rortcvbZxkNGeOzROfhTt8ddLbfY\\nhHnKsdTVlBJ4K95EBga2LBuJkxMJbos/j0B3ogU1tIDWqhVBSwpqCnjl6et44juNN7Lv4/gyL9WL\\n55O9I53sh42+Gw3/t4ceMnLWAcJ2B5GW4l9SYoR6GvB4mseLgLQz09C8GlJKIsURtt68lcOX/X97\\n5xl3U0cAACAASURBVB0fVZX+//eZPpnJTHpCSEIoASmhCoiiYMeGir3uylq/6s/V/e5asbtrb18b\\n6u7quou9d0WxLYJUIYSSBAKkkF5nJpl2f3+cSTKTzExCCCSS+3695sXkzp07Zw7J5z7nOU85NOoY\\n3RVuDKndp5SFa2hkm2nDNNLEDzE/dBSB9xOSZayN1eIqcmFI6fiMNtdPm/grikLNRzUMP6oYt8fE\\noyc8GnYM3Ym/0+cb1NE+v0nxD8d9l1n54PdjWTXRTWt8Cx8f+ysT7HKpnDJazzMvjaf40lNp8cO9\\nowWHZsUxcbMUAscGBzFjY5g05BA+fCCTO0Uxhiz5W7OuuZnLhwwh09R9rZF0o5HXxo4N+5oQgqWB\\nO9bhNhvvBJbgz48eTVxgI/n4hAQu2bKFGy85hxe0S8ikjpK7byU54MaJJv6NPh82rSxSVdoavsxB\\nXFzH339NnYJ5wR7ECAf/N2oUF6SmclF+Prds384wkwnd3ER27UqKWutHiNDe7/mplaw/fiupj8yN\\nMkt7h/WJZ7CecyER70FWK6SmEjdyPN6a6FU9TcNNtOw48H7/tn66kTJpSxtLmfjCRHQNTRS9ZULr\\n1/DWQw9SNCmL2blHsrUMLIG2C2+9JV35Tz0FL74oV1uXNBnJePxlOPZsGcSu0UjxP/ro9s/4qPx7\\nZpYVEGzCGIcYyfyTLMPh9/hZnrqc1vLWqCsU956eiX84NHoNuR/k4veGJhhqdEEtKW1aWne1Yj6m\\nYx/AlGli86Wb0cVJuVK8CopXQW/Yjtsaee+hs/grisKblZWMtViYZLVKy191+/z2GTEC1ryYQFWV\\ndHdefX0S21JlaN+6i7ez7BjBqBEjcRe18HmxmSTFwTSfBbSwZvoaFL/CDWemsuj21TQ8MRR9ilS1\\ndU1NPDRiRJRP3nuOS0jguDDllI0aDSumTuXIdeu47cEHyTKZKG9sZEig7kJU8fd6sel0UcXfbu/Y\\nlC1xtdJy7VYse+xkmUwYNRruys5meWMjG5qbaZ5dzplnRujvG0BR4J13pIEO0Fov/5BqvG7oUcGB\\nHmAydZSLjkLCqFy0DT4aWhoi9nEwjzDTuLwPfFJ7ibtc+vsjsSrvK777J4x3Z6I590R82cP43c23\\n8NPd8ns7nR09d845R/575JHy3/x8ePx/hnAWRoxnnikVz+WS83bjje2f8XNTPlM7rw6C0Og1JJyY\\nQPUH1Qy9JoxfMYCnwhPSJKY3BIt9Z9pKcwRb/qMXj+6yYjOPNNN8cx0+a+QG7c3Nof3btzqdXLB5\\nM4fbbPx36lSc/sEd53/QiD/IVe4hh8g/jJNPtraHHp76VDrXZxTx+hc53Le0gokV8WSMaETgZvQd\\nFtK/uoGmX+rY8s7/MvKT61iZ9DmGFAO1Hg81Xi+jzAeukfiYmBhOiI/n7aoqLkxJYbPTyZCA68iq\\n1dLUA8u/pLXrBhmEWv6VLV4UDShZDlIC5nuu1Uqu1crKxkZWjS6gqJtI1iVLZD7A8uVyFVAeiKOv\\nSGiCyLb6fkGbnIJe6Pjxl3c5+aiFuH1uVpSsYHfDbh5973854pAT+NvoZ3AVufB7/VEFqK9p3d1K\\nta2ak/5zEunWdBafthidpuNPr3bpxxyqtaBZsgSmTkWr09FyzgKOyJJGR7D4d8Zmg9eH5HLY44dx\\n+dRA+9NFi+D++0N8/oX+KvTNzqjjTFuYRtGfirDNsGHKNoX42NvYF8u/J5iGm0iYl0DCSR3GkSnL\\nFNIZro3Ghnr8wyL7dTpb/gUuF3PsdlY3NdHk9eLyqXH+ByWJiR3+6r8ek8q5LyhcfWUxdTaFP5oz\\nSdBZgVoMz94P7k2YS0txjViLUt+IO2kF+hQ9b9fUcExcHJr90BQ+GuelpHDltm08ultW9rwm0K4v\\nVqfr1vK3BZaxjT4f9k5ZtsGWf3WrjPKoCewnBJNuMFAWYfUQzJlnwiOPSNfPihVQnyjFvz75wIs/\\nQlA+YyxbXn+aQ6edyvfrPyTv4T+R2xrHqmXVLM95D/Pyv9Oys4UfDD+Q81wOQ6+ObOH2JY58BxWe\\n1dz8fhWb9Nu4mqsYn9JRh8r48w945pwoq44FMA3vqEPUnfh7mm18UfgFC8YuIMGcIGN+779f+ocC\\nbHGXY2iOfjePPzaemLExbL1iK62lreR+movt0NAoK3eFO2qkz76iT9Az8fMe1oVqbOioZhiGcOI/\\n0WpFIwQ/NDRIy191+xzcnHqK4F19Gqc37MRrd3NyqoUd3higFr2vBo44Al2qFa1FS0uJF5/Lz2MN\\npbxZXc3Ne1uauA84LSmJ8jDVQHvi8xdCMNRoZLPDwZhOimGz66isFDz6KBRVSqEWQGKnm0SawUBl\\nuMJ1nTCbZdQJyKqh37zhxSZ0tBiiZ9L6fNIt3df31MQzL+LUx+/nkREXk7vdwbVb7aTMP5/m/5nB\\nkD+cizZWy5ENR7LnX3uo+bQmovg7C5y0lrZ2G/nShrvCTcN/OzZT7UfZMSR13FCd+U7SytcyxmLl\\n8I0NfGkpoHR4R52Gk3YaSbviDCIRTfytVvA223l387t8V/wdKZYUjH7B0isvJjHg82hqbWKnUo/Z\\nEV3ohEYw/s3xAJT/o5zC6wvJvjc75BzHRgfWqf2TKNcZ0dCIEqUVaTjxHxcTg0WrZU1Tkxrt098D\\nOFDMO14wfs40Cst8TN6sxVEhl5GGkw+HQ6VlbR5lpnJJJa1ZOt6qrubs5GTOCFeSuZ+warURLfI2\\nyx9ghs3GSW0lpwO0+P3cmZXNxRdnsWsXHHeml7eABJ0OXac/AL1GQ7xOR5XbTVoPS3zOmQPGpV6G\\nmY3k6bysXdsR8hkXFxqdNXy47KT00EM9+949JfHSq7Bu2sapi1+lwaLHc+0iuP42rA4HGfUKda5a\\nEmISsR1mY8edodFDzRua8bf6seRaKH22FOcmJ/Fz42lY0YC71E3yWZG7npU+U0rV+1XEjI7BXelm\\nz7/2kPtBbvvrjk0OTJ5ttJx3JYZDDuO0RYtgV1BjhhFTYG7kjnLRxF+jAevaRex8fxGN7MbhcfDI\\n8kd4acoYbgmcs7NhJ80G0Lt94PX2qO5S2u/SaPipgd0Pd+p5oYHYtEY4fIG8i9vt8M9/du0cdADQ\\n1zciEiKvMB0O8KW4+G+DXPGsa2ri9MRE7Dodn9bU0Or3Y1LF/+BHCFj1rR6fT49eD2npFvYAZY/d\\nwcgUuXQ0jzZTfE8xO/6WyMkJMdzeuQ1hP5Ok17M2QuGcNssfCBtx9HZlJf+pqOCDZ+XPj+zy8NZ2\\n2kNRO5NuNFK2F+JvMMDZv/PS4DOx0eRj2jR5QwBZStfhkJqzbBns3g01NT267N4RF4fx6eeYmfoW\\nlLsxzg/EQlosuExaSgvWkjDpeMw5ZnyNPnY+sJNhtw/DWehk7WFr0cXpyPxLJnVf1uGucKMoCuUv\\nl+Nr9EUVf3eFm4zrM0i/Kh2f08eK7BXkLchrD2d0bXcRH19I3IhxMH06fPHFXn2taOIPYLdpaG6C\\nYZny93XBIQt47OfHuGraVQAs3b6UeEsCTlMDsY2NPerdLLSCQ/5xSPgX33pLDuiBB+D992VRqA8/\\n3KvvFIyiKPyw8wfcPjcmnYnZWbN71GPA2NCMJjGycdbcDJ/NymN9gSBGo8Gk0TA1NpadLS3cv3Mn\\nJo2mT3oZ/FYZNOIPUnzajJ5hGRa2JwjO2rWV9anTAdkSMP3KdN5O3MOYSDnh/chkq5WHd4UvdxBs\\n+Ydjamwsfwqq11zr9ZJuMITUKwom3WDgy9pa6ryRXTha4Mi4uHbXUIPPR5bRCDEuhg2T3ZKA9qby\\nWq2MDDrzzH0o/tYdRiOmTz6XZRuDbt41KVZqt6yDScfLnI4lY9m0YBNDbxiKI89B/LHxpFyQwq6H\\nd+Gp9aAxa2gpbqH+m/qokTpAeykCAG2MlsnLJuPc0rG5mnJtCsr8FuzDI4hpNzidIR03u2CzhSbW\\nzc2ey3WfX8eIp+WGcaI5kedPeZ6mBy8itrCwo8uaxdJ9NcBwFBXB1Klyj0Kvh8sv3/trBLGpYiMv\\nLJrHOHsOW6u3MOaKd0g5dn70N/n9GJpb0CeEvylXVsqKte7pXt4bP5nhQUEbZo2GApcrpErvYGTQ\\nfntznIFjdx5OyfqV7GppkeGOaUaMaUYqNpVw5AAU/3ExMRS3tMgs3E4bVcGWfzhGmEw0+XxUud0k\\nG2Qk0zHx8VKsw3B6UhJvVlaytHMN4SC2t7Twx4wMbsjIAKDe6+UImw1imkN6t7cljDU1waRJMgLx\\nllsiXLQvmD27yyFHegrvfPQ3sk44h+Hxw0mcl0jMuBgcGx04853EjIvBfqQdx0UOMv+ciavQxfqj\\n1+Op9KD4FFxFLhkS7FHQWDTM2DwDfbwUfE+lJyQ00TLegmV8R4zhzuoi0l2gSU3rMq6e0J3l37ne\\nT6wxlp1/3BlyTmljKesydKS3xeX6/TK1O4IxEZWiIrmCAbnhuo8p3VUrvuXF933EnnwI3+XvIG7h\\ntbCzG/FvaKDVrMdmCb+K+eKLQBa7yYe1099FrE7HMKMx6n7WYGDQij+A0apnQXIyh65Zg1mj4YKU\\nFB4cOZJKt7s9/HEgoddoGGexcF9xMRlGI8cnJLRv6jZ6vWREcdEIITgkJoZtLhfJBgN1Xi9nJSdz\\nXkpK2POvTE/nykCUUSSW1dVxyebNLKmoQCBLRFyTng4Wb0gXx6FDobRUPg45BDIyopbh2S+MO+kS\\nnlx0F9+f+yHDT5c9k62TrTSva8aR7yDh+ARMmSaSzkoi/Zp0dPE6Wkta0dl0rBy1EudWJ9bJViZ8\\nOIFNCzZR/129LLmMdPu0Wf7hqN6xCYtVT1IvI0ucTrm5HonOln847CY7556vwXFboL6HxyPvKH6/\\n3DjYG4qK4PzzQz68uL6YTFsmWs3ef8emLb9SnJtB7ltvcf/Th/LF7ZvhiSfgg0Cnvcsv79qXtLaW\\nZqshYs2n4mI49VR4FB+xYeZ94/TphO+MMXgYvLsdAZ7NyWHVtGk8k5PTbuVWuN2kDkDLH+CWrCya\\nfT5+bGjgsi1b2o83eL1RLX+AeJ2O+oAbp9bjIWEfl71z4uI4NyWFB4YPZ7rNhgIBt48vpMJom+W/\\nZYtMQE1Pl6Vn/P6Il+5zDLctYuOsEbg2rms/FjsllpKnSqj7so6YsfImOuGdCZiHm9HH6bFOsGLK\\nMqFL0NG8vhljhhFdrI744+Op+6ZjRdTZ8u9M3fZ8GhOimO7d4HJ1b/l3J/4WvYVWbyseX6CQm14v\\nQ2GirOwi4SnYypE//J6sJ7KY9vrR+BobmLJ4Cq/nvb7X1wLwFRbgHSatBU1cPJqWVnjvPTjjDNl+\\n6/PPu76ptpaGGG0X8f/DH+Caa2RL0oxsP15FwRjm5har00V1kw4GBve3R1rTw0wmYrVaClwuFEWh\\n0uMZkJY/wFnJyZyVnIzX7yd7xQqu3LoVo0bDz42NnJ0ceVMSIE6no6FN/L3effZ5aoTg8VGjAEg2\\nGHimtJQskwl7updLj+w4r0388/Nl17A9Sgv2LA1ff20gIUG2++2TvsHd4M0ehq+woP3n1ItT0Sfr\\nETpB7LTI8eLGDCNNq5swj5Lmd/zx8eSfl4+iKPhdfvweP1pb5BtvdcF6MlKj/99Eo9sNX3v34i+E\\nwGa00dDaQFJMYJM0OVlW+tybAk4+H9qKShJHz+M/pz3HFwWf4/dczZjY8by3+T0unrj3HdgMO3ej\\nmzkPgFiTDbfNgmnLFlm6tKYGfvih65tqa6mPEV2yuT/6SHYpnTsXTr9IunwG86ZuNAa9+LfRVga5\\nzO2myecjYYCKfxs6jYb3JkxgZeCv/pDMTOZG2xVEin+b5V/t8ZDUh99xosXC06NGkW4w0OTz8fCu\\nXe2fVTROT+VzmWzcCLNmKcSvWEHOohTuuGMc9fXSfbxkSZ8NJSKGnDEYvu9o2qyz60g5N7zbKxhT\\nponGlY3YZ0uhsU624nf5cW5xoo3RokvW8WnBp+3nH5F5BPHmjhwBf/4mlDGju1y3p3Qn/rGx8Mkn\\n0lCOFplsN9n5ceePpMdKd97E+FjMVVXSF1dcLMOwjjwy8gUAqqpwxpoYN2QiWfYsrjz0KrDfyhfz\\n32bUkpkY7zeiFVqW/2E5k9MmR79WAFtpDbaxk+Rzo40WmwVTcTmkpsoyFaWlXd9UW0u1SWGoOdTn\\nP2GCDDTYsQOSMn1YawZvEld3qOIfxCizmfeqqhhqMBzwrN7eMMNmY8ZeRGvsT/EXQnB9YOPXD9y+\\nYwf3ZGcD8F7ydnw/p3P/3RoerpXx9cccpuWF30lhmzoV7rwTLr1U9ijYX9jGTqZ5ySvUOGtIMCf0\\n2CK0TLRQ/UF1e00bIQRJZySRf14+WpuWmphqnl1yE1m2LOpa6nh1+HDevuD99vfHFu7GcuHZvR53\\nd+IfHw9PPikb+iQmyqiq996TDX+COSXnFB7874MA+Pw+7nNs4qS2Gv9Llkgf+y+/RB9MRQV1NgMj\\ng5OrbDbiPBr2/O8efH4f13x6DStKVvRI/P2Kn7RKJym5h8lLGWw4bCbihJB3MqtVin/n5hK1tVQY\\nPUw0h65a2uyfnTshNtWHtV4V/0io4h9EjtnMrdu382AfF3IbKMTpdFR7PDh9PhToEjHUl+SYzdwW\\nCPlZXFbGsjo3fkVh9rpyHh05kh8CdSZiYmSztYULYf16uWzfXwzJPRzbHi/3npfGxD/czsIz7u7R\\n+2KnSpdQcMjn8L8Np+FHGWJT8vwiPnyyAlOSwO9o5l/DtnKO7hxEIND/tt2NpM7ovjhdJJxOuNyz\\nhtF5Rt6bMKHL64sWyUd5uTz3wQdl2H1n8X/m5Gfan/v8Pl55UY+/okJu/OXnw6pVshpoWpSopD17\\nKLcqjEwIFX8aG9FpdOg0OqakTeGzgs8orC3E5+/ISNdpdNw5586Q1pzl9SVkNiiYRsuyzjajjeZY\\noxR+rVaGo5pMXZtLFBezy+SW5SyCaG6GP/8ZZswAt6ZrpI9KB4N+wzeYu7OzeXXsWK7uJsrlt0qb\\n5V8VsPr3py80OIR0qNFIWWsrm51OJlutzLHbKQnKVB42TFqunXqN9DnGnENIuOqP3FY6kvhXer45\\naZ0mawQEV7PUWXUknpRI4kmJ6F35bPl/F0JhIZqNeVy81cA9S33c/Y185NbpMeb2zAUSDqcTNvma\\nWB0hOUII+UhPlyunBQtk295du+TjxRdl59LgPCytRkujzYSzPBASumkT5OTIJUM09uxhp6m1i+Uf\\nnLgxKW0SeSs+5pS/vcsVT//U/jjinn+wbG3o9Us2r6Qx1iAFHhmm2mDRSZdPG23hYm0oCv4P3ueL\\nMRrM+tAwqOZm6f46+2xo9qniHw3V8g8iJyaGnGjr69849oD4V3s8EZO7+oqsoP4HQ41GSt1udra0\\nMM5iISNQeTSYkSOlnza4OXmfo9PBww/je3c8aTdfGfm8N96QRYseegh8PozJgsRTEzFmht+VNtU2\\nYk4PJDYkJaF77T+MW9cRVcTTJ0YtQNYdDpcMSmztYXjUnDnS+m1Ld0hIgClTYOPGjvLbAK3xsbhL\\ndkrF3LpVun7uuEPW4hg5MlSAA/jKStlpamFBbJCB1CncaFLqJB5fbmXWuMMxHXNC+3H7I3fy1Yev\\nw6zftR+ry1+DfUgcbTsvNqONeosGUoI2L7Ky4MIL5c42gNeL3+th58iuG9VNTR1TrYp/dFTxH0TE\\nBYl/X/r7O3NJamrI6qmtSuhmp5PDbTZSDAbqvV5a/f72MLyYGLmqLykJSczdL6QdM5/Yksu46aNr\\neXz+s9K0vv56aGmRqvnmm7B9uxT/p59GFBWR+/EzEa9nrXdiyQhqm3nqqfLRRzgDxfwiFfXrjMUi\\nDflgHnkEKipCj9VmJWNf/AG88SHOnOF8luPh7KlT4U9/ksuwDz+Eww8PeY+rZAfNCdbQeP5OiV52\\nt+D0rQLx9bMhqcne7eswfvMKxfXFmHTSOGjYvA5XZkfpaZvRRk0MYAq68bz0ktyQDmKb1UXC8hvp\\nTHAxt2afj9hBHs4ZDXVmBhHtbh+3e79a/v/qVFuorcHM6qYmrhgyBI0QDDEYuKmwkFitlivS0xlp\\nNjNqFBQU7H/xF/HxKLm5/O8lz9Ow5wHs6/Php5+ko/jvf8e/7FtobUXjdMoYc62WxtZG7v3+Xjw+\\nDxaDhXuPvre9Jn98Qytxw6K0PNtHnH4/STo9td7uK61Gwm6HQE+gdopmjeG9y+/inPHn8PB3d/P2\\n93dz9r8Cd40lS+QN8dZbQ96jrFmDZ1ynrFqbDVauhLPOkvkDv/6KGDeuS02KjNMu4sQX/sGFd02j\\nVS+/w2XLncRMX9BxKaONb8ZYuWDcWR1vHDq0S+G4yuLvSDR3tfz3nFvAw82C5xmlWv7doIr/IOJA\\nWf6dSQ/kAMRqtRwWiE56YtQotjqdbHA4uGvHDv49bhzjxsGGDbJB+f4mdtWvtMQZ2LzmSw7b0oRv\\n5gw8l12K6eT57M5Jxt3cSM7ixfh//IGWrKFs2LkK099f5ZTMOXxe/gNrRs9nZuZhOD1OkhwKlqHD\\nu//QXuDxgN/gw6rT0qL4aQ7Tp6EnBPdyaCM5Jpkqp4z22VS1ifyqfLbXbWdE/AiZwbtqlXSBBdEU\\nb6F8QicXVlMTvPyyTNi47DK5c9+5yTagnXYoiVffyJfvvhv6whkL25/GGmJZk6GVN5Io1Lpqu2z2\\nArQeUcELNV5V/HuAuuE7iIjT6ah0u/mpoWG/+/yDOdxu53CbjedGj24PoT0zOZlbhg3j6VGj+KSm\\nhgq3mxNPhE8/7eZifUhFzhAqf/qC5nUruWPPEhK/nYfX72XxTB2LDwW+/ZYVc0ahlOymddXP3PR1\\nM0e7Uln0mYMNS2Wz+Kqa3cR45Gpif+BygdHuw6LREBuln0N3BHdxayM5JplKRyUAmyo3MXPoTN7M\\ne1O+qNHIEgvvvBPy+PyB38v9gGCOOEIu195+W94IVq8OK/4IAffcA3l5oY+gNp02o43G1u5rBYUT\\nf7cbKJY1lRRFUcW/G1TxH0Qk6nSclpSEVavl/Ag1ffYHI8xm3hg/njlhktCSDAZuysxk6urV5E/Y\\nzS+/wO9+B52Nw/2Bd1IulR+/wZ7vP0ObO5H/W/ASN/55Iouza/jnoVrKlizmitP8aL0+fNu2sPuQ\\ndHj2WermzcH91Wf89ce/cuU/zqQ+Vt/3nWkCOJ1gssuOU7FaLU1RqqxGw27vKv4plhTyq/JZWbKS\\nHfU7eOLEJ3hu9XO8tOYlVpWuCnudPc17SLN2CgW9/nq5ZNu6VYYchdkr6ClxpjjqWrovOVHlqAob\\n5ql3SaPm8q1b+aC6GssgrtffHerMDCJ0Gg2vjR3LK2PHMmoARTUtGjaMv40YwWeN1Xz+uXTvPhN5\\nfzUElwv+/nfpddjbMtHjL7qR+SVWXNVlaKZN56hhR/GMfi1nTzyfGUNncNZbZ7GttoByuwbrr5vx\\nBSJQUk+/iJy1uyj+v/t47ds47Fm9z97tDpcLDDYfMRpN1B7O3RHO7XNo+qEU1xdz3efXcfa4s5mV\\nOYvrpl/HytKVzH9jPu9t7hr2GVb8Qfr9i4rkf0J9vXQB9YLEmERqnDXc9s1tDHtyGMOeHMaTK57s\\nct7X279mVsaskGNNTaCx+vjfzEymxsaycMgQLgwTsaQiUX3+Kv2OEIJj4uL4S1ERs2fDmDHw/PNd\\nkzrD8c03sqcIyGihM8/s+efqjz6WkhVfMu3Fabw4Zjoj40cyPX0618+8nhh9DPlV+SSaEyl+5Qiy\\n8nfScKyMnTTOO4XZC2FmqRf7wxfLOMr9hNMJBltHr9m+dPvMypzFL1eEZvTePPtmAJbtWMZlH17G\\nr3t+DXn9u53fceSwbkpA7AOxhljcPjfLipfx8HEPU+Ws4sddP/JHZCXW74u/Z1XZKtaWr2XeqHkh\\n721uBk2MjzOTkjjcbg93eZUgVPFXGRCkG400+Xw0er0kJ+uwWGR03/Bu9lE3bpR7g05n78pET0yd\\niEVvYXzKeIQQrLx8ZXvy24h4men9r2Qjs1fVsOXSQBhSXBze6dPQ1NXLLlb7EacT9LHS8tcKsU+W\\nf2fxj8bRw4/mzjl3srshtI3juePOZW723F6NoScIIUiMSSS/Kp/c1FxqnDUh1UL/svQvjEoYxfOn\\nPN8lwaupCYjxhi3hrNKVbsVfCDEPeBLZuOllRVEe6vR6PPAPYATQAixUFGVT4LVioBHwAR5FUWb0\\n6ehVDho0QjDSbKbQ5WJqbCxTpsgszdmzZfZvpBVAXh6ceKJMAO2N+Os0Oj44/wOmp8vmJOGynneN\\nSka/cjcxmR13Itsd9+2dmvYSpxN0Fj8WrRa9ovRa/M1m2b63tbXnFVQXTlnY/Un7gURzInua95Bi\\nScGsM1PS2PEfW1RbxEfnf0SqNRVFgWuvlV27vF75r3KzusnbU6KKvxBCCzwDHAeUAquEEB8pirI5\\n6LTbgLWKopwphBgDPBs4H0AB5iqKUtv3Q1c52Mgxm9nmdDI1NpbnnpP1/6+5RoZ+hgseARlV+Kc/\\nyZtDXl7vPve4EdFjSxsmjAJ2Ez9iXMfB4IYF+0hlpfye4Ta5pfj7iNFqMSpKrzd8heiw/g/gXn+v\\nSIpJQiu0JJgTiDXEUt5Ujl/x09TaRKuvlRSL/AJt+z3/+Y/MCtfp4FJb+OYtKl3pzvKfARQqilIM\\nIIR4AzgdCBb/scCDAIqibBVCZAshkhVFCZQLZOCXx1QZEMyy2VhWX8/5qalkZspWsw88EN2zEhsr\\nG8Q0Nka2/PfskVmvva2wcNs1r6PclUXCyK5F1fqCn36SBTXDWeVOJ2gtfmICUSv1Xi9XbN3KEyNH\\nYt3LeP+4OFi8GObN6+jCOBBJjEkkxZKCRmgw6ozEmeKodFRS3lTOiPgR7auzhgb5nc4OKpjq+F7N\\n6u0p3UX7DAWCnX4lgWPB/AosABBCzACGARmB1xRgqRBitRDiin0frsrBzPykJD6uqWGTw0FjO5Jd\\nxQAAGbJJREFUwMI97zxZZj7SIz9fujQyMuTPbdTWwsMPww03QHa2vE5vibenItavl2GMveSdd2TF\\nhyuvlIlbwaxYIbuadapgAEjxF2Zfe6jnkspKXi4v5+22Usx7wY03wpo1+7l/ch+QaE4k1doRpZNh\\ny6CksYSiuqKQgnKNjR3lfgDcfj8KYPgNlGMfCHR3i+xJm8sHgaeEEOuAjcA6pI8fYLaiKGVCiGTg\\nayHEFkVRfux8gbvvvrv9+dy5c5k7d24PPlblYGN0TAxH2u2ctGEDs+12lowb1/2bAgwdKruFrVgh\\n85PWrJE5RyecAB9/LH3D+0SnkhV7y0cfySimNWtkS9rgy330kaxHU1goIybffReuu07eMD79FMRR\\nPmI0OhL0ejY6HCxMS+OPhYU8tGsXL4wezdweJphdey2cdhrMmtX9uf1JUkwSqZYO8R+XPI7pL8ml\\nyt1z7m4/3tAQKv5NPunyOVg7d3333Xd89913fXY9oSiR9V0IcRhwt6Io8wI/3wr4O2/6dnrPDiBX\\nUZTmTsfvApoVRXms03El2hhUBh+bHA7OzMtj28yZ3Z67obmZo9atQwGSH5qEe4ONYcNkh8IFC+Di\\ni6VvOD5eWtH9lfNz3HHwl7/IplkvvBDav9hgkBvWY8fC66/LfKlVq+Rm98KFsPuMAo4ebeb6oUNp\\n8fsxa7XsbGnh+/p67tyxgzuzs1k4ZEjkDw/C75c3mNLSUOEcSDy2/DE2VG7g1TNeBWS2bjBt4v71\\n17L23tKl8nixy8Wc9evZOdDvbn2EEAJFUXp9p+vO8l8N5AghsoEy4Dzggk4DsAMuRVHcAdfO94qi\\nNAshYgCtoihNQggLcAJwT28HqjJ4GGM2U9raSqPX222T7ZWNjZyWlIRPUag/wcFXX9hoaZEW9rPP\\nynPMZukbLi/vUh/sgFFWJr1GWVnw1792ff3JJ+G++2Rtueuuk43IZ86Ep5+Gy7fIUE8hBObAZuYw\\nk4lLUlOp8Xh4rrS0x+Kv0cgVyJYt8vq9QVFkPpfPJ1csfT2n5084nxNcHaWgI1nynS1/tZzD3hHV\\nDlIUxQtcB3wJ5ANvKoqyWQhxlRDiqsBp44CNQogtwInADYHjqcCPQoj1wErgE0VRvtofX0Ll4EKn\\n0TDBYuHFsjJ+bW6Oeu5Gh4MpVivDTSayprVy9tmyneGnn0KwHg4fHt6nfqBoE/9IXHCBvCm8+qqM\\nXioogKOPhjqPhwKXqz3JKxghBKckJtKwl+GfY8fK6KLrr9/bbyH5739h0iSYP192C3v77d5dJxJD\\nbUPJTc3t9rzGRrmKaaPN7aPSM6K6fQ7IAFS3j0oY/lFezgfV1fzY0MC2GTNINhjCnnf0+vXclpVF\\nocvF+uZmFo8JX1r5ggsgN1dudh5o14/TKRuquFw9LwG0fLnsyvXv1t28UFbGBxMmMM5i6XJehdtN\\n7qpVVB5xRI/HU1Iia69deCE4HHtflujll+UN4J//lB3D7r9fjvdA8/gTCs+m5ZEyxoNXUWjwehlp\\nNvN5L0tL/NbY324fFZV+YeGQISwcMoSrtm7lxA0bGBohM+mXxkZyLRZa/X4+rqmJeL2TT5bulKOP\\nPvAbnuXl0urfG5Ftq4tWUeRmYVpaWOEHsGu1NOxl7H9GhnyAFP+25ic9pbBQ3phAhuM2dl+EMyq1\\ntbIsh9stuzl+8okMze2O6mYfu1Lq+PfISWiFQCcEGT3NYFNRxV9lYPPYyJEs61yRLIg/ZWSQZjSS\\n4XZ3aQ0ZzCWXyL4sBQUHXvzLykJdUHtDpcfDmChF+IwaDQqEdEXrKSkpUFXVO/E/5xz53G7fd/Hf\\nsEFe47nn4Nxz5c2y7eYSjSqnD7Nfx6yBunM9wFHFX2VAYw2Uoe6OTJOJ3VHEH2QZ+u3b+2pkPWfH\\njt53J6vspuuaEAK7TkeD10tKBNdYJFJSZHZxd/WTOhNs+dts+17loqhIFgGdNUtGafX0ZlLb4sWi\\nqD7+3qKWdFY5KEjQ6dACu1taury2vqmJkpYWRo6UQnOgycuDCb1MDq7yeLoV9e5cP4qisKulBW+n\\nBvDJyVL894a2SJ+2fi6xsbKaZg97y4cl+Hp7U4Cu1u3FKlT7tbeo4q9yUCCEYF5CAp/XyjJSZa2t\\n3FBQwFl5ecxZv57fb9my38R/xQq4+uqOx88/h76+L+Jf6XaT0k3XtTbLP5hGr5eXyspYXFbGOZs2\\nMWLFCl4oKws5p83tA1LUe7J10NQkz23ry6PVylBah6PHX6kLRUWhK4meWv4NXh82rSr+vUUVf5WD\\nhpMTE3lg506+qKnhjcpKNjkcHBsfz9JJk9je0kJOjoxyyciAN9/su899912orpbF5xITO0o4eL3y\\n0Z34K4rC6jCKpygKlT2w/G06XZdwz69qa3lo1y7WNjWRExPDnzIzqepUVyLY8l+8WLbf7Y49e7ru\\nX+yr3z/Y8t8b8a/3eInXq+LfW9SZUzloODs5mSqPh1u2b2eI0cg1Q4dyVnIybr+f0tZWklL8rFmj\\n4auvZMmHSPV+du2Sm449TYKqqJB1e37/e2kV//STtIbbSE2V9YUisaqpiRN+/ZW62bNDEpocAUG3\\ndBO7btdq22shtVHmdjMvIYFnRssuY0/u3k1xJ5dYSorcjAZ45RXYtKn7ks/l5ZDWqZFXm9+/t8le\\nvRX/Bp+XRLPq8+8tqvirHDQYNBquHzqUZ0tLWVZXx5JAAR2DRkOKwUCp201urgmdriP7t428PCl8\\nEybAU0/Jn7/8En75RQre6adH/tyKCinwIMM5v/8+9HWXz8dXdfUoQKrBwNRO5UV/bmykweej2uMJ\\nyWfY4HBE3extI5zbp6y1lfQgFY/T6ajvdE5mJixaJEsiG40yYeubb2RYbCTCWf7hBLu1VZZfCF6Q\\n6HSyomjwvay2Vu4XJCZ2XKunPv9mxUuyWZWw3qLOnMpBhUYIVkydSoPXS3yQcA43mdjhcjHMZGLM\\nGNlm9u675aOgQJZViIuT9Xc+/TTQGESR7pDGxp6Lfzjeq67mlu3bmWCxsKqxkQ9zc5kZG4suEJq5\\nIqCcBS4XyQYDLp8PvRCcnpfHYyNHRr5wAJtOxx63G0VR2lcO5W43hwSFiNrDiP+558q8B0WR4Z5L\\nlsi6Q9HEP5Ll31n8H3wQ3norNGTzl1/gtddknaM2Cgul1d+24Omp+Lvd4DH4SI5RJay3qDOnctCR\\noNeT0MlizjaZeKOykll2O0aNhrfekoJ+000yzvz442XG6333SSGzWKQ74uuvO8oytLZKK1WrlcXY\\n2uhO/Dc0N3PVkCHckZ3Nm5WVnLxhA00+X3vJXL0QHGazUehysbKxkQd37eLt8eNJMxi4tLPShsGk\\n0XDrjh18UlNDTkwMWmBdc3NI8/Jwlr8QoY1dLroI7r1XRvBMmSKLzHV25ZSXd2/5u93wzDMyC3h0\\nUG/7RYtg2bJQ8Q/e7AW5fxBcmjsStbVgSvQS16mVo0rPUTd8VQYFl6am8klNDcsDZuVxx8lyD+vX\\nS1/3+PEwd658fvnlsqLm1KkyumX3bti6Vd4QEhKkQLVtlPr9UJXQyN+aC/h/BfLxSyczOM/hIDeQ\\nSXVeSgoNRx6Jf+5clMDDPWcOJ8bH81ZlJQ/u2sUwk4kbCws5ti2kphtuzsxk+8yZ3JCRwVF2O8Ut\\nLWx0OEgPukPFhdkU7kxMjBTj0lI49FDZC6GkJPSxfXtXy99ulxve7d83T54TLPwgVxlffhkaVRTs\\n74ee+/xrasAQ78Wu1vLpNarlrzIoOC4hgRMSEihyuTg6UP9+2jRZ/TMvD844Q1rvN94oO4clJEgR\\nMhqlP3rLFnnD+OILee7SpXKlUFMD+uOrKHG3cEx8PCWtrVy5dSvrDj203QWT53AwoZt6BbPtdt6o\\nrOTZnBxSDAYW7djB+T3st5hkMJAEDA/sMsdotXxTXx/i8w/n9gmHwSAf998Pxx4Lhx0W+rpGI11j\\nnY9dc43cQzjlFFi3Tq4cOnPEEXJerdYOv39rqyxm10ZP3T41NaC1+bqt+qoSGXXmVAYNbQ3i25g+\\nXYp9SwvcdZc89vjjMlHs1xY305NkycjUVBki2ubuOOEE6Q6aPl2WjDCmuTkjKYnfDxmCoij8t6EB\\nTdCub4pez3CTKerYjktIYEtQeNH34dSzhxwfH88Ik4mEIGEM5/aJRkxM13yFaOeC3DOIJv5GI3z1\\nVdecgOD74t5Y/iLWi10V/16jzpzKoGGkycS7Qf6JSy6RJQV0OmhJc7Cmyc8Ei4WnSkrIczj4YtIk\\nVjU2Yj3BzcqVSe19b+fNg3vukT7tnBxIvdJNasDFIoTgv1On9sfXaydBr6eok8lu02pp8nrxKwqa\\nPu509eSTcPvt0s2Tni798d98E/n8aIugvRF/f6KHRFX8e406cyqDhpFmM9ucTopdLjKMRnRaDWPG\\nQIHTyfTVa4jT6fhzZiaf1NRQ6fGgKAovlJXhPMLHij8mMX++vM6IER0i98knMGV1h/gPVHQaDWat\\nlmZf37tKNBq5Otq5M9BwXht9AzwacXFyXrujqgo8GR4SexAKqxIedcNXZdAwOiaG4pYWJq9ezRMl\\nJe3HNzgcHB8fz5OjRvFSeTmNPh8WrZZCl4uv6uogtYWmJkgY4qPJ68Xl83HFFXJjWAio8HgGvPjD\\n3rt+9vr6cfKm2FvhB0hKklb97bfLgnPDh8u8i858vVSh1aiK/76gWv4qgwa7Tkf97Nm8W1XFvyoq\\n+HPgeNuG7Ny4ODY7ndw1bBjbXC4mr16NUaNBa2mFTAeXJq7C/LMWr6JQfPlhpBoM+BWFao+n2/o7\\nA4Fsk4lhK1a0/zzGbA7ZZxgIxMbKUNGlS2Vns5oa+OEHGXkEcs/gl19g7SY/Wo0I2+FMpWeo4q8y\\nqBBCcLjdztXbtrUnReU5HCxISiLFYOAvmZn8z9ChJOh0NPt86DUa4n/6CZHt5AhTPN8fNokFeXks\\nravjokAPXbtWi76/OsPvBT8G7cK6/X4sP/64X/YA9gUhpPWfny9rJdXUyAzkNu64Q2ZhP/yCh3vV\\nuj77hDp7KoOOdKOROJ2O7BUr0AhBWWsr9wSK7zwUFHQeFxD0NIOBWbc3E2OXoZMnxMfzVW0tU6xW\\nPq2p+U24fDpj0GiI1Wqp83oHnOskKUkmk6WmykiiIA8dhYWydWSJ0UPiloE17t8aqvirDEpWTZvW\\n7v/WC0FGlFDMLKORurRGcoyyJs+8hAQWFRfzU0MDk6xWrorWmX0Ak6LXU+l2D0jx1+shPl66gSoq\\nZGJYQ0NHHaBf6wfeTeu3hir+KoOSeL0+pPZPNEaYzbxfXc3pgY5i2WYz2SYTNR4P744fH1KJ87dE\\nisFApcfDWCCvuZltLhcLkpP7e1gkJckMYSHkTSApSRaUKy2VpSCEgBqPutm7r6jir6LSDdNiY3mt\\noiKkXMI16enUejy/WeGHDssf4J2qKt6squoX8W/0evnD1q24A+3ASuZaSN0xov31zEy5AVxW1lEH\\nqMajxvjvK+rsqah0w/RACeYhQeK/sLcd2QcQbZY/wEaHgy1OJ1udzqgN4/cHvzY3k+9w8NcRI6jz\\neLh+5A4OH57B2ibZk/m40808+6yUquuuk+/Z2dJC2m9wr2UgoYq/iko3TLZa0QJDonU5+Q0SbPlv\\ndDg4Lj6e1/bs4f4RI7p5Z99S6HIxLTaW05OSaPH5uNywjYL52zh3UzMeReG0sxNZdVtHlThFUXiv\\nupr/BPo1qPQOVfxVVLohRqvl28mTyTrYxN9g4N2qKl4uK2N3aysfTJjAUevWkWE0cnWUtlwNXi/P\\nlJbiUxRsWi3XDB3KZVu28JfMTCZ3alTTEwpdLkYFitKZtFrMWg36UU5eGTuWSo+Hl4J6D9+2fTsf\\n19QAcGgvPkulg4EfnKyiMgA4Ki7uN+3fD8cxcXFkm0wsb2xk0bBhjLNYeGzUKB7YtSvq+36or+ff\\nFRV4FYWPamoY/8svvFNVxT/27OnVOApdLnKC+l4mG/QUtThJMxjINBrZ3dra/tr71dXck53N8ilT\\nDrr/jwONavmrqAxSDrFY+Pshh4QcOyMpiesLCqK+r8Dl4oT4eO4dPpxWv59v6+qw63ScvGEDO1ta\\n0ArB/+XkMLSHK6Vgyx8gSa9nR0sLqQYDVq2WkoD4+xSFHS4X8xIS1MzePkC1/FVUVNqJ1Wpx+nz4\\nFCXiOQVBlrpRo+GkxEQOt9v5bOJEFg4ZQr3Xy7d1dT36PEVRwoq/TaslRqslSa/H6ffj9PnY3dJC\\nssGgCn8foVr+Kioq7WiEwKrV0tipB3Iw25xOzgjkPARzuN0OwFank+/q63H5/SE3EZ0QXJqWhjGo\\nFEa1x4NOiJDPStLr2yN5hBBkBFw/u1paQm4SKvuGKv4qKioh2HU6GqKIf4HLxegoIjzVauXm7dvZ\\n5nKFdDD7qraWIQYDpwbdODpb/RAq/gCZRiM3FxXR4POp4t+HqOKvoqISQrR+v16/n3K3m8wo/vyp\\nsbGk6PW8MW5ciN//gZ07+aa+PkT8CyKIf3C9pL+NGMG6piaA9hacKvuOKv4qKiohROv3W+HxkKTX\\no4tSxTRBr6d01qwu5xwXH8/Fmzdz+ZAhGAOROqubmrqI/yybLcTyn2mzMdNm6+3XUYmAKv4qKioh\\ntLl9wlHW2hpS5iIS4W4O02NjOT0xkdM3bgw5/tzo0SE/Hx0fz9F7MV6V3qGKv4qKSghxUcS/3O0O\\nKXOxN2iE4NFRo3i0rUCPSr+ihnqqqKiEYNdqo4v/QZbpPFjpVvyFEPOEEFuEEAVCiJvDvB4vhHhf\\nCPGrEGKlEGJ8T9+roqIy8Ijm8y/vodtHZeATVfyFEFrgGWAeMA64QAjRuZrSbcBaRVEmAZcCT+3F\\newck3333XX8PISwDcVzqmHrGb2lM9ijRPmX74PbpKb+lufot053lPwMoVBSlWFEUD/AGcHqnc8YC\\nywAURdkKZAshUnr43gHJQP2PHojjUsfUM35LY5pgsfDvigrWBsIr23h1zx6WVFSQFaXr2f4cV38y\\nEMe0r3S34TsU2B30cwkws9M5vwILgJ+EEDOAYUBGD9+roqIywDg5MZH7hw/niq1buSkzE5BlGG7Z\\nvp2PcnOZGxfXzyNU6Qu6E//IBT46eBB4SgixDtgIrAN8PXyviorKAOSytDS2OZ18FiifDHBTRgbH\\nqElWBw1CiVLASQhxGHC3oijzAj/fCvgVRXkoynt2ALnAhJ68Vwih3iRUVFRUeoGiKL2ua92d5b8a\\nyBFCZANlwHnABcEnCCHsgEtRFLcQ4grge0VRmoUQ3b53XwevoqKiotI7ooq/oiheIcR1wJeAFvi7\\noiibhRBXBV5fjIzkeSVgwecBf4j23v33VVRUVFRUekpUt4+KioqKysFJv2b4DpQkMCFEsRBigxBi\\nnRDil8CxBCHE10KIbUKIr4QQ+zXEQQjxDyFEhRBiY9CxiGMQQtwamLctQogTDuCY7hZClATmap0Q\\n4qQDPKZMIcQyIcQmIUSeEOL/BY7321xFGVN/z5UpkHi5XgiRL4T4W+B4f85VpDH161wFPkcb+OyP\\nAz/3699fhDH13TwpitIvD6QrqBDIBvTAemBsP41lB5DQ6djDwF8Cz28GHtzPYzgSmAJs7G4MSFfb\\n+sC8ZQfmUXOAxnQXcFOYcw/UmNKAyYHnVmArMtek3+Yqypj6da4CnxUT+FcHrABmD4Dfq3BjGghz\\ndRPwH+CjwM/9Ok8RxtRn89Sflv9ASwLrvPE8H3g18PxV4Iz9+eGKovwIdO59F2kMpwOvK4riURSl\\nGPkfPeMAjQm6ztWBHNMeRVHWB543A5uROSX9NldRxgT9OFeB8TgDTw1Ig6uO/v+9Cjcm6Me5EkJk\\nACcDLweNo1/nKcKYBH00T/0p/uGSwIZGOHd/owBLhRCrAxFLAKmKolQEnlcAqf0wrkhjSEfOVxsH\\neu6uF7KW09+DlsIHfExCRpJNAVYyQOYqaEwrAof6da6EEBohxHrknCxTFGUT/TxXEcYE/TtXTwB/\\nBvxBx/r7dyrcmBT6aJ76U/wH0k7zEYqiTAFOAq4VQhwZ/KIi11X9Ot4ejOFAje95YDgwGSgHHoty\\n7n4bkxDCCrwL3KAoSkgdgv6aq8CY3gmMqZkBMFeKovgVRZmMzLo/SghxdKfXD/hchRnTXPpxroQQ\\npwKViqKsI7xVfcDnKcqY+mye+lP8S4HMoJ8zCb1zHTAURSkP/FsFvI9cLlUIIdIAhBBDgMp+GFqk\\nMXSeu4zAsf2OoiiVSgDkcrRtaXnAxiSE0COF/zVFUT4IHO7XuQoa07/bxjQQ5qoNRVEagE+BaQyQ\\n36ugMR3az3N1ODBfyATV14FjhBCv0b/zFG5M/+rTedofmxQ9eSA3e4qQmxMG+mnDF4gBYgPPLcB/\\ngROQmz03B47fwn7e8A18TjZdN3y7jIGOzR0D0gooIhC2ewDGNCTo+Y3AkgM5JqQV9C/giU7H+22u\\nooypv+cqCYgLPDcDPwDH9vNcRRpTWn/OVdBnzwE+7u/fqShj6rPfqf0y2L34UichIyMKgVv7aQzD\\nA5O2HpmkdmvgeAKwFNgGfNX2C7sfx/E6MhPajdwLuSzaGJCltAuBLcCJB2hMCwMitwFZ0O8DpF/0\\nQI5pNtIHuh5ZR2odsmx4v81VhDGdNADmKhdYGxjXBuDP3f1uH4C5ijSmfp2roM+aQ0dkTb/+/QV9\\n1tygMb3WV/OkJnmpqKioDELUNo4qKioqgxBV/FVUVFQGIar4q6ioqAxCVPFXUVFRGYSo4q+ioqIy\\nCFHFX0VFRWUQooq/ioqKyiBEFX8VFRWVQcj/BwK0FfqDtsL7AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1339154e0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/TF-FIN-1-singlestock_regresion.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas_datareader.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'google', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Close']\\n\",\n    \"    #prices=np.asarray(list(prices))\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"    return (prices-prices.shift(-1))/prices\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# separate data into inputs and outputs for training and testing\\n\",\n    \"gs = get_prices('GS')\\n\",\n    \"rets = get_returns(gs)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[-0.01878741 -0.00407213 -0.00961761 ..., -0.01028454  0.00316706\\n\",\n      \"   0.00487916]\\n\",\n      \" [-0.00407213 -0.00961761  0.00430391 ...,  0.00316706  0.00487916\\n\",\n      \"  -0.00313569]\\n\",\n      \" [-0.00961761  0.00430391  0.02086335 ...,  0.00487916 -0.00313569\\n\",\n      \"   0.00233021]\\n\",\n      \" ..., \\n\",\n      \" [ 0.02340544  0.01234632 -0.00929671 ...,  0.01533878  0.00102993\\n\",\n      \"   0.03080095]\\n\",\n      \" [ 0.01234632 -0.00929671  0.00827435 ...,  0.00102993  0.03080095\\n\",\n      \"   0.0008643 ]\\n\",\n      \" [-0.00929671  0.00827435 -0.01621451 ...,  0.03080095  0.0008643\\n\",\n      \"  -0.01277615]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(test_ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# we define two placeholders for our input and output\\n\",\n    \"x = tf.placeholder(tf.float32, [None, 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None, 1])\\n\",\n    \"\\n\",\n    \"# we define trainable variables for our model\\n\",\n    \"W = tf.Variable(tf.random_normal([100, 1]))\\n\",\n    \"b = tf.Variable(tf.random_normal([1]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b\\n\",\n    \"\\n\",\n    \"#MSE:\\n\",\n    \"cost = tf.reduce_sum(tf.pow(y-y_, 2))/(2*1000)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 1000 cost= 0.014585411\\n\",\n      \"Epoch: 2000 cost= 0.004562563\\n\",\n      \"Epoch: 3000 cost= 0.001888341\\n\",\n      \"Epoch: 4000 cost= 0.001065421\\n\",\n      \"Epoch: 5000 cost= 0.000789276\\n\",\n      \"Epoch: 6000 cost= 0.000691074\\n\",\n      \"Epoch: 7000 cost= 0.000654672\\n\",\n      \"Epoch: 8000 cost= 0.000640742\\n\",\n      \"Epoch: 9000 cost= 0.000635271\\n\",\n      \"Epoch: 10000 cost= 0.000633075\\n\",\n      \"Epoch: 11000 cost= 0.000632177\\n\",\n      \"Epoch: 12000 cost= 0.000631803\\n\",\n      \"Epoch: 13000 cost= 0.000631645\\n\",\n      \"Epoch: 14000 cost= 0.000631578\\n\",\n      \"Epoch: 15000 cost= 0.000631548\\n\",\n      \"Epoch: 16000 cost= 0.000631535\\n\",\n      \"Epoch: 17000 cost= 0.000631530\\n\",\n      \"Epoch: 18000 cost= 0.000631527\\n\",\n      \"Epoch: 19000 cost= 0.000631526\\n\",\n      \"Epoch: 20000 cost= 0.000631526\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.global_variables_initializer()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        c = sess.run(cost, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(c))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x115a74a20>]\"\n      ]\n     },\n     \"execution_count\": 34,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x108011be0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#train results :)\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: train_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position.reshape(-1) * train_outs\\n\",\n    \"plot(np.cumprod(returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 35,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x115c17710>]\"\n      ]\n     },\n     \"execution_count\": 35,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nRK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1159fc828>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#test results :(\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: test_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position.reshape(-1) * test_outs\\n\",\n    \"plot(np.cumprod(returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 1\n}\n"
  },
  {
    "path": "notebooks/TF-FIN-2-multistock_regresion.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas_datareader.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# we modify this data organizing slightly to get two symbols\\n\",\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'google', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# once again I only make slight modifications\\n\",\n    \"\\n\",\n    \"# define placeholders \\n\",\n    \"x = tf.placeholder(tf.float32, [None, len(symbol_list) * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None, len(symbol_list)])\\n\",\n    \"\\n\",\n    \"# define trainable variables\\n\",\n    \"W = tf.Variable(tf.random_normal([len(symbol_list) * 100, len(symbol_list)]))\\n\",\n    \"b = tf.Variable(tf.random_normal([len(symbol_list)]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b\\n\",\n    \"\\n\",\n    \"#MSE:\\n\",\n    \"cost = tf.reduce_sum(tf.pow(y-y_, 2))/(2*1000)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 1000 cost= 0.072743751\\n\",\n      \"Epoch: 2000 cost= 0.050064877\\n\",\n      \"Epoch: 3000 cost= 0.043570619\\n\",\n      \"Epoch: 4000 cost= 0.041413590\\n\",\n      \"Epoch: 5000 cost= 0.040621527\\n\",\n      \"Epoch: 6000 cost= 0.040309947\\n\",\n      \"Epoch: 7000 cost= 0.040181138\\n\",\n      \"Epoch: 8000 cost= 0.040125798\\n\",\n      \"Epoch: 9000 cost= 0.040101122\\n\",\n      \"Epoch: 10000 cost= 0.040089916\\n\",\n      \"Epoch: 11000 cost= 0.040084537\\n\",\n      \"Epoch: 12000 cost= 0.040081933\\n\",\n      \"Epoch: 13000 cost= 0.040080719\\n\",\n      \"Epoch: 14000 cost= 0.040080082\\n\",\n      \"Epoch: 15000 cost= 0.040079705\\n\",\n      \"Epoch: 16000 cost= 0.040079582\\n\",\n      \"Epoch: 17000 cost= 0.040079467\\n\",\n      \"Epoch: 18000 cost= 0.040079460\\n\",\n      \"Epoch: 19000 cost= 0.040079404\\n\",\n      \"Epoch: 20000 cost= 0.040079389\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.global_variables_initializer()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        c = sess.run(cost, feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(c))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x11553bf98>]\"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x111e957f0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#train results\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: train_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position * train_outs\\n\",\n    \"daily_returns = sum(returns,1)\\n\",\n    \"plot(np.cumprod(daily_returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1157e8fd0>]\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1062e56a0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#test results\\n\",\n    \"predict = y\\n\",\n    \"p = sess.run(predict, feed_dict={x: test_ins})\\n\",\n    \"position = 2*((p>0)-.5)\\n\",\n    \"returns= position * test_outs\\n\",\n    \"daily_returns = sum(returns,1)\\n\",\n    \"plot(np.cumprod(daily_returns+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 1\n}\n"
  },
  {
    "path": "notebooks/TF-FIN-3-regression_with_policy_training.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas_datareader.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'google', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs (this is new but not specific to PG; you should always normalize inputs)\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"num_positions = 3\\n\",\n    \"\\n\",\n    \"x = tf.placeholder(tf.float32, [None, len(symbol_list) * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  len(symbol_list)])\\n\",\n    \"\\n\",\n    \"W = tf.Variable(tf.random_normal([len(symbol_list) * 100, num_positions * len(symbol_list)]))\\n\",\n    \"b = tf.Variable(tf.random_normal([num_positions * len(symbol_list)]))\\n\",\n    \"\\n\",\n    \"# we define our model: y = W*x + b\\n\",\n    \"y = tf.matmul(x, W) + b # y is tensor of shape [num_inputs, num_positions * len(symbol_list)]\\n\",\n    \"# a row of y will look like [prob_symbol_1_short, prob_symbol_1_neutral, prob_symbol_1_long, prob_symbol_2_short, ...]\\n\",\n    \"# note that they are not really probabilities because I did not perform a softmax yet\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# loop through symbols, taking the buckets for one symbol at a time\\n\",\n    \"pos = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(len(symbol_list)):\\n\",\n    \"    # ISOLATE the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # SAMPLE probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), 1)\\n\",\n    \"    pos[i] = tf.reshape(sample, [-1]) - 1   # choose(-1,0,1)\\n\",\n    \"    # GET RETURNS by multiplying the policy (position taken) by the target return for that day\\n\",\n    \"    symbol_returns[i] = tf.multiply(tf.cast(pos[i], float32),  y_[:,i])\\n\",\n    \"    # isolate the output probability the selected policy (for use in calculating gradient)\\n\",\n    \"    #    see https://github.com/tensorflow/tensorflow/issues/206 for TF discussion including my solution\\n\",\n    \"    sample_mask = tf.reshape(tf.one_hot(sample, 3), [-1,3])\\n\",\n    \"    relevant_target_column[i] = tf.reduce_sum(symbol_probs_softmax * sample_mask,1)\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"# calculate the PERFORMANCE METRICS for the data chosen\\n\",\n    \"daily_returns_by_symbol = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in symbol_returns.values()]) \\n\",\n    \"daily_returns = tf.reduce_sum(daily_returns_by_symbol,1)/2\\n\",\n    \"total_return = tf.reduce_prod(daily_returns + 1)\\n\",\n    \"ann_vol = tf.multiply(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns)),2))) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = total_return / ann_vol\\n\",\n    \"\\n\",\n    \"# since we only train the sampled classes, we will combine them so that we can feed them into cross entropy\\n\",\n    \"training_target_cols = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"# we want to either push the gradient toward our selection or away from it. We use these ones to find the direction\\n\",\n    \"#     of the gradient, which we will then multiply by our fitness function\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"\\n\",\n    \"# this isnt actually a gradient, but karpathy sort of calls it one. Since it's a tensor it sort of is a gradient anyway\\n\",\n    \"gradient = tf.nn.sigmoid_cross_entropy_with_logits(labels=training_target_cols, logits=ones) ####should this be a prob???\\n\",\n    \"\\n\",\n    \"# COST\\n\",\n    \"# how should we do this step? it depends how we want to group our results. Choose your own adventure here by uncommenting a cost fn\\n\",\n    \"# this is the most obvious: we push each weight to what works or not. Try it out...we're gonna be RICH!!!! oh, wait...\\n\",\n    \"#cost = tf.multiply(gradient , daily_returns_by_symbol)\\n\",\n    \"# this takes the overall daily return and pushes the weights so that the overall day wins. Again, it overfits enormously\\n\",\n    \"cost = tf.multiply(gradient , tf.reshape(daily_returns,[-1,1]))\\n\",\n    \"# this multiplies every gradient by the overall return. If the strategy won for the past ten years, we do more of it and vice versa\\n\",\n    \"#cost = tf.multiply(gradient , total_return)\\n\",\n    \"\\n\",\n    \"# minimize the cost (push the weights where we want them to go)\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.1).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 1000 cost= 23840.125000000 total return= 23839.125000000\\n\",\n      \"Epoch: 2000 cost= 154422.281250000 total return= 154421.281250000\\n\",\n      \"Epoch: 3000 cost= 421916.937500000 total return= 421915.937500000\\n\",\n      \"Epoch: 4000 cost= 504377.406250000 total return= 504376.406250000\\n\",\n      \"Epoch: 5000 cost= 854653.875000000 total return= 854652.875000000\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"init = tf.global_variables_initializer()\\n\",\n    \"sess.run(init)\\n\",\n    \"for epoch in range(5000):\\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"    if (epoch+1)%1000== 0:\\n\",\n    \"        c,t = sess.run([cost, total_return], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(t), \\\"total return=\\\", \\\"{:.9f}\\\".format(t-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x10647ad30>]\"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x111fe8748>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x10821a4e0>]\"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x106463a20>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 1\n}\n"
  },
  {
    "path": "notebooks/TF-FIN-4-stochastic_gradient_descent.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas_datareader.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'google', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) \\n\",\n    \"num_positions = 3\\n\",\n    \"\\n\",\n    \"x = tf.placeholder(tf.float32, [None, len(symbol_list) * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  len(symbol_list)])\\n\",\n    \"\\n\",\n    \"W = tf.Variable(tf.random_normal([len(symbol_list) * 100, num_positions * len(symbol_list)]))\\n\",\n    \"b = tf.Variable(tf.random_normal([num_positions * len(symbol_list)]))\\n\",\n    \"\\n\",\n    \"y = tf.matmul(x, W) + b \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"pos = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(len(symbol_list)):\\n\",\n    \"    # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # sample probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), 1)#sample = tf.argmax(symbol_probs_softmax, 1) #use a real sample\\n\",\n    \"    pos[i] = tf.reshape(sample, [-1]) - 1   # choose(-1,0,1)\\n\",\n    \"    # get returns by multiplying the policy (position taken) by the target return for that day\\n\",\n    \"    symbol_returns[i] = tf.multiply(tf.cast(pos[i], float32),  y_[:,i])\\n\",\n    \"    # isolate the probability of the selected policy (for use in calculating gradient)\\n\",\n    \"    sample_mask = tf.reshape(tf.one_hot(sample, 3), [-1,3])\\n\",\n    \"    relevant_target_column[i] = tf.reduce_sum(symbol_probs_softmax * sample_mask,1) # should be relevant to SAMPLE\\n\",\n    \"    \\n\",\n    \"# calculate the PERFORMANCE METRICS for the data chosen\\n\",\n    \"daily_returns_by_symbol = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"daily_returns = tf.reduce_sum(daily_returns_by_symbol,1)/2\\n\",\n    \"total_return = tf.reduce_prod(daily_returns + 1)\\n\",\n    \"ann_vol = tf.multiply(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns)),2))) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = total_return / ann_vol\\n\",\n    \"\\n\",\n    \"# CROSS ENTROPY\\n\",\n    \"training_target_cols = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"gradient = tf.nn.sigmoid_cross_entropy_with_logits(labels=training_target_cols, logits=ones)\\n\",\n    \"\\n\",\n    \"# COST\\n\",\n    \"# how should we do this step? it depends how we want to group our results. Choose your own adventure here by uncommenting a cost fn\\n\",\n    \"# this is the most obvious: we push each weight to what works or not. Try it out...we're gonna be RICH!!!! oh, wait...\\n\",\n    \"#cost = tf.multiply(gradient , daily_returns_by_symbol)\\n\",\n    \"# this takes the overall daily return and pushes the weights so that the overall day wins. Again, it overfits enormously\\n\",\n    \"#cost = tf.multiply(gradient , tf.reshape(daily_returns,[-1,1]))\\n\",\n    \"# this multiplies every gradient by the overall return. If the strategy won for the past ten years, we do more of it and vice versa\\n\",\n    \"cost = tf.multiply(gradient , total_return)\\n\",\n    \"costfn = tf.reduce_mean(cost)\\n\",\n    \"\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.005).minimize(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 5000 cost= 1.534477353 total return= 3.222245216\\n\",\n      \"Epoch: 10000 cost= 1.159810066 total return= 2.412446499\\n\",\n      \"Epoch: 15000 cost= 1.416095734 total return= 3.252466679\\n\",\n      \"Epoch: 20000 cost= 1.337784767 total return= 3.069759846\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.global_variables_initializer()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(20000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,20)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins[start:end], y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%5000== 0:\\n\",\n    \"        c,t = sess.run([costfn, total_return], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\", \\\"{:.9f}\\\".format(c), \\\"total return=\\\", \\\"{:.9f}\\\".format(t-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1154de048>]\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VNX9//HXyZ6QhQBhX8Iim4AsAQXcxQ3r0tbWvVqt\\n9lurtbXLj6qtWm21rVttqy11rRW1VqxWXBAVQVAwLLIvYSdsAbJA9uX8/pibyUzWSWYymZm8n49H\\nHty5c2fmk8vkPWfOPfdcY61FRETCX1RHFyAiIoGhQBcRiRAKdBGRCKFAFxGJEAp0EZEIoUAXEYkQ\\nCnQRkQihQBcRiRAKdBGRCBETzBfr0aOHzczMDOZLioiEvRUrVhy21ma0tF1QAz0zM5Ps7OxgvqSI\\nSNgzxuzyZTt1uYiIRAgFuohIhFCgi4hECAW6iEiEUKCLiEQIBbqISIRQoIuIRAgFukg7eGfNPgpK\\nKjq6DOlkFOgiAZZbUMptc1Zx25xVHV2KdDIKdJEAK6+sBmBvfkkHVyKdjQJdJMCMMQDYDq5DOh8F\\nukiAGedfq0SXIFOgiwSY00DHqo0uQaZAFwkw47TR1UKXYFOgiwSYu4WuQJcgU6CLBJiCXDqKAl0k\\nwGqcRM8tKMUq3SWIFOgiAVbtEeJ7jpZ2YCXS2SjQRQLMs1Ve6pxkJBIMCnSRAKvx6GUpr1KgS/C0\\nGOjGmOeMMYeMMes81nUzxnxojNnq/JvevmWKhI8ajxZ6RVVNB1YinY0vLfQXgAvqrZsFfGStPQH4\\nyLktIkCNR4aXK9AliFoMdGvtIuBovdWXAi86yy8ClwW4LpGw89WeAlbsOurVQleXiwRTW/vQe1lr\\n9zvLB4BeTW1ojLnFGJNtjMnOy8tr48uJhL5L/7qEbz79udc49PJKtdAlePw+KGpdh/SbHGxrrZ1t\\nrc2y1mZlZGT4+3IiIa+iuq5Vri4XCaa2BvpBY0wfAOffQ4ErSSQ8rN1bSOaseeQcOu61/lBRuXtZ\\nXS4STG0N9LeB653l64G3AlOOSPh4c1UuAOc9/ikrd+e7128+eMy9rFEuEky+DFt8BfgcGGGM2WuM\\nuQl4GDjXGLMVmOHcFulUaifhqrHwjaeWutc/sWCre3nV7oJglyWdWExLG1hrr2rirnMCXItIWHnp\\n810tbjN3VS6PXTE+CNWI6ExRkTarqG65O2Vgt6QgVCLiokAX8ZHXHC0VroOdN0zLbHL7/umJdOsS\\n195libgp0EV8sOtIMSfe+wFvf7UPgNyCEgAmDOza5GPG9E2juLwqKPWJgAJdxCe5+aWUVFTzo1dW\\nYa2lsLQSgK5JdS3w2oOkALHRhuSEGAW6BJUCXcQHMdF1fyrvrTtAUakrqNMSY0mJd40t6J2awLcm\\n9QcgOsqQHB/DMQW6BJECXcQHnq3vW19eyTOfbQcgNSGGG6ZnAhAfE0V8rOtPKiYqii7x0RSXV+mq\\nRRI0CnQRH9TP5CU5RwBITYx1d7tUVlviY6IBiIk2JMXFUGN1+r8EjwJdxA+pCbGkJ8UCrqsTRUe5\\nmvIFJZXEOd00n2zSzBgSHAp0kTa6cExv4mKi6J2aAEB+SQV7jpa474+NdoX7D15e2SH1SeejQBfx\\nQW0/+PdOHexe9/S1kwAY4Jw8ZC3cfvYJDOiWyMc/PYM4p/tFJFhaPPVfROqcPbInX5/Yj/ziSve6\\nvl0TAZg6pDuj+6ay+BdnA5C9q27CLmstxvPIqkg7UKCLtNKJfdO8bkdHGRbceQa90xK81ldVe165\\nqIaEWLXYpX2py0UkAIb1TCY53rt9VOkx18u2vOP1HyIScAp0ER+0ZST5qSf0cC8vyTkcuGJEmqBA\\nF2mNVnSDD81IZvvvZgJQXK4rF0n7U6CLtKMoZ1z6nz7airUWay1vrNhLWaUCXgJPB0VFfBCIs/c/\\n336EqmrLT1//inX7Crn34hP9f1IRD2qhi7SCaU2fSz0FJZV878VsAPYXlAWqJBE3BbpIkDz03kb3\\nVY6qajRhlwSeAl0kSPYcLXUvV9c0nLCrrLKawpLKButFfKVAF/GBbdPARZehGV0arKtu5OnueHUV\\nJ/1mPtVqvUsbKdBFWqEtZ+8/+u3xDdZtOXCswboP1h8EoKhUrXRpGwW6SDurfwYpwIGiMkoqGr+a\\nUVmVhjRK2yjQRXzhRy9Iz9T4RteXVTZ+4Yum1ou0RIEu0gptGbSYEh/DzacNZu6t07zWVzRxJaPy\\ndmihv7U6l8xZ85r8ViCRQScWibQzYwx3XzS6wfqmgrs9WuiPzN8MQN6xcgZ11599pFILXaSDeF5r\\n1PNC0vsLSvnJa6sZdte7AXutyirX82v8e2TTR7WID9ojBss9WuJFZXVdIQeLynhzVW5AXsNay+fb\\njnDwmOvM1BJNEhbR1EIXaQV/rzo0xGNMuudolic/2upermxskHobLd12hKufWeaei6ZYfegRTYEu\\nEkSvf38qv7hgBODdQo+NrvtTrPC4MIbnRTLaYn+h95wxngdFP9xwkGcWb/fr+SW0KNBFfBCI2RYB\\nuifHc+ow14UvPA+Kdomruzzd3vy6KQIOFvk3iVd+cYXX7RtfyCa/uIKb/5nNzf/M5sF5G/16fgkt\\nfgW6MeYnxpj1xph1xphXjDEJLT9KJHwF4jrPtdcW9RzNkl9SSZe4aKKjDHvzS9zrdx0pafD41jhc\\nXN5g3Rl//IQPNxx03x5xz3vkHGp45qqEnzYHujGmH/AjIMtaOwaIBq4MVGEikSo+xvVn99bqugOf\\nBaUVdE2Ko7rGsnhr3eXqrnlmmV/dLkeOu1rokwalu9d5HoAF12ibZTuOtvk1JHT42+USAyQaY2KA\\nJGCf/yWJRLbaFvr8DQepcsK6oKSSrkmxjW7//JIdbX6tvGPljOmXyhs/mNbsdpoQLDK0OdCttbnA\\nI8BuYD9QaK2dH6jCREKJP7Mt1pfo0V++66irSyW/pIL0pLhGt0+Ka/vo4h2HixnUveFsj/X9+q31\\nfLolr82vI6HBny6XdOBSYDDQF+hijLm2ke1uMcZkG2Oy8/L0hpHwFoAudJJi6wLd4Do4ump3AfEx\\nUcwY1avB9gke27fW0eIKeqW4Dm2t+tW5XvfVf63rn1ve5teR0OBPl8sMYIe1Ns9aWwnMBRp8r7PW\\nzrbWZllrszIyMvx4OZHIEOMxRLG8qoYXluwE4KNNh+idVjeR18yxvYGm53xpSU2N5Xh5FckJrhZ+\\nepe6bwCPX3ESsy4c6bW950gbCU/+BPpu4BRjTJJxnW1xDqAxUBKRAjVssb78kgqOl9cdpEz0aI0/\\neNlYACraOFlX7UlEKR7T935jQj8A4mOiGdYzmT9fNcF9X69UDVILd/70oS8D/gOsBNY6zzU7QHWJ\\nhKRADFsE3EF69T+W8eePc9zrEj36y+Oc0TCfbz/Sptcodk7zr22hA9zztdF8Z+ogzh7ZE4CLT+rL\\nbWcNA7zPYpXw5NcoF2vtvdbakdbaMdba66y1DQe9ikgDtUMXPZ07uhdJTrfHVVMGuLf5YP1B7nxt\\nNUfrnSTUkuPlrisfdfFooXfrEsdvLh3j1S//s/NHMDkz3f0BIOFLZ4qKdIBzRzc8+BkXHeU+6BoX\\nHUVsdJR7/PjcVblMfOBDXvtyt8+vMd85eSjKh28VSXExmuclAijQRXwQ6C50YwwXje3jtS4qyjCq\\nTyoAl4x39XXfMC3Ta5v/98Zan19j4WbXqLIhPZJb3DY5PoYjxyvYebjY5+eX0KNAF2mVAHWiA/PW\\n7m+w7vThGWz73Ux3yzw1sfGTjXyR2T2JlPgYRvdNbXHb3mkJ5BaUcuYjC1m1O7/NrykdS4EuEgJu\\nnD7YvRzt0UeS5MdQwn9n7+VYuW/dKFdMHsBZI1zDip9auI3NBzS3SzhSoIv4wLbDuMXaaXQBfn1x\\nw0vUgfcwxmlDuwNQVtnywctiJ8jPP7FhX31jhvdK4fnvTgFc0+qe/8SidvmdpX0p0EVaIVDDFgEu\\nn9i/xW08pwk4xzmzs6CkstFtrbU8v2QHx8oq2VfgmoK3sTNPffXu2gNtfqx0DF2CTqSDxDUydLE+\\nzxZ6nzTXiT9zlu1iQLckvpU1wGvbL7Yf5f7/beC9tQdYt68QgHH9u7a5vkVb8rhoXJ+WN5SQoUAX\\n6SC+BLpnH3p359T9J50Tkc4f05sVu/I5a4TrJKHaCcSW76ybCrd3K8/+NMZ1VuwJPZM5Vt74NwEJ\\nXQp0ER+0R29yXHTLge55AlBavel1x93nmtx0wZ1nMKxncqPTE6Qmtu5PfMGdZ1BcXsX9/9tAUanG\\npYcbBbpIKwSwC91rkq6meJ5ROrhH46fm55e4ziAtqfA+WLrsrnNafVHroRmuMeupCTEcaeWZqdLx\\ndFBUpION65/W5H2egRwfE83wXg1PEqqd3KugpC6Ax/VP82uyLWMMa/YWaqRLmFELXcQX7ZRrmx64\\nwGvceWPunjmKpHhX18srN5/CwaJy/vLJVvcolKPOZeb2FbguKB0fE8X3Tx/qV10fbzoEwPbDxe5W\\nu4Q+tdBFWqG1XRgtSYiNJraFrpebTx/CNScPAqB7cjyj+6by1DWT3Pf//v1NAKzNLWRIRhc2P3ih\\n36NTfvv1MQBs2FfE159aQs6h4349nwSHAl0kTL1z+6kAHDrmmuS0oKSi1aNamjJtaA8AHnp3I6t2\\nFzDjsU8D8rzSvhToImFqTL80Th7cDYB9BaVk78r3a6oAT7UfDPsKywLyfBIcCnQRHwTyItGBtGyH\\na8z5LS9lA66LQgdCYiMfDL5MOSAdS4Eu0gqB7UEPnHW5RQBefeuBMrJ3CgBr9hY2ev9xHycAk/an\\nQBcJY9edMsjr9ggnfAOpdhKxb//98wZT6y7bfoQx937AAudiGtKxFOgiPgjV4dgPXDbGvRzjy6WJ\\nWmHBnWfw5q3TGNuvbj6YR+ZvBmBb3nEyZ83jitlfALD5oKbbDQUKdJFWCPCoxYCae+u0gD7fsJ7J\\nTBiYTkZKPE86F7WuvfrRU59s89o20B8m0jYKdJEwVzvS5cS+TZ9x6q+ZY3oDkJEST96xct5Yudfr\\n/lIdMA0JOlNUJMw9e8NkSiqqWjzj1B8x0VHEx0Tx2IdbeOzDLQ3uV6CHBrXQRXwQqn3o4LrAc8+U\\nwJxQ1Jzyqhqv23+/bhI7H76I9KRY/v7pdkoqNNqloynQRVrBhOzAxeCbMNB1sDTfuYLSmHs/6Mhy\\nBAW6iPgos3uS1+2kOFeP7e1nDwOgJoS/xXQW6kMX8YGyCh6/YjyLtx5mRO8U/vbpNpKci2/89LwR\\n7C8sY0nO4Q6uUBToIq0QysMW29uEgelMGJgOwPkn9va6Ly0xlv2FZWTOmsec753MtGE9OqLETk9d\\nLiLit0yPqyk9t2RnxxXSySnQRcRvl0/s715OS4zlrdW5fLSxbjqAgpIK5izbTVV1TWMPlwBRoIv4\\nQJdia15iXDRzb51G37QECksruePV1dz0YjbPfraDiqoaXvtyD3e9uZbXV+xt+cmkzdSHLiIBMXFg\\nOsN6pbDAo2X+wDsbeOCdDSTEutqOv5y7lqumDATqpuNNiA3MHO6iFrqIBNAk56BpfWWVdV0ttd92\\nvvHUUiY/uCAodXUWfgW6MaarMeY/xphNxpiNxpipgSpMJJSow8U3Ewd1JTba8IdvjuPdH53GJSf1\\nbbBN7SXzNuwv4lh5la5XGkD+drn8CXjfWnu5MSYOSGrpASLhrDMPW/TFaSdksPmBC4ly5pV58qoJ\\nvP3VPq9ttucVM99j/vTPtx9hWM/koNYZqdrcQjfGpAGnA88CWGsrrLUFgSpMRMJTVL1Jwv5ytWvq\\n3Ze/dzIAa3ML+NV/17nv/9V/1/HJpkPBKzCC+dPlMhjIA543xqwyxjxjjOlSfyNjzC3GmGxjTHZe\\nXp4fLyci4ehr4/qy8+GLmD6sBz2S4/ndu5sAGNErhZR4VyfBd1/4krVNXOIu71g5e/NLglZvOPMn\\n0GOAicDT1toJQDEwq/5G1trZ1tosa21WRkaGHy8n0nE0ajEweiTHuZef++5k/nTVePfti//yGW+u\\najiscfrDH3Pq7z8JSn3hzp9A3wvstdYuc27/B1fAi0Qszbbon00H6i5V169rIgO7eR92W7i54bf4\\nCudkpFA5F2B73nEKnRkmQ02bA91aewDYY4wZ4aw6B9gQkKpEJCJdNK4PAH+71tX2G9YzheV3n8Np\\nJ7jmfmluxMu8tfvbvb6l2w5zwROLKCxtPLCPlVVy9qOfcu2zrnbsutxCCksrQybg/R2HfjvwsjFm\\nDTAe+J3/JYmEotBoHYa7v1w1gW2/m8kFY/q41/VMSeClm07m+qmDWL+viBW78t33VXhcVOO2Oas4\\ndKyswXNuzzvOi0t3ek0r8K8vdnHds8uobuWcvv9YtJ1NB47xrvPhcaCwjGcWbydz1jy25R1n2kMf\\nA7A2t5AN+4r42p8/46T753PSb+Z7zTZZWlHN+n2F/Dt7DwcKG9bcXvwatmitXQ1kBagWkZCnYYv+\\nMcYQ3cQ+jItxtS+vf2456+4/H2stZz2y0GubzQeOeV2d6fDxcs5+9FPA1SVz5ZSBnPnHhRwocoXo\\ne+v2M2FgOtMf/piJA7sy99bpzdb3idPl88X2I/zvq30s3XbEfd85zuvUmvnkYq/b1zyzjKtPHsic\\nZbu91p89sifP3TC52dcNFJ0pKiIh4Y4ZwwE4Xl7FK8t3M/ye98gtKAXg8StOAuC6Z5d7PSbL40zT\\n+/63gdmLtrvDHFyt+r9+kgPAyt0FTXalAKzYddS9/NZq7zBvzoOXjXEPzawf5gDlVcG73qoCXURC\\nQnJ8DDHOGPZfzl1LZXVdd8lFY+vOOK0NyE0Hiho8R+0FrP9326nudZ4he9uclYCrNV9RVeN1oPWl\\nz3e1WONpJ/Rg4c/O5PThGXxtXB9W/upcrj1lEF8b15d7Lhrl3u7paybypytdI3iW5Bzhs63BufiH\\nAl3EByEywCLi/eHycQ3WfXn3DOJiovjDN133PfLBZq57dhkXPOHq8vjr1RNZcOcZ7u1TEmIY2z+N\\nH5411L3ugcvGALB462H+/NFWBv/yXYbf8x6POx8ArsfFAvDv70+ld2oCT1wxnudvmMz5J/YiNcHV\\nO33KkO5k9ujCP2+cwl+unki3LnXDMK89ZRCJsdHcOH0wF47tw6Xj+7kP9l777DKKy9v/ItqabVGk\\nFdSH3r6+MbE/U4d2Z6pz8PFbk/rT3QnN04a7wvEfi3d4PWbq0O506xLHj2ecwBMLtpLqBPOVkwey\\n52gpN582hLH90zhtWA/OfGQhj3qE+JMf51BUVsWsC0fy0he7OKl/GlMGd+OLu85xb3PWyJ6s2JXP\\nv7/cw9XOTJGNSYiNZtWvzyU+pq6d/OerJnD9819SU2PZm1/KiN4pfu6h5inQRSSk9ElLZOqQ7uzJ\\nL+GP3zrJa/3EgV1Zuds1w0hGSjzL7zoH43zK/ujsEyirrOHS8a7umQHdknjyqgnux2f26EK/ronu\\nfvmUhBiOlVXxwtKdlFa4unHG9k9rtKZJg9KZNKjxmSQ91Z8KuGtSHG/9sPkDsYGkQBfxgXpcgmvO\\nzSe7g9rTGz+Yxs4jJXSJi6aqxnptExVlmHXhyGaf95LxfXl64Tb+ddPJTB/WnWU7jnLl7C94LXsP\\nALeffUJgf5EgU6CLtILOFA2OxsK8dv3gHg2mjPLZz84bwQ/PGkZyfF2f+IxRPVmw0TU5WHpSXHMP\\nD3k6KCoinUZ0lHGHea1rTh7kXo6LCe9IVAtdRDq1s0b2ZPnd53idsBSuwvvjSCRINGwxskVCmIMC\\nXaRVNGxRQpkCXUQkQijQRUQihAJdxAdWI9ElDCjQRVpBXegSyhToIiIRQoEu4gMNW5RwoEAXaQUN\\nW5RQpkAXEYkQCnQRkQihQBfxgbrQJRwo0EVaRZ3oEroU6CIiEUKBLuIDq3GLEgYU6CKtoGGLEsoU\\n6CIiEUKBLiISIRToIiIRQoEu0grqQpdQpkAXEYkQCnQRH2jUooQDvwPdGBNtjFlljHknEAWJhDKj\\ncYsSwgLRQr8D2BiA5xERET/4FejGmP7ARcAzgSlHRETayt8W+hPAL4CaANQiErJ0kWgJB20OdGPM\\n14BD1toVLWx3izEm2xiTnZeX19aXEwkJ6kGXUOZPC306cIkxZifwKnC2MeZf9Tey1s621mZZa7My\\nMjL8eDkREWlOmwPdWvtLa21/a20mcCXwsbX22oBVJhJCNGxRwoHGoYu0gkYtSiiLCcSTWGsXAgsD\\n8VwiItI2aqGLiEQIBbqID9SHLuFAgS7SCkYDFyWEKdBFRCKEAl3EB+pxkXCgQBdpBQ1blFCmQBcR\\niRAKdBGRCKFAF/GB1bhFCQMKdBGRCKFAFxGJEAp0ER+ow0XCgQJdpBU0bFFCmQJdRCRCKNBFRCKE\\nAl3EF+pElzCgQBdpBaNOdAlhCnQRkQihQA8zVdU15BaUdnQZnY5Vn4uEAQV6mPntuxuZ/vDHHC2u\\n6OhSOiV1uEgoU6CHmQ83HATgWFllB1ciIqFGgR5myiqrAaisrungSkQk1CjQw8zh466ultIKBXow\\nabJFCQcK9DCyek+Be3nj/iJ3a12CR6MWJZQp0MPIPo/RLb94Yw13/nt1B1YjIqFGgR5G6vebL8k5\\n0kGVdD7qcZFwoEAPIxVV3oHevUtcB1XSeRkNXJQQpkAPI5XVrnbi5Mx0AKYM7taR5YhIiFGgh5Ha\\nLpe/X5dF//TEBi12EencFOhhpDbQY6MNCbHRlCvQg0bDFiUcKNBD3JHj5WTOmsdnWw8z3zlLNDY6\\niviYKA1b7AAatiihLKajC5DmrcktBFxzuGzcXwRAXHQUCbHRlFUp0EWkTptb6MaYAcaYT4wxG4wx\\n640xdwSysEj26PzNfO/FbJ+2jXKahHuOltStizJEGfhqT2G71CcNabZFCQf+tNCrgJ9aa1caY1KA\\nFcaYD621GwJUW8T688c5Pm8b5XzFP15e5bX+y535ACzNOcy0YT0CVps0Tz0uEsra3EK31u631q50\\nlo8BG4F+gSpMXKJa6LTddrg4SJWISKgLyEFRY0wmMAFY1sh9txhjso0x2Xl5eYF4uU6l/uiKxNho\\nAOb96FQASuq13EWk8/I70I0xycAbwI+ttUX177fWzrbWZllrszIyMvx9uYj22pe7+d27G73WVdZ4\\nD01884fTABjVOxWAkgodGA0GDVuUcODXKBdjTCyuMH/ZWjs3MCV1Tve9vZ4Xlu4E4K6ZowDYdKCI\\n7z7/pdd2sdGuz+CoKENibDQlFWqhB5U60SWEtTnQjevy588CG621jwWupM4jc9Y8lt11Dr1SE9xh\\nDvDSF7s4WFjGm6ty3euy75nB5gPHGJqR7F7XJT6aYrXQRcThT5fLdOA64GxjzGrnZ2aA6gpphSWV\\n2Ca+g1tryZw1j8fmb/bpuV5dvoe9+SVe637133X85ZMc98Wgo6MMPZLjmV5vNEtiXDSlCvSgUI+L\\nhAN/Rrl8Zq011tpx1trxzs+7gSwuFO0vLOWk38zn+SU7G70/59BxAJ70cWji4wu2MOOxT5vdprqm\\n8TiJjYrirdW5TX64SODUOP8HMVE6uVpCl96drfDPz3cy9aGPAXhrdW6j28xZvrvVz1tW6Trwec9F\\no1r1uKT4aGps215TWqfKCfToKHWiS+hSoPvIWsuv31rvvr3l4HEyZ81jf2Epv5y7lmF3vctTC3Po\\nluSao3zqkO4cKiojc9Y8FjhzsABUNXFx5wcuG0OX+MYPacz/yemNrn/s2+MBWKoLXbS7ame0UYwC\\nXUKY5nJpQXWN5Z7/rnP3c58+PIMlOYcpdSbGqm2xA/zh/bp+89iYKNbsdZ2a/+LnO5kxuhcAZR4z\\nJP7hm+P49uQB7tuPfbjFvdyvayLxsVHM/cE0uiY1fiGL4b1SOGtEBvPW7ufeojJ6pib4+dtKU9RC\\nl3DQaVvoldU1zc5WWFZZzWdbD3PHq6t4ZfluFm89DMATV4znqikDGmyfkRLvdXvRljx+/Jrrmp8J\\nzslAgNdBzK5JsV6Pufbkge7lv107iY9/emaTYV7rnFGuD4rnPUbJtKeaGsv/vbSCR+dvZtcR11mq\\nsxdtY+afFpM5ax63zVnZYJqCSFBdXduHrkCX0NUpW+j7CkqZ9rCrZf2tSf35+fkjGrRuf/jySj7a\\ndMhr3QvfnUy3LnHcdOoQ/vXFbiYM7EpxeRXThvbgvktOZP76A9zy0gpiow2V1dYdbHExdZ+bnh8i\\nfdISvZ7fs4ax/dN8+l2uOXkg9/x3XdCm0t2TX8L76w/w/nrXnDTDeia7DwQDvLNmP++s2c+0od15\\n6BtjGdS9S1Dqam9qoUs46JSBPvPJxe7l11fspcZCWmIsV04ZwPBeKWw5eMwd5ulJsfz9uixO6JlM\\nunMNz8E9urDgztNJT4qje3Jdy/y8E3uz8+GLyJw1z+v18orKmfHYp/z8/BEM6eEKuBunD240tJvq\\nL2+KMYZ+XRP5dHMeXNzw/oqqGl5cupOzRmZw//82cPG4vl7dPM15dfluFucc5uFvjCUlwfVtYs4y\\n7wOwtWF+5eQBpCbGsmhLHpsOHGPptiP8/D9r+Pf3pzb5/Na6PvRqnzuUVddYoqMMRhOiSwjrdIG+\\n52gJBSWVXuveWLkXgOeW7ODG6YN5bskOAN68dRoTBqY3+jzDeqY0+RrPXp/FTR7T4y7feRSA77+0\\nguduyALgvBN7NfrY4b2aft6mjOydwkebDrEut5Ax/eo+JLblHeeCJxZRWW35rTOlwOKth5kyuBuZ\\nPepazi8v28Xr2Xu5cvIAvp01gKgow0PvbeTvn24HYN6a/bx44xTeX3eAV5wRNTsemsmrX+7h1eW7\\nufeSE5no7Ke7Zo6irLKav36Sw58/zuG2OSv59cWj6ZnSsH9/0oMLOFpcwRnDM1i/r5DHvj2e7zy3\\nnJT4GJ6+dhLDeibTOy2BquoaPt2Sx7+z9/DB+oNMzkxn9nVZLN12hBG9k5v9vwiUKifQRUKZCeYY\\n5qysLJud7ds84IHw+IdbeG/dfl7/v2mkJcay6UARN72QTW5BKfdcNIopg7vx89fXsPngMbrEeZ91\\nedtZw/jwlrNcAAAKGElEQVTZ+SPa/NpLcg5zzTMN5ipzW3vfeQFrmW7YV+T+1rHz4YsA2HG4mHMe\\nXUgTQ9j5w+Xj+Nak/mw+eIwLnljsdV9m9yR2Hilp/IHAo986iW9O6t9sTZ9sPuQ1bcGMUb2Yfd0k\\noqIMh4+XM+3hj32+JmpibLT7IHRj+qcnsje/lJtOHcxPzh1OcnwMNTWWtc4HXCCC+LfzNvDyst1s\\n+M0Ffj+XSGsZY1ZYa7Na2i4iW+hlldVcMfsLvtpTAMDtr6xi95Fid0glxEbxvdOGAPDuHadxtLiC\\njJR4nvtsB795ZwNXTh7gV5gDjO6TyqRB6Zw7uhcPv7epwf2B7GYY3TfVvfzLuWu49+ITeXphDjUW\\nnrshixtfcH2IXnfKIF76YhcAv/jPGv6Tvdf97cFT7X565/ZTGdMvjffXHeBXb63jT1eOZ+qQ7j51\\nO0zJ7EaP5DgOH68AYMHGg9z+6ipmjOrJT177yr3dHy8fx31vr+eqKQNJTYylsrqG3mkJ3P3mOvc2\\npZXVDO7RhX/eOIXUxFieWLCFxVsPk5oQw8rdBezNd51R++xnO3j2sx1edUwb2p0Xb5zingOnJWWV\\n1VRW15AUF0N0lKG6xhJl1EKX8BD2LfSdh4s57/FF/O26ifRKTeD+tzc0GlIAw3slM7J3KrecPsSr\\na6K9VVXXsDe/lDMfWQjAfReP5obpgwP6Gl/tKeDSvy4BcAfRjFE9eeb6yby8bBfPfraDBT85gz/O\\n38zTC7c1ePzG31zA3vwSqmosD87bwNVTBnHRuD5+12Wt5cud+TyzeLv7mqgASXHRvH3bqQzrmdzo\\nY179cg+nndCD6ChDcXl1o9uB68IfLy7dSfbOowzolsTqPQXu4aKezhqRwenDMzh3dC9SE2MpKK6k\\noLSCgd2SOF5exT8WbefFz3c1eFxstCE+Jprj5VV0TYpl9a/P82NviLSNry30sA30gpIKbnlpBct3\\nNB7ePz9/BKkJMWRldmPmk4uZOqQ7c24+JSCv3VazF21jyuDujB/QtV2ef+P+Ii5/eqm76+ipayYy\\nc6x3KOcXV3D//9aTk3ecdblFTBzYlbm3Tm+XejwdOV7OpAcXADBlcDfmfO9kYnxsNbdGYUklX+48\\nytkje2IM3PHqat7+al+rniNrUDpj+6cxf/1BUhNjOVRURkV1DT84cyi3njks4DWLtCTiA332om38\\n7l1XV0btMEFwhdhZI3qSGFc39ju/uILUxNhO85X50y15xESZBpN5ecovrmBPfgnj+rfPh0tjjhwv\\nZ8vB42RlpvvcBRII63IL6ZWawFurc3l/3QGyd+UzsrfrQGpaYizxsdGcOqw7154yiISYaKI6yftE\\nwkdEB3r2zqNc/rfPiY4yXDyuDw9cNoZjZVWs3J3PzDF99AcpzSqpqCIxNlpDECVsRNRB0dV7CkiM\\njWZoRhceeGeDu6/zoa+PdY+pTkmIpW/XxOaeRgSApLiweNuLtFpYvLMfencjyzz6yqcP686lJ/Vr\\nceiciEhnEhaB/uRVE/ho4yHeWbOPE/umMuvCUZ2mP1xExFdhEei9UhO4+uSBXO0xeZWIiHjrtLMt\\niohEGgW6iEiEUKCLiEQIBbqISIRQoIuIRAgFuohIhFCgi4hECAW6iEiECOrkXMaYPKDhpNO+6QEc\\nDmA57S3c6oXwq1n1tq9wqxfCr2Zf6x1krc1oaaOgBro/jDHZvsw2FirCrV4Iv5pVb/sKt3oh/GoO\\ndL3qchERiRAKdBGRCBFOgT67owtopXCrF8KvZtXbvsKtXgi/mgNab9j0oYuISPPCqYUuIiLNCItA\\nN8ZcYIzZbIzJMcbM6uh6AIwxA4wxnxhjNhhj1htj7nDW32eMyTXGrHZ+Zno85pfO77DZGHN+B9S8\\n0xiz1qkr21nXzRjzoTFmq/NvurPeGGOedOpdY4yZGORaR3jsw9XGmCJjzI9Dbf8aY54zxhwyxqzz\\nWNfqfWqMud7Zfqsx5vog1/tHY8wmp6Y3jTFdnfWZxphSj339N4/HTHLeSznO79QuV5xpot5WvweC\\nlSFN1PuaR607jTGrnfWB37/W2pD+AaKBbcAQIA74ChgdAnX1ASY6yynAFmA0cB/ws0a2H+3UHg8M\\ndn6n6CDXvBPoUW/dH4BZzvIs4PfO8kzgPcAApwDLOvg9cAAYFGr7FzgdmAisa+s+BboB251/053l\\n9CDWex4Q4yz/3qPeTM/t6j3Pcud3MM7vdGEQ623VeyCYGdJYvfXufxT4dXvt33BooU8Bcqy12621\\nFcCrwKUdXBPW2v3W2pXO8jFgI9CvmYdcCrxqrS231u4AcnD9bh3tUuBFZ/lF4DKP9f+0Ll8AXY0x\\nfTqiQOAcYJu1trmT0jpk/1prFwFH661u7T49H/jQWnvUWpsPfAhcEKx6rbXzrbVVzs0vgGYv1uvU\\nnGqt/cK60uef1P2O7V5vM5p6DwQtQ5qr12llfxt4pbnn8Gf/hkOg9wP2eNzeS/PBGXTGmExgArDM\\nWXWb8/X1udqv24TG72GB+caYFcaYW5x1vay1+53lA0AvZzkU6q11Jd5/BKG6f2u1dp+GUu034moR\\n1hpsjFlljPnUGHOas64frhprdUS9rXkPhMr+PQ04aK3d6rEuoPs3HAI9pBljkoE3gB9ba4uAp4Gh\\nwHhgP66vWKHiVGvtROBC4IfGmNM973RaAyE17MkYEwdcArzurArl/dtAKO7Tphhj7gaqgJedVfuB\\ngdbaCcCdwBxjTGpH1echrN4DHq7Cu2ES8P0bDoGeCwzwuN3fWdfhjDGxuML8ZWvtXABr7UFrbbW1\\ntgb4B3Vf+zv897DW5jr/HgLedGo7WNuV4vx7yNm8w+t1XAistNYehNDevx5au087vHZjzA3A14Br\\nnA8hnK6LI87yClz90MOd2jy7ZYJabxveA6Gwf2OAbwCv1a5rj/0bDoH+JXCCMWaw01q7Eni7g2uq\\n7Q97FthorX3MY71nP/PXgdqj3W8DVxpj4o0xg4ETcB34CFa9XYwxKbXLuA6ErXPqqh1VcT3wlke9\\n33FGZpwCFHp0IwSTV6smVPdvPa3dpx8A5xlj0p3ug/OcdUFhjLkA+AVwibW2xGN9hjEm2lkegmuf\\nbndqLjLGnOL8HXzH43cMRr2tfQ+EQobMADZZa91dKe2yf9vjSG+gf3CNDtiC6xPs7o6ux6npVFxf\\npdcAq52fmcBLwFpn/dtAH4/H3O38Dptpp1EBzdQ7BNfR/a+A9bX7EegOfARsBRYA3Zz1BvirU+9a\\nIKsD9nEX4AiQ5rEupPYvrg+b/UAlrr7Om9qyT3H1Xec4P98Ncr05uPqYa9/Hf3O2/abzXlkNrAQu\\n9nieLFxBug34C85JikGqt9XvgWBlSGP1OutfAP6v3rYB3786U1REJEKEQ5eLiIj4QIEuIhIhFOgi\\nIhFCgS4iEiEU6CIiEUKBLiISIRToIiIRQoEuIhIh/j/US3wbecaGGQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1154812b0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, gradient], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x115422710>]\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x115261898>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"plot(np.cumprod(d+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 1\n}\n"
  },
  {
    "path": "notebooks/TF-FIN-5-multi_sampling.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas_datareader.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'google', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"num_positions = 3\\n\",\n    \"num_symbols = len(symbol_list)\\n\",\n    \"num_samples = 20\\n\",\n    \"\\n\",\n    \"x = tf.placeholder(tf.float32, [None, num_symbols * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"W = tf.Variable(tf.random_normal([num_symbols * 100, num_positions * num_symbols]))\\n\",\n    \"b = tf.Variable(tf.random_normal([num_positions * num_symbols]))\\n\",\n    \"\\n\",\n    \"y = tf.matmul(x, W) + b \\n\",\n    \"\\n\",\n    \"# loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"pos = {}\\n\",\n    \"sample_n = {}\\n\",\n    \"sample_mask = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(num_symbols):\\n\",\n    \"    # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # sample probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\\n\",\n    \"    # isolate the probability of the selected policy (for use in calculating gradient)\\n\",\n    \"    for sample_iter in range(num_samples):\\n\",\n    \"        sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"        pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"        symbol_returns[i*num_samples + sample_iter] = tf.multiply(\\n\",\n    \"                                                            tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                             y_[:,i])\\n\",\n    \"        \\n\",\n    \"        sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"        relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                    symbol_probs_softmax * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"daily_returns_by_symbol_ = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"\\n\",\n    \"total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"z = tf.ones_like(total_return) * -1\\n\",\n    \"total_return = tf.add(total_return, z)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"ann_vol = tf.multiply(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"#Maybe metric slicing later\\n\",\n    \"#segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"#partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"training_target_cols = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(labels=training_target_cols, logits=ones)\\n\",\n    \"gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"#cost = tf.multiply(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"#cost = tf.multiply(gradient , tf.expand_dims(daily_returns, -1))\\n\",\n    \"cost = tf.multiply(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"# cost = tf.multiply(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.05).minimize(cost)\\n\",\n    \"costfn = tf.reduce_mean(cost)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 0100 cost= 1.48023 total return= 3.557313919 sharpe= 2.085654259\\n\",\n      \"Epoch: 0200 cost= 1.81074 total return= 4.276563644 sharpe= 2.507260799\\n\",\n      \"Epoch: 0300 cost= 2.07541 total return= 4.851496696 sharpe= 2.844292164\\n\",\n      \"Epoch: 0400 cost= 1.42713 total return= 3.589344025 sharpe= 2.102812290\\n\",\n      \"Epoch: 0500 cost= 1.34209 total return= 3.339767456 sharpe= 1.959243417\\n\",\n      \"Epoch: 0600 cost= 1.50117 total return= 3.775519609 sharpe= 2.214963436\\n\",\n      \"Epoch: 0700 cost= 1.57011 total return= 3.965950012 sharpe= 2.326948643\\n\",\n      \"Epoch: 0800 cost= 1.33224 total return= 3.598165035 sharpe= 2.109631062\\n\",\n      \"Epoch: 0900 cost= 0.706881 total return= 1.877704620 sharpe= 1.100140810\\n\",\n      \"Epoch: 1000 cost= 0.761505 total return= 2.024359941 sharpe= 1.185175061\\n\",\n      \"Epoch: 1100 cost= 0.911471 total return= 2.437183142 sharpe= 1.425802827\\n\",\n      \"Epoch: 1200 cost= 1.6589 total return= 4.489245892 sharpe= 2.627991199\\n\",\n      \"Epoch: 1300 cost= 1.89802 total return= 5.195552349 sharpe= 3.041148186\\n\",\n      \"Epoch: 1400 cost= 1.84092 total return= 5.077595711 sharpe= 2.972646236\\n\",\n      \"Epoch: 1500 cost= 2.0919 total return= 5.724076271 sharpe= 3.350445986\\n\",\n      \"Epoch: 1600 cost= 2.17117 total return= 5.940022945 sharpe= 3.477900267\\n\",\n      \"Epoch: 1700 cost= 1.94947 total return= 5.357582569 sharpe= 3.136368275\\n\",\n      \"Epoch: 1800 cost= 2.05009 total return= 5.628676891 sharpe= 3.295320988\\n\",\n      \"Epoch: 1900 cost= 2.31323 total return= 6.348797321 sharpe= 3.717358351\\n\",\n      \"Epoch: 2000 cost= 2.18853 total return= 6.030413628 sharpe= 3.530701399\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.global_variables_initializer()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(2000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,75)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins[start:end], y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%100== 0:\\n\",\n    \"        t,s, c = sess.run([ total_return, sharpe, costfn], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"        #print(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x112175400>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x117721908>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 1\n}\n"
  },
  {
    "path": "notebooks/TF-FIN-6-neural_network.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas_datareader.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'google', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"num_positions = 3\\n\",\n    \"num_symbols = len(symbol_list)\\n\",\n    \"num_samples = 20\\n\",\n    \"\\n\",\n    \"n_input = num_symbols * 100\\n\",\n    \"n_hidden_1 = 10 # 1st layer number of features\\n\",\n    \"n_hidden_2 = 10 # 2nd layer number of features\\n\",\n    \"n_classes = num_positions * num_symbols # MNIST total classes (0-9 digits)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# define placeholders \\n\",\n    \"x = tf.placeholder(tf.float32, [None, num_symbols * 100])\\n\",\n    \"y_ = tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"weights = {\\n\",\n    \"    'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),\\n\",\n    \"    'h2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),\\n\",\n    \"    'out': tf.Variable(tf.random_normal([n_hidden_2, n_classes]))\\n\",\n    \"}\\n\",\n    \"biases = {\\n\",\n    \"    'b1': tf.Variable(tf.random_normal([n_hidden_1])),\\n\",\n    \"    'b2': tf.Variable(tf.random_normal([n_hidden_2])),\\n\",\n    \"    'out': tf.Variable(tf.random_normal([n_classes]))\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"def multilayer_perceptron(x, weights, biases):\\n\",\n    \"    # Hidden layer with RELU activation\\n\",\n    \"    layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])\\n\",\n    \"    layer_1 = tf.nn.relu(layer_1)\\n\",\n    \"    # Hidden layer with RELU activation\\n\",\n    \"    layer_2 = tf.add(tf.matmul(layer_1, weights['h2']), biases['b2'])\\n\",\n    \"    layer_2 = tf.nn.relu(layer_2)\\n\",\n    \"    # Output layer with linear activation\\n\",\n    \"    out_layer = tf.matmul(layer_2, weights['out']) + biases['out']\\n\",\n    \"    return out_layer\\n\",\n    \"\\n\",\n    \"# Construct model\\n\",\n    \"y = multilayer_perceptron(x, weights, biases)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"pos = {}\\n\",\n    \"sample_n = {}\\n\",\n    \"sample_mask = {}\\n\",\n    \"symbol_returns = {}\\n\",\n    \"relevant_target_column = {}\\n\",\n    \"for i in range(num_symbols):\\n\",\n    \"    # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"    symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"    symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"    # sample probability to chose our policy's action\\n\",\n    \"    sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\\n\",\n    \"    for sample_iter in range(num_samples):\\n\",\n    \"        sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"        pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"        symbol_returns[i*num_samples + sample_iter] = tf.multiply(\\n\",\n    \"                                                            tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                             y_[:,i])\\n\",\n    \"        \\n\",\n    \"        sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"        relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                    symbol_probs_softmax * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"daily_returns_by_symbol_ = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"\\n\",\n    \"total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"z = tf.ones_like(total_return) * -1\\n\",\n    \"total_return = tf.add(total_return, z)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"ann_vol = tf.multiply(\\n\",\n    \"    tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"    np.sqrt(252)\\n\",\n    \"    )\\n\",\n    \"sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"#Maybe metric slicing later\\n\",\n    \"#segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"#partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"training_target_cols = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"ones = tf.ones_like(training_target_cols)\\n\",\n    \"gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(labels=training_target_cols, logits=ones)\\n\",\n    \"\\n\",\n    \"gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"#cost = tf.multiply(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"#cost = tf.multiply(gradient , tf.expand_dims(daily_returns, -1))\\n\",\n    \"#cost = tf.multiply(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"cost = tf.multiply(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"optimizer = tf.train.GradientDescentOptimizer(0.0001).minimize(cost)\\n\",\n    \"costfn = tf.reduce_mean(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 0100 cost= -0.0511034 total return= -0.254313290 sharpe= -0.147050172\\n\",\n      \"Epoch: 0200 cost= 0.0008046 total return= 0.004304615 sharpe= 0.002454142\\n\",\n      \"Epoch: 0300 cost= -0.00654278 total return= -0.032786764 sharpe= -0.018854376\\n\",\n      \"Epoch: 0400 cost= -0.0104948 total return= -0.052206062 sharpe= -0.030145902\\n\",\n      \"Epoch: 0500 cost= 0.0085575 total return= 0.042194180 sharpe= 0.024507100\\n\",\n      \"Epoch: 0600 cost= -0.00712342 total return= -0.035571225 sharpe= -0.020566883\\n\",\n      \"Epoch: 0700 cost= 0.00835088 total return= 0.041818328 sharpe= 0.024149975\\n\",\n      \"Epoch: 0800 cost= 0.016556 total return= 0.083269991 sharpe= 0.048046894\\n\",\n      \"Epoch: 0900 cost= 0.0330436 total return= 0.164966017 sharpe= 0.095224828\\n\",\n      \"Epoch: 1000 cost= 0.0369702 total return= 0.184987023 sharpe= 0.106792770\\n\",\n      \"Epoch: 1100 cost= 0.0163765 total return= 0.081490621 sharpe= 0.047063101\\n\",\n      \"Epoch: 1200 cost= 0.0464217 total return= 0.231276035 sharpe= 0.133545727\\n\",\n      \"Epoch: 1300 cost= 0.0402187 total return= 0.201298326 sharpe= 0.116184413\\n\",\n      \"Epoch: 1400 cost= 0.0367863 total return= 0.183890969 sharpe= 0.106271721\\n\",\n      \"Epoch: 1500 cost= 0.0392539 total return= 0.196572214 sharpe= 0.113486424\\n\",\n      \"Epoch: 1600 cost= 0.0598056 total return= 0.299269736 sharpe= 0.172908783\\n\",\n      \"Epoch: 1700 cost= 0.0458882 total return= 0.230310053 sharpe= 0.133034244\\n\",\n      \"Epoch: 1800 cost= 0.0449383 total return= 0.225449950 sharpe= 0.130350322\\n\",\n      \"Epoch: 1900 cost= 0.0313403 total return= 0.157538086 sharpe= 0.090945952\\n\",\n      \"Epoch: 2000 cost= 0.0390447 total return= 0.195676491 sharpe= 0.112976611\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize variables to random values\\n\",\n    \"init = tf.global_variables_initializer()\\n\",\n    \"sess.run(init)\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(2000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,75)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(optimizer, feed_dict={x: train_ins[start:end], y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if (epoch+1)%100== 0:\\n\",\n    \"        t,s, c = sess.run([ total_return, sharpe, costfn], feed_dict={x: train_ins, y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"        #print(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([daily_returns, pos[0]], feed_dict={x: train_ins, y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\neKwAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11202ec88>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x117bf6978>]\"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nhof/D0ndEzxU2ID0AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11202e400>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nI19tMYgkpcC6vwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x106be3cc0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 1\n}\n"
  },
  {
    "path": "notebooks/TF-FIN-7-regularization_modular.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas_datareader.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'google', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"\\n\",\n    \"def sort_data(rets):\\n\",\n    \"    ins = []\\n\",\n    \"    outs = []\\n\",\n    \"    for i in range(len(rets)-100):\\n\",\n    \"        ins.append(rets[i:i+100].tolist())\\n\",\n    \"        outs.append(rets[i+100])\\n\",\n    \"    return np.array(ins), np.array(outs)\\n\",\n    \"        \\n\",\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class Model():\\n\",\n    \"    def __init__(self, config, training=True):\\n\",\n    \"        #CONFIG\\n\",\n    \"        symbol_list = self.symbol_list = config.symbol_list\\n\",\n    \"        num_samples = self.num_samples =  config.num_samples\\n\",\n    \"        input_len = self.input_len =  config.input_len\\n\",\n    \"        n_hidden_1 = self.n_hidden_1 =  config.n_hidden_1\\n\",\n    \"        n_hidden_2 = self.n_hidden_2 =  config.n_hidden_2 \\n\",\n    \"        learning_rate = self.learning_rate = config.learning_rate\\n\",\n    \"        \\n\",\n    \"        #bucket info\\n\",\n    \"        positions = self.positions = tf.constant([-1,0,1])\\n\",\n    \"        num_positions = self.num_positions =  3\\n\",\n    \"        \\n\",\n    \"        #more vars\\n\",\n    \"        num_symbols = self.num_symbols =  len(symbol_list)\\n\",\n    \"        n_input = self.n_input = num_symbols * input_len\\n\",\n    \"        n_classes = self.n_classes = num_positions * num_symbols \\n\",\n    \"\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        x =self.x = tf.placeholder(tf.float32, [None, n_input])\\n\",\n    \"        y_ =self.y_= tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"        weights = {\\n\",\n    \"            'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),\\n\",\n    \"            'h2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),\\n\",\n    \"            'out': tf.Variable(tf.random_normal([n_hidden_2, n_classes]))\\n\",\n    \"        }\\n\",\n    \"        biases = {\\n\",\n    \"            'b1': tf.Variable(tf.random_normal([n_hidden_1])),\\n\",\n    \"            'b2': tf.Variable(tf.random_normal([n_hidden_2])),\\n\",\n    \"            'out': tf.Variable(tf.random_normal([n_classes]))\\n\",\n    \"        }\\n\",\n    \"\\n\",\n    \"        \\n\",\n    \"        def multilayer_perceptron(x, weights, biases, keep_prob):\\n\",\n    \"            # Hidden layer with RELU activation\\n\",\n    \"            layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])\\n\",\n    \"            layer_1 = tf.nn.relu(layer_1)\\n\",\n    \"            # Hidden layer with RELU activation\\n\",\n    \"            layer_2 = tf.add(tf.matmul(layer_1, weights['h2']), biases['b2'])\\n\",\n    \"            layer_2 = tf.nn.relu(layer_2)\\n\",\n    \"            # Output layer with linear activation\\n\",\n    \"            out_layer_f = tf.matmul(layer_2, weights['out']) + biases['out']\\n\",\n    \"            out_layer = tf.nn.dropout(out_layer_f, keep_prob)                 # DROPOUT LAYER\\n\",\n    \"            return out_layer\\n\",\n    \"        \\n\",\n    \"        if training == True: keep_prob = 0.5  # DROPOUT\\n\",\n    \"        else: keep_prob = 1.0                 # NO DROPOUT\\n\",\n    \"            \\n\",\n    \"        # Construct model\\n\",\n    \"        y = multilayer_perceptron(x, weights, biases, keep_prob)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        # loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"        pos = {}\\n\",\n    \"        sample_n = {}\\n\",\n    \"        sample_mask = {}\\n\",\n    \"        symbol_returns = {}\\n\",\n    \"        relevant_target_column = {}\\n\",\n    \"        for i in range(num_symbols):\\n\",\n    \"            # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"            symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"            symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"            # sample probability to chose our policy's action\\n\",\n    \"            sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\\n\",\n    \"            for sample_iter in range(num_samples):\\n\",\n    \"                sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"                pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"                symbol_returns[i*num_samples + sample_iter] = tf.multiply(\\n\",\n    \"                                                                    tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                                     y_[:,i])\\n\",\n    \"\\n\",\n    \"                sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"                relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                            symbol_probs_softmax * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"        self.pos = pos\\n\",\n    \"\\n\",\n    \"        # PERFORMANCE METRICS\\n\",\n    \"        daily_returns_by_symbol_ = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"        daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"        self.daily_returns = daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"        \\n\",\n    \"        total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"        z = tf.ones_like(total_return) * -1\\n\",\n    \"        self.total_return =total_return= tf.add(total_return, z)\\n\",\n    \"        \\n\",\n    \"        self.ann_vol = ann_vol = tf.multiply(\\n\",\n    \"            tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"            np.sqrt(252)\\n\",\n    \"            )\\n\",\n    \"        self.sharpe = sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"        #Maybe metric slicing later\\n\",\n    \"        #segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"        #partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        training_target_cols = tf.concat(axis=1, values=[tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"        ones = tf.ones_like(training_target_cols)\\n\",\n    \"        gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(labels=training_target_cols, logits=ones)\\n\",\n    \"        gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"        #L2  = tf.contrib.layers.l2_regularizer(0.1)\\n\",\n    \"        #t_vars = tf.trainable_variables()\\n\",\n    \"        #reg = tf.contrib.layers.apply_regularization(L2, tf.GraphKeys.WEIGHTS)\\n\",\n    \"\\n\",\n    \"        #cost = tf.multiply(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"        #cost = tf.multiply(gradient , tf.expand_dims(daily_returns, -1)) #+ reg\\n\",\n    \"        cost = tf.multiply(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"#         cost = tf.multiply(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"        self.optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)\\n\",\n    \"        self.costfn = tf.reduce_mean(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class SmallConfig(object):\\n\",\n    \"    \\\"\\\"\\\"Small config.\\\"\\\"\\\"\\n\",\n    \"    symbol_list = ['C', 'GS']\\n\",\n    \"    num_samples = 20\\n\",\n    \"    input_len = 100\\n\",\n    \"    n_hidden_1 = 50 \\n\",\n    \"    n_hidden_2 = 50 \\n\",\n    \"    learning_rate = 0.5\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Epoch: 0001 cost= 2.28894 total return= 0.412543417 sharpe= 0.240709529\\n\",\n      \"Epoch: 0004 cost= 2.1894 total return= 0.403443102 sharpe= 0.235403521\\n\",\n      \"Epoch: 0009 cost= 2.30637 total return= 0.414085491 sharpe= 0.241607949\\n\",\n      \"Epoch: 0016 cost= 2.30084 total return= 0.413683702 sharpe= 0.241382263\\n\",\n      \"Epoch: 0025 cost= 2.19133 total return= 0.403449685 sharpe= 0.235398700\\n\",\n      \"Epoch: 0036 cost= 2.20588 total return= 0.404926328 sharpe= 0.236257706\\n\",\n      \"Epoch: 0049 cost= 2.32604 total return= 0.415895593 sharpe= 0.242668298\\n\",\n      \"Epoch: 0064 cost= 2.31741 total return= 0.415151445 sharpe= 0.242235027\\n\",\n      \"Epoch: 0081 cost= 2.26062 total return= 0.410115369 sharpe= 0.239292353\\n\",\n      \"Epoch: 0100 cost= 2.27525 total return= 0.411296072 sharpe= 0.239984319\\n\",\n      \"Epoch: 0121 cost= 2.30107 total return= 0.413576738 sharpe= 0.241326732\\n\",\n      \"Epoch: 0144 cost= 2.22979 total return= 0.407117209 sharpe= 0.237535581\\n\",\n      \"Epoch: 0169 cost= 2.25972 total return= 0.409892615 sharpe= 0.239169684\\n\",\n      \"Epoch: 0196 cost= 2.34233 total return= 0.417271679 sharpe= 0.243464262\\n\",\n      \"Epoch: 0225 cost= 2.27351 total return= 0.410999459 sharpe= 0.239806580\\n\",\n      \"Epoch: 0256 cost= 2.31914 total return= 0.415589034 sharpe= 0.242485766\\n\",\n      \"Epoch: 0289 cost= 2.12802 total return= 0.397816091 sharpe= 0.232117815\\n\",\n      \"Epoch: 0324 cost= 2.24666 total return= 0.408498381 sharpe= 0.238345299\\n\",\n      \"Epoch: 0361 cost= 2.25613 total return= 0.409645655 sharpe= 0.239020847\\n\",\n      \"Epoch: 0400 cost= 2.2737 total return= 0.411293162 sharpe= 0.239989983\\n\",\n      \"Epoch: 0441 cost= 2.19468 total return= 0.403924180 sharpe= 0.235684911\\n\",\n      \"Epoch: 0484 cost= 2.28288 total return= 0.412231687 sharpe= 0.240531941\\n\",\n      \"Epoch: 0529 cost= 2.22508 total return= 0.406739324 sharpe= 0.237326805\\n\",\n      \"Epoch: 0576 cost= 2.30133 total return= 0.413612373 sharpe= 0.241338796\\n\",\n      \"Epoch: 0625 cost= 2.15487 total return= 0.399984639 sharpe= 0.233387162\\n\",\n      \"Epoch: 0676 cost= 2.21506 total return= 0.405859049 sharpe= 0.236807840\\n\",\n      \"Epoch: 0729 cost= 2.25387 total return= 0.409361779 sharpe= 0.238860178\\n\",\n      \"Epoch: 0784 cost= 2.21548 total return= 0.405881132 sharpe= 0.236827791\\n\",\n      \"Epoch: 0841 cost= 2.243 total return= 0.408317499 sharpe= 0.238239694\\n\",\n      \"Epoch: 0900 cost= 2.25471 total return= 0.409596792 sharpe= 0.238994547\\n\",\n      \"Epoch: 0961 cost= 2.17321 total return= 0.402169984 sharpe= 0.234657491\\n\",\n      \"Epoch: 1024 cost= 2.32493 total return= 0.415850117 sharpe= 0.242644498\\n\",\n      \"Epoch: 1089 cost= 2.30981 total return= 0.414417845 sharpe= 0.241802911\\n\",\n      \"Epoch: 1156 cost= 2.22072 total return= 0.406300340 sharpe= 0.237063211\\n\",\n      \"Epoch: 1225 cost= 2.133 total return= 0.398385345 sharpe= 0.232448589\\n\",\n      \"Epoch: 1296 cost= 2.24401 total return= 0.408602156 sharpe= 0.238414471\\n\",\n      \"Epoch: 1369 cost= 2.2605 total return= 0.409931899 sharpe= 0.239189362\\n\",\n      \"Epoch: 1444 cost= 2.27338 total return= 0.411276667 sharpe= 0.239977454\\n\",\n      \"Epoch: 1521 cost= 2.19779 total return= 0.404177753 sharpe= 0.235834460\\n\",\n      \"Epoch: 1600 cost= 2.19453 total return= 0.403711313 sharpe= 0.235561493\\n\",\n      \"Epoch: 1681 cost= 2.29543 total return= 0.413231721 sharpe= 0.241106577\\n\",\n      \"Epoch: 1764 cost= 2.18925 total return= 0.403665258 sharpe= 0.235526970\\n\",\n      \"Epoch: 1849 cost= 2.34653 total return= 0.417545755 sharpe= 0.243640275\\n\",\n      \"Epoch: 1936 cost= 2.29078 total return= 0.412700057 sharpe= 0.240801863\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"if 1==1:\\n\",\n    \"    sess = tf.Session()\\n\",\n    \"    # initialize variables to random values\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=None):\\n\",\n    \"        m = Model(config = SmallConfig)\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=True):\\n\",\n    \"        mvalid = Model(config = SmallConfig, training=False)\\n\",\n    \"    sess.run(tf.global_variables_initializer())\\n\",\n    \"\\n\",\n    \"# run optimizer on entire training data set many times\\n\",\n    \"train_size = train_ins.shape[0]\\n\",\n    \"for epoch in range(2000):\\n\",\n    \"    start = rng.randint(train_size-50)\\n\",\n    \"    batch_size = rng.randint(2,75)\\n\",\n    \"    end = min(train_size, start+batch_size)\\n\",\n    \"    \\n\",\n    \"    sess.run(m.optimizer, feed_dict={m.x: train_ins[start:end], m.y_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"    # every 1000 iterations record progress\\n\",\n    \"    if np.sqrt(epoch+1)%1== 0:\\n\",\n    \"        t,s, c = sess.run([ mvalid.total_return, mvalid.ann_vol, mvalid.costfn], feed_dict={mvalid.x: train_ins, mvalid.y_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        t = (1+t)**(1/6) -1\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        s = t/s\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"        #print(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([mvalid.daily_returns, mvalid.pos[0]], feed_dict={mvalid.x: train_ins, mvalid.y_: train_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b071898>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(mvalid.num_samples):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x121d9d908>]\"\n      ]\n     },\n     \"execution_count\": 17,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11a14f438>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([mvalid.daily_returns, mvalid.pos[0]], feed_dict={mvalid.x: test_ins, mvalid.y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8VeXdwL/P3Ss3e++QBNkb2YgDsQ7cq45XUWsdrV2O\\nqq3Vt9W+rVVrHbWuaqu20gouUBBkgwTZK4SQkJ2b5N7k7nXO+8cJCRhGwAyE8/188sm95xnnd25u\\nfuc5v+c3hCzLqKioqKicHmj6WwAVFRUVlb5DVfoqKioqpxGq0ldRUVE5jVCVvoqKispphKr0VVRU\\nVE4jVKWvoqKichqhKn0VFRWV0whV6auoqKicRqhKX0VFReU0QtffAnyTpKQkOS8vr7/FUFFRUflO\\nsWHDhiZZlpOP1e+kU/p5eXmUlJT0txgqKioq3ymEEJXd6aead1RUVFROI1Slr6KionIaoSp9FRUV\\nldMIVemrqKionEaoSl9FRUXlNEJV+ioqKiqnEarSV1FRUTmNUJX+CSBLEq65c5ECgf4WRUVFReW4\\nUJX+CeBdtZq6Rx6l8Y9P97coKioqKseFqvRPAMnjBiCwdWs/S6KioqJyfKhK/wSINDYC4N+6lajb\\n3c/SqKioqHQfVemfAOH6BuWFJLFn0mTKL7+cqMfbv0KpqKiodINjKn0hxOtCiEYhxLYjtAshxJ+F\\nEGVCiC1CiNEHtUWFEJvafz7sScH7k2BtPWWDriLx8SdwFU1hQco9uPd0K9eRioqKSr/SnZX+m8Cs\\no7RfABS1/9wBvHRQm1+W5ZHtP5ecsJQnAeH6etxLlhJ1uahtCLM/9Sw272ijfOBVADhr2vpZQhUV\\nFZVjc8zUyrIsLxdC5B2ly2zgLVmWZWCtECJOCJEuy3JdD8l4UlD9ox8T2LIFhMCfPAbiwNlqwCsp\\n7RGPr38FVFFRUekGPZFPPxOoOuh9dfuxOsAkhCgBIsBTsizP64Hz9TmhykoCW7YQM3MmhoJ8HBVB\\nCIDDnwHIADib1A1dFRWVk5/e3sjNlWV5LHA98KwQYsDhOgkh7hBClAghShwORy+LdPx4lq8AIPWB\\n+0m57z7c8fFd+rQ6XH0tloqKispx0xNKvwbIPuh9VvsxZFk+8Lsc+BIYdbgJZFl+RZblsbIsj01O\\nPma1rz4htH8/FddcS9unnxKurUWYTOgyMgAI+gRWbR1b85wk2xYAEHV7OsZGnE5a3nqLUEVFf4h+\\nVIJ799L0t7+hWONUVFRON3rCvPMhcI8Q4j3gTKBVluU6IUQ84JNlOSiESAImA//XA+frEXxfbwTA\\nMvrQ+5Asy0SdTpzvvIt/82ZqfvozANwDxrH22b+TMSQLn8+K0LhZ6IrDqUthGhAORDrmaJj/ORve\\n30XGf5Yxdv5rfXZNx6Llrbdp+N3vALBNm4Zp4MB+lkhFRaWvOabSF0K8C5wFJAkhqoFfA3oAWZZf\\nBj4FvgeUAT7glvahg4C/CiEklCeKp2RZ3tHTF3CiVF5/PQBn7NiO0HQ+8LjmzqX+0V8BYJ02lXB1\\nDcHycranXoRvdxJf7wZIY09yGRqNoMa2G03zUALhTqW/vxqqss/FEXIyti8v6hgcUPgAjX/6E9nP\\nP48wGPpRIhUVlb6mO9471x2jXQbuPszx1cCwExet95DDYYKGWADaFiwg9sILO9q87fZ7gMRb59D6\\n0Yc4miR8hiSmT3JgS0ngxe0bWBY/n7Mzx1DRUolml59IRHSMC/mVG0BU6PvoirqHxmLBMmkikseL\\nd9lyah9+hMTbb8OYn4/Qn1yyqqio9A6nZURuqKKC1ROeYNWk31H7wIOE6zq9S8O1tQDEXnophiGD\\nMBYV4YotAqDwwrPJm3UeX1k1RLQhmgMOXJEWkPxEpc77p9sTAiCqMSCHQn14ZUdGlmWkQABjYSHZ\\nL71I3FVX0vbRR+y7ZDaO557rb/FUVFT6iJ6w6X/n8O/ajayxANBmziRUUYE+PR0pFCJQWkri7bcR\\nGTeeV35RQqHFQ8CUgD7q5YUNLaTafTR469GZocxVBoBMAEnuNJN43X4wgKQ1EGx2YUpP6ZfrPBg5\\nFAJJQmO2oDGbSXvsMWJmzqTxj0/j2/B1f4unoqLSR5yWK/2mles6Xm8afg+e8n0A+DdsICJpaBQ2\\nti3ZA0CZbzA1mdMw6lp5fkkZj8zbhs6gRN/m2fMAkPAR1KfieONNZdJItGN+f6Oz9y+oG8h+PwAa\\nswkAodVimzoV64Qz8W/ciHvJkv4UT0VFpY84bZS+u6keZ1U5cjTK7l1KGO32lC+J6C0076kh3NBI\\nzf33U5H/PZaVFrGnPo+heRVkxLTHnem8PDF7CG/cMo5xhRoGJw7mo8s+YunVS9mf5CFkjGXjWiVA\\nKyp3PkB5Hf2XnkGWJIJ79yJ5vUh+P5LQUNYcx9uPriESUm5MpiFDAKi+627VjVNF5TTgtFD6PqeD\\ndx5Yyzu/reDV2z6gIv0cAHalbgDA6Wij6YUXiDqaCCeldYwrvmQiySnKDaLa7Obd2ntY2vQX9rbt\\nJs2i9EswJfBl0ccANPvMAIQPspp5GvtP6TvffZfyCy+i+t57kfwBvh71U9bvttHm8LN/RwsA1smT\\nO/rLaiUwFZVTntNC6a97959E9Ha0ER8hYwIAHwx+klZPIQCt7gielSswjxyJLyYVnQgydEwDE98q\\npzwUBqBJL1HlqWTBvgVEpAiTMxVlqREa0LehjazFo08i2tpKVBjRhhWzTn9G6rZ+qCQ2DVVUIvl9\\ntNnzO9o+f207jZVt6BITSf3VowBIPjV/kIrKqc4pv5G79MVn2bFlOADf+2E8H/0tiN5fSn2MA1/T\\nEIQUJNKsJVJbR8wNN9P6VTL5+eW8bx0N1LHOFWEw4Nf7eG3ma4xPH9/lHBZZS9RSSTQ0gZb1W5E0\\nJiS5BYjH19Lap9d7gIjDQWDzFuV1UxOy348mGmKwdhEJ9mpW+e5kwctbyR6cQK5kA9qVfmJiv8ir\\noqLSN5zSK/1IMEj5OsXkYvKXYjtjHP5zFvH6xL8R9edw0/ixhIULnzWOhDm34jJZAXivSeLjrVVM\\nG11Gw4BCdqQu5qvsTxiVetgsEsQbzNSkVQOwb+6XRLUmQhrFfBJo65/Vc6hK2YuwTp6MHAoRamhE\\n0hrQabwMsyzkwqnb0Rm07F5bz84qxZNJXemrqJz6nNJK/607XidgLsIuL+ftnFhGP7GIN8uy8ZpD\\nRNzDuGLkAFy2IM0Jo1lZn8oXyxMwaVpZoUlHH7eejf5X2Wf5FUtSt6HRm9FrDh/AFJNYTHXifoxR\\nJ6WuFKJaM0GtC2SJgCfYx1etcCD2wDR0KAD+yhoAWrTwZGw6WTsf5vszvyJ/eBLNLuVrIHlVpa+i\\ncqpzyir9tsZa/KYiDEEHGd+fRUXYTkqMEU9rLt69P2HRnIfIS7LQYlEqXul0EimWGprjyojJf4us\\nXGWTVyNAZ92Hga6ZNQ8QY7Sz0QSp4kta4wqRNVpCOh/aSBuhoLZPrvebROrrATAPa1f61UrQ2Ufx\\n8E6CnvmGIlj0KCllz+LxwFdjHlRX+ioqpwGnrE1/y8fzQJxBTNZO5nyq2KwX3jeN0U8sYkbBMPKS\\nlGPLM0pYkfcRcTF2DBoTNV7FLNIUhIfPfJgFZSv5unkZsfqkI55rZPJIvqz6kl1JVVgUqw5Oa5Ak\\nv4uwZOrdCz0C4foG/In5rNpuw5A6nrTqerBAQK9ECD8an0ytawznSDXgBk9MNhG1zq+KyinPKbnS\\nb9hfzs4Vysp8uVaJhp0xMJkEq4HNv5rJC9/vKOOLgYFIOsG0rGk0+zsDqYxaI5cXXc7EbGWlPCor\\n44jnmzNsDhMThrA1taHj2L6MeiLCSUhj79Fr6y6R+jqqCs5n704f+3NmEqhvBiBDH8OM7Blgqebl\\neCfvmcJkaEsACHv8/SKriopK33FKKv0FL79JyJiKIdjIp74sfnZeMX+7Scl3GWvRY9J3mlxSpUtx\\n7XyM5avPwlV9PgADYgew+MrFGLQGMm2ZAASiR18FD0wbyzZ7Z079aGwTfr2LkCGOqMdzlJE9T8Th\\nwL2uhAaLkjo5ZLQTciqBYwajkWdnPMsPR/wQ2byTuZm1VMZtVfq5VT99FZVTnVNS6Usuxbd+bnwT\\ngzPjuW1qATrt4S91YoHiojg4w874NMX3/vbhtxNnigNgdKryVHBB/gVHPWdRQjFhDWRZF7EjfSFJ\\n2hjcRhdRnQlfVcNRx/Y0db/5DR7JSlgYiNdWEdZZiegULyadSYdGaLhr5F18cMkHZOjyKbcoAWgh\\nd9/enFRUVPqeU9OmHzCh0QbZrcvhtZnFmA1H3ky9//wzuP/8M9BqlNTIsrwFITrTJGfaMtly06HH\\nDseolFFo0bAx/z3W2KzMto2i2eQiLQht+x3EDDpspcgeRQ6Hqf7xfXiWLMF44y+gClINpTj92fjN\\nyp6E3tD5Jy+ML2RY6kR2NW5iIP3nXqqiotJ3nJIrfTkSiz7cDBotw7PijtpXqxEdCh84rHI/lsIH\\nyI7J5qqCi/lPjI2wEKSnDyZiUJSor7X7tvJwbS2BXbu63b9jXE0NFdddj2fJEqxTpyKGjwGgwaZ4\\nJ/nt6QAYTcZDxs0cMIawVtnc9bvVjVwVlVOdYyp9IcTrQohGIcS2I7QLIcSfhRBlQogtQojRB7Xd\\nLITY0/5zc08KfjRkkYCQWrh2XDbJMcZjD+ghxudM73gdE5+Htv3Ubc7uKdNQZSVlZ5/Dvksv6wiu\\n6i5tn31OYNs24q66kuxX/orb2YpMlNdSlTQQrtEjATCaDvUmmpI1pUPpB7yqTV9F5VSnOyv9N4FZ\\nR2m/AChq/7kDeAlACJGAUlrxTGA88Ov2urm9SiQcJqJPBG0rT10xvLdPdwhFcUUdr3PtuRgtiiml\\nral76ZX9Wzvvq9X33Evza68hS1K3xoYqKtDGxZH+xBMIIWiqayNgaMVrUJR+sE15WrFYrYeMs+gt\\nnG9XUksEAuFunUtFReW7yzGVvizLy4GWo3SZDbwlK6wF4oQQ6cD5wCJZlltkWXYCizj6zaNHWP3R\\nXKI6Mzp737sfZsdkd7welzoOc5xSkjHc5u7W+ANVu9J+8xuCu3fT+Ic/UjbjbJrfePOwaY9lWe44\\nHqqsxJCX19HW1Bym1egCXQQJiZBHiUuwWmO6zGMyt2cHDXXvBqOiovLdpSds+pnAwbaI6vZjRzre\\nq1SsVlbL6aMLevtUXdBqtAxNHMr0rOnotXrs8YpnUMjfPbNJuLYGbWws8ddczcDNm9BYLEQaGmj8\\n/e/xrV/fpf++2ZeyZ+o0ah95hGBpaYfS37R4P/62WJotteRbC2m21gAaZCRstq57HAdW/5Gwmk9f\\nReVU56TYyBVC3CGEKBFClDgcjhOeZ94zTxNpsqCJBph65VHrufca7170Ls+f/TwAKQmpAASCkSP2\\nD1VU0PbZ50h+P+HaWnSZShCYxmgk71/vkflnpX5tcNfuQ8ZFnE6CpaVEm5ponfsfok4nhrxcyjc5\\nWDW3DKyVrMmdz9DUUdTHKJXBJCETa0voIoPVpjyRRKMnxddBRUWlF+kJl80aIPug91ntx2qAs75x\\n/MvDTSDL8ivAKwBjx449oeXmkvfepmb3KDCByb8Rs/V7JzJNj3DA2yc9Np290SAR6ciXVPPAAwQ2\\nb8E6aRK+khKs06Z2tBmLijAUFqKNjSW4RynfGHEq+wMH3me/+iqRxkY8X5WwP3kSa15WAq3k5H8Q\\n0YYYnTmOr+yvMKx+GiGtnzhbXhcZYmyJOOUwUal/8gSpqKj0HT2xtPsQuKndi2cC0CrLch3wGTBT\\nCBHfvoE7s/1Yr3D2tTdiDq0AIHN6V7t1fxBvS0YjBYlGjvwxh6uUlMzeNWuQQyEMObmHtAshMBYX\\n45o3D9/GjZRffAmV111PcOdOQLkxxF1+GZ5L72HNoibMMXrmTHidRls5JsnEGcl57EvYwrYBf+HD\\nIX8h/jDmnfiYJJCDSPLhs4iqqKicOhxzpS+EeBdlxZ4khKhG8cjRA8iy/DLwKfA9oAzwAbe0t7UI\\nIZ4ADhijH5dl+Wgbwt+aW1//NWVbN1I47I7ePE23SbCngOxAlg//MUuhENGWFpLuvYfYiy7Ct3M3\\nO1xZ7PjHLs66fiCiPX7APGI4vvXrqbzueoTRSLSpiYanfo8mNhZdSjIAzTWKW+j1A5/DVLGIdSlD\\nMemTSLelIAuZTUm78Wg0xBotXeSItSUhU4GEqvRVVE51jqn0ZVk+qnFcVtxH7j5C2+vA6ycm2olR\\nOOzwhU76A6slEeTAEVfQkcZGAPRpaRhyc6n32tg4bzMAGYWxFJ+ZhhCC5PvuwzplCi1/f4vEO24n\\nVL6PUEUFpuHDOkxJrioHCcY6TNWL+L1pBLVWJ+dlTsSkMxErkmjVNAFg1pu7yJFgsSMRRBKG3vgY\\nVFRUTiJOzTQMJwkWg1Uxm9BVmTY+9xxyQCmwoktViqy3NSlePha7gcVv7mTF+3uYfd8o4tMsWCdM\\nwDphgtI+SrmxrfuwnMjcPWQOjMdV6ySBCp4UM/lnyj4yLNn8YtzPAChOGMP65s9A0is1fb9BojkG\\nSQSRNEZC1TXI4RDG/Pwu/VRUVL77qEq/F7HoLEgEkMWh6ZVlWab5pZc73uvTFC+fpgYvEvBZfCNz\\nhgykdE0D//7teiyxBq7+5TissZ3RxZFQlJJPKwDYtLgKMKG1t/BObilCSPxywv2k25TUCxcWT2L9\\nms/QHeGvbdIbiIogUa2R2vvvRw4EyP/vf3rsc1BRUTl5UJV+L6LT6JBFEEkcmgpCaj20WLouVVH6\\nVRVNWDVNvBu8HWd1GiL7Z+xzDMTXGqK21EXRuNSOMc56Ja/PjGvz2LfdTeX2av6eWYleq+XFc//K\\nhPQJHX0vyJ+FM9jCgNgjJ32TNCGiWhv+TVvQxh89X5GKisp3F1Xp9zJhbRA9RvxbtmAoKEBrsxFu\\nt+XrUlOpmnEvG5/ezoTZAwg2teCwNDE8P4ehgRBn+57g5lgfrwb/RXN1G0XjUnG3BBACmmuUNMjp\\niy9i8IA8nh24neo4O3MvnMvAhIGHyGDRW7ht2G1HlVPSBIlojRCJEHW6kGW5W4nmVFRUvluoSr+X\\nqUhvodARx+ofPUtsxMHoxe93+Nhn/ulp1s4L0ebw8dlr25AiFmqTW5mYOpY1DSVsMxl4Pc7ODc46\\nqrZHKRqfzgdPf03QpwR7aQgTq62Dyhr2pySRKFm7KPzuEtWEiB7IEBeJIHm9aG22HvkMVFRUTh5U\\npd/L7MtaQ17zFHadcQNCipL97vu0/P53AGiTk/E695I7NhmrWc/mkg2UJ27i7ekvEmO0M+2ds/DQ\\nRllMA1Rn8t4TX3UkcQMwxS7mfMsVmP2ptOgWE2c88Zz9kvYgpQ9EXS5V6auonIKoSr+X0WmjbBj8\\nO+6Q/4/N27W0rN3c0RaxJhCNlLFw+xaSZwzHOeB5Gqxe4k0JCCH49yXvsb+tikc9/0uOJsyQvEsY\\nHbcAd9COHNzObM2SQ841IXXQCcsZ1YWRtEYkoQVkok4XZGWd8HwqKionJ6rS72VsOiMeg4NVtU5s\\nxONvDWAGPJZ0WhqVPPa3mP9B9XpYkO4iWTJ32NKz7dlk27MJmqtpSX2FGdJS9FvXkQSU6vWQlc6l\\n+dez3bWePc49nF945gnLKekVk9GmobchhJ5cl+vbXrqKispJiKr0e5mkxGya6x2Mc/2TndyDp86J\\nGfhq/CPw3CYA7s/QcJ60HYfOSJYxtsscySKFeTEyXu9eNmUM4MnaMB8aMoEabhhyOYXx9+OP+LEZ\\nTtwcIxuU/EDO+EGYQh4iru7VAFA5ccJRiV11boZldf2bq6j0FmpaxV7GllBEg8HEugylOHpYY0JX\\nfKgZxmN08c/YGEqNBnJzJnaZ47wR1wCwyGrBYQzzu0Ez+DjFgUBDQVwBWo32Wyl8gIhNeboQGj1h\\nvRWfo/lbzadydHbXu5n2f0u5+C8rqTuOcpoqKt8WVen3MqNSR2My2pmfpFSlCultRJI6beUuUyOz\\n7IU8O+NZ7hxxJzeN/GGXOe4efTvrrl/H6+e/znm551EeWIpEiAsLvode2zP5cvSGzq+CpDXQVl7d\\nI/MeINzQiGfFSqRQqEfn/a7yk39toq5VicBuaAv2szQqpxOq0u9lZhfOZvm1y7kn7wo00SBhvY1Q\\nrBIpG4j/mPdG/ZbM+GzOyTmHu0feTY4957DzWPQWxqWN495R9wJwRdEVPDn1yR6T02g8NK2yb8Hn\\nx12n92jUPfQgVbffTs29P+p2CchTlUhUoqzRwwhrlIvKV+H0qkpfpe9Qbfp9RGpcFt6ohzZ7Hiv9\\nimtlTOxqAHKTi7s9T35sPp9c9klHioWewmI+ND9QWGPG9d//kvLjH/fI/MGyvQB4li3Dv2kzltEn\\nT2K8vqbK6Wf8/o08vP5tAPaUXQRnpB5jlIpKz6Cu9PuIzOQCIhoPrQelQvhrsrLizUsfelxz5dhz\\n0Gt6Ng1yjNUEQFCnpGj2Fg6ldf585MiRq34dCykUwrNqFZ5ly4g0NhL//e8D4N+48dsL/B2mrNHD\\nHbve73jftn8tAP5QlFCk756C3IEwi3Y0sHR3I8FItM/Oq9K/qEq/j0hJKKAi6dAC6SGtsoGXnlDY\\nHyIdQkKcshFcHVsKQEvxUCK1dbQtWHDCc9b85KdUzbmNqh/cCYB55Ej0OTn4N/WS0q8uAe/JvwFd\\nXt1MoifAhgHK5nm0qRJZlpn01Bfc8uZXfSbHYx/u4Pa3SrjljfXM31jbZ+dV6V9Upd9HxJoT8Bo7\\nfd9Lk0owaQ3cPux2YvT9X+krJtHC5vSlbE5fCkCdxYYuPR33kiXHGHl4/Fu34fniCxLm3NpxbKXP\\niG74CHwlG5CjPbyylKLw6jnw5oU9O28v4C7dhkaGQHYeO4uvJ9jUyNLdjTh9YVaVNdPi7f3N7oa2\\nAPM31XDVmCy0GsH+Fl+vn1Pl5EBV+n2EXqMnrFeUvlbXxJKit3l+/G/40egfnRSJzaymeNbkzaPJ\\nqmze1jW0EolPRGptO6H5fCUlACTecguWCROIavQ8taaNv4fTiTqdBLZu7THZAfAoSexw7OzZeXuY\\n+Ztq8Gz7gn25swjyc+oyJhNwStz6ZgkFrhpSvc0sK23sdTk2VDqJSDI3TswlJcbY4UmkcurTLaUv\\nhJglhNgthCgTQjx4mPZcIcQXQogtQogvhRBZB7VFhRCb2n8+7Enhv2vIeiWlcptQ7PGZKYP7U5xD\\nsNiUjURJI1Edu5s0fzZVcixRt/sYI7sSqqqidd48dKmp6JKSyH7xBT6Y/r9cG4jHERmIpNHgXrK0\\nZy+grYaKlQm49pt6dt4e5sfvbSLZuZeajKkdx0xRDT8+K58XvnyG1xc9icPd+948ZY1KltbCFBtp\\nsSbq29RYgdOFYyp9IYQWeAG4ABgMXCeE+Ka2+iPwlizLw4HHgYN9Cf2yLI9s/7mkh+T+bmJQHqE1\\nsvKxp9gz+1OaQ7BaFaVvN8SwIv99tLKeffriE1L6VT+4k+Du3RAbx7tf7eetjQ1oUWrzDoqaqB56\\nDq3z5nXZJJa8XmXjd8VKqn98H3I43O1zhmrL2GS+iW07J0Hk5IwF8AaV640LBggZ4xgwKh6ALIfg\\nqk3zAeUfMrivotdlKWv0kBlnxmLQkRFrVlf6pxHdWemPB8pkWS6XZTkEvAfM/kafwcAB4+/Sw7Sr\\nAEaj8k8v2pW+UWs8Wvc+xaJXlPKE9Im0mh0YrBWEYorxtrQeY2RXwrXKpuCHqSN55t/beOmDncTK\\nGvISFJPOlqxJRBob8axYofSvqSG4bx/1D/9C2fi9/Xbcn31GqHR7t89ZvXMLNZnT2TziXnBWHLfM\\nfcGBFbwpohSpyTpDKWpviJhxv/lWRz/zlo97XZayRg+FKcrmfVqsiTpXgKoWHxc8t6JPnjRU+o/u\\nKP1M4OAoner2YwezGbi8/fVlQIwQIrH9vUkIUSKEWCuEuPRwJxBC3NHep8ThcByH+N8t7DGKWaci\\nYRvPn/18P0tzKGnWNG4Zegs3D7kZAL3tUzR6Oy2mfGRZ7vY8B/oGLrqcvaZJ3OwxcZNHMbkURr/A\\nqm2iKWJHY7PR/MrfqH3gQcrOOZfyC75H68JDTT7hvVuOfcKKlVBdQk1ZZacMzsqjDOg/Gt1BhmQ/\\niUQKAOmFivIP62385joNv71pAs3xZ6B3betVOaKSzF6Hh0Gyjrm/LyFxnRNbQOL3C3exs66NDzer\\nnjynMj21kftzYLoQYiMwHagBDrhn5MqyPBa4HnhWCNEl6bssy6/IsjxWluWxycnJPSTSyUdKXCr/\\nHPUbdua8x1nZZ/W3OIegERp+OuanDEpU8gK1pOxEL7XRlDgCOdj9lV+0pQU5EKBMn8mQsI7CiWkd\\nbbYUOxn6HaSHBf7hY/Bv3Ejr/PnEjkgkdbQLS3KQvGts6EzKVydcWXbsE755Ibx6Dv76TldNf/Xe\\nbsvbG4Sj0iE3Sk8wgicYoaHVx35bK1qRDHKE+HQrQlKitB+a8UMm7r+RzSPuRef19IpcTm+I2S+s\\n4n8/2UEoLBG720tbsx/ZESQvrOXjLXUAGLT971ig0nt0R+nXANkHvc9qP9aBLMu1sixfLsvyKODh\\n9mOu9t817b/LgS+B0zYUMydxAG5TC2HNiQc89TZ6jZ4pmVN4L0aPVW4korcQbeu+B88B0846hxWA\\nKYHHSDXvByB+5GSyzdvRy0aWDJtN4g9+QMFHH5J+rpGEsQnk/u5uzA8uouDX54OQiVTvP/rJgp3K\\nsS2S0fF695Zd3Za3p4lEJYoeXsDvF+7uOHbu08uY+adlNDRXYAzJSNp4NMKNRiMIGb1UZZ/DvpJJ\\nHf1FpGejrQ/w7OJSNle5eGNVBRlRDVJbmI9SXiOk9ZNt83b002tVp75Tme78ddcDRUKIfCGEAbgW\\nOMQLRwiRJIQ4MNdDwOvtx+OFUKqCCyGSgMnAjp4S/rvGgIwhAERP8oXUL8/8JQFZwqcLENFZkI5j\\nMzdcU0vAGE+8LhGzxonVu52LYx5CzvoTlzveo7TAA0hsq9YRc/e9GIuKEN5GyJ3EJ2njuPij+5jg\\n2UCTTeAkZM1fAAAgAElEQVSurel6grY6WPgQBN3g2EXZ6gR2fDkQS21neuLaOm/XcX1ERbNy7r+v\\nrgBgr8NDfVuA2tYApdXbSHNZ8ZuT0OiVG5ZVmwSAs8FHar69fZbeScnw+Y4GxucnAJAsKU9TcfkG\\nPAYXMXLnQuQk8CBW6UWOqfRlWY4A9wCfATuBf8uyvF0I8bgQ4oA3zlnAbiFEKco39rftxwcBJUKI\\nzSgbvE/JsnzaKv30ZMV0Ihmt/SzJ0cmOyWZ82nia9EEiOvNhV/q+khL8W7ra3AM7d7J52A+Jw4JF\\n44IrX8Oo8fF5ahk1wRYeM9SSYtzKQB98tq2OYDjCupCTn3v388iKnxCqbyXBmcaeopvxba1n31VX\\nUv/4r8HdAFXroeR1WPsivD4Ledn/scV0K1uTrmNfXmdQlv8w96h5G2vYXNX7hWF21iknT7QpuYw+\\nbTeZAOys2sUFe5+kLbYA2aj0CwWUtAtXPjCWy34+GgCNbGFteTOBcM8FsDV5gtS1BhgzIAwiTJLw\\nENIEuGPiLQTNXkyhzoR7/pCakuFUplsJ12RZ/hT49BvHfnXQ67nA3MOMWw0M+5YynjIkW1KYlTeL\\nawZe09+iHJPrzriOxYtWkagz412zFsuoTqucLMtU3nAjAIN2KcFQ/s2b8SxfgWflSryJdwAw0LIK\\nMm8ieuM8qlf+mCkZk1hZu4po/FJs9SN47p9beTd3B+nGDEp8YSbXXMEgxwRlPju40j7GXLEZ57Zt\\npEaeRRy8RGkpx1tRTl3GnR2Houl+tHVmJC+KB098Xoe89/1LKVhT8VTvRuzurGsj17aCOJOiwNfu\\na+bMzI1MGZCAszGquEEAA4oUr+cJlxZQu6eVmARls1tIPpCtXPvKWm6ZnMevLx7yreT5dGsdrywv\\npzjVhsZcyT9qXmL4uGIGbboJp6hnSNIUPrF+jbHBBGYoiGjwhk5e86PKt0c13vUhGqHhD9P/wNi0\\nsf0tyjGZkTMDqX2l7/jznwnu7dwcDR3kRy61b/LW3v8ATS+8QGD7doSQGWJeyPbi7Uz81zRGrvwR\\nYWRm5JyN3WBnV2olOk2AiQEdeXsDFO18ius2PdKh8A+w8sLJJF49C2RBeMxDkFCgNMTlIP2ikpUZ\\nj3b0HXtTJnc/PAtkiUg0Bt68qKOtvq3vfND31NXQkv0JEfOThCISGyod7LD/i1ccL5Fu7dzcjcvK\\nB2DMrDwuvndEx3ENXoSwMWtIGm+squCGV9d9K3neXlPJpioX/y6pxpi0CIB97lJkl0zA1ordYEdn\\nB2PIzJigliu8RkLlvbORrHJyoCp9lcOiERrCtjCyRo+k0eN4/i8dwVKeJV909PMsXUrU4+0ojhLW\\n25CFHp2hlmf0fgrjOpPJ5dpzGZkykg12G7n6r8mMaskJ2tifuJbWYevJLI7jqofGYolVTCM1kSwM\\n59wCQChuIoydwx70vLhVYsPESVjeXw5A4VVmzpw0EK1OizbqQZLt0NrpZby3sdPGH4l2L4vl+ooW\\n3l5bie84V72hNiVdtksXYk+jmzxjZ+6idxv3dbzW6bVdxgJoNH6iOhs/3fMJWe5GVpY1Ue7wcN97\\nG3n8o+OzjIajEps6TFoSOvN+vq+9i6xgIeaQHX1CGNb9FYu+HoAzwoo6CKmVvE5pVKWvckQ07cXS\\nIxdfjXvhQpzvv0/U46H51dcwDBgAQlBz30+ouOIKInV12C+5mLJHXwSgwtpGCJnHJj3WkVAuOyab\\niekTqYi0kRP3PmOH1HHN1Q4+L3wH87A2Lv3paFJy7dz0u0lISES8PjbqlTKTW75ezMst+/nCkUxh\\nxVQ2Dn+QrUMVM9Kk8Z0rZSF50AfjqNkZS6vHT7nDQ3lT58q1ynlshSZJMre8sZ5H523j/ZLjqyAm\\nR5WAMntUsL22jYSYrwEwSRKWkPI55GgrGTbj8NHYwhohYLARnvsuL5b/kxRfC1e8tJp5m2p5fdW+\\n44qZ2FXnxh8OkhJbj8ZYzwDnEGJWDuSir5VCPKlyGSy4nwTvP/Dr3GREFWtvS6D8uK5Z5buFqvRV\\njojeoKyK2y6/EaHXE67cj3fVaqIuF1uuvIO9D/+RmAtmEapUgqFiZ89mT5Nyo9idnYxNbyM/Np9/\\nXPgPfjD8B6Rb05mePR2AkmwTZzbfhW7lnUQ0gqT4zvANrVaD3+BHH5S5c8Mv8Bkg/q9zmf7zjxi4\\ndRx7iq4mZLMz8PwEJt+YT0yMpWOsKdBGU9JwtjdfxC/f+ISzn17Gr+Z3Rvbe+No63l5T0eVaD6RI\\nANhR14an/f3qvU0dx2VZZumuRlaXNXUZDxCMRIlqa5hRdj1JrcVsrnLRYmnh8orL+IPmFR5IvxaA\\noZmtR1zpx2Um4oyz8Z/JAv2+Gl5e9jStngBxATdxATd/W1HebcVf0ezlzLQ/4894loTcFxlRe/Yh\\n7Tc6voSpP2NENER1XKeLqRSJIstyx4/KqYVaOUvliBiNyprgg5W7uTslhajLiW/dOoTZzPNbtYSF\\n4ONzz8W9YCEA924IkFblxoaFj+VNFNsL0QgNBbEF3DPqHkBZ7Q9KGMSHviZutCTRPGgWtCwn6RuV\\nwFJSEjHXjaPAP5Z1U31owxIRYePAbu4dfzgbg6nr19dlT0UH7Cm8Em/dag6EhZw7KJW0WCP/WLuf\\n55eUcePEvI4xexrcnPfMcu6YVsCuejc7apXUE9OLk1lb3oI7ECbGpOf9DdXcP1fxWFr/8Lkkxxya\\nRqOxLYiMhoGOM4k0j2IhO2iKs5BSdxbb64KMmFYENGBNjTviZ56ZN4ym8ipSzhvF5qqNjKgIsvY8\\nI833PkCtLZ45pocZn5/IyOwjz3GAtkCYVquSsTMiINGXwciZ2Wz6XDF9xWodMOxqxm59n/f1nU9A\\nVo+FV3+6gmhYImdIAhfcOeykyASr0jOoK32VI2KzKmkjIvu9+C0xRJpb8K5aRXjwcK7wmbnWaySc\\nlQdAWfpYRFmUeJ+WOvs+ItoQw5OGH3beqwZexe6Agy23/JemsTcBkGhKPKTP1AsLKRqRwhnFqRSM\\nyCdvfGGHwteGWw+r8AFSpil+79pIgB9F5/K37M8oFNVcle7gfy8dxs9nFtPoDtIWaN+fCEZ4fokS\\n+fvK8nKWlzpo8Ya4YUIOPzxrAN5ghJ/8axOSJPPc4j0d51le2jVdSH1bAG1IiUAOan3gX8+A5k6v\\np83LG9CH3BhTjxx1brLpkSIy8qYfUj5tHBENNN97HwAZHidaKdpt19OW1mpa5XiG1E8h1zkErawj\\nLT+WiZcNYFBePRqtBhIHIGKzidd17nsktyUS8keIRiT2bW7i3d+sw+NUE7KdKqgrfZUjEp9gIgCc\\nEYxlh5TC8JXKxunasVdBe9aDl0vDXK7RUlVwJWNCOkBHqX0n45NGcN+Y+w477wV5F/Dkuif5T+l/\\nsBmUpF9J5qRD+gwYlcKAUSmHHKur/gfe+gx0kSMHX113/XT+suNlok3FxPraGO34O+cZgdXA9BqG\\nZipBXAu31fPmqgp21CkxCBcOT2dkVhxDMu1MGtApy53TB/Dil2Us3F5PjcvPM9eM4Hef7mLxzgau\\nGNORQRxJknlqwU7igoqt3q/3EmcuJaNlBia7TO7gdJx7G4lb9Qm65NuOKH/h6BRaG3xU73YSu/9m\\nPpyuJadqLV4TTN8m8/qS3/PJ0KdhUt4R5zhAa9MXTKi8hMLm0R3HknNilM+15SFoKQStHuyZWGpb\\nuowvTSrBY3AyuvY8Vv2njPNvO76ynionJ+pKX+WIxCZa+PSMVwBwJEwiqtEj0tJY7u1UdiWr63l5\\n3E349O1+5iLKprQ1TMs7D6v+8EFoNoONcWnj+KDsA97e8TaTMyaTF5t3THlyBil9ZI3hqP3sBcrN\\nosqdQySgfMW/sJjZs+nvDGtX+vfP3UKZo3OD97xBqdw+reAQhQ9w0YhUJBnu+ufXxBkdLNx5A4PS\\nf8vnO2p5edlebvv7ej7bXs+mahe7qsqx+5V0EMaIgaipnvS2AWQkCyaPDDFzXBtZtSvQHSW/lD3J\\nzIwbBzH5yiIA4uQbKLs0hcioyTQlDiXF00Lo62XH/KwA/P460tsKOt5LunBHPACOXYQ0uTj+/DxN\\na1zEBeoPGbsvfitLit7mq9yP2ZD5GWUljTTX9q8rp7slgGP/8af6VjkUVemrHJEYSxL747czwP5v\\nhDWbmoypNGUUMzqgJV2/Ew0RzvMbyLCMwYye4ZaPmZJxG0G9jwxbxlHnvm3YbczMnckzZz3Dc2c/\\nh0Yc+6s4YrJiLhLxSUftN+GscQCE9xez86NcdnyWjGNJAj/Z9QaJNiPnDVbSHDx+SWfg05jc+C7z\\nfLT6Sa76bCo/mVLKj88p4qzCd1kdbmajtolC61aeWrCLxTsbeWZRKY98sI0kfTWxfiXNQUzAToPW\\nhjliw/DJ21Rcex2RRsW+rks5dlLBgpHJXHCnEtc4zfASouo6tgz7odJWt6xbBdSjvijWcKftP2Jt\\nQzj3QaANnPuo/6yJphdfxPHxNlKrO5XpwoF/Y0XOfPzV1+PddxebU74iogmzZWkVfneIgLf7dQ56\\nkrcfWcO/f7e+X859KqGad1SOiD1xIADJ8f+lvPVSAqZ46k1xGNAw2f46BuHns4QXoVRRQAXGtewy\\nKsFax1L649LGMS5t3HHJE58RQ9G4VIbPyDpqv6L8LJZEvqa0+FpKi68l1lWGPuIjueZVAP541QgW\\n72hg9sgMchIsLNxeT1a8ucs8n5R9BMDHjjd4/8prmPGfGi7AykK8XDJsN98/9+f8+sPtzN+kJJkb\\nG9dATJPymaExEudXTD1Wn+J22vinZxBmMxpr99Jw5A1PwhyjZ9fqzlQO5Wmx5LXUUdHspTj1GLWV\\nvco1ZRYbqCkNkWvwwZ9Hgc5MwKnBu6uOlF/8HMef/0yc1wvt+9IVCdsItUziV2dfR2acmR991EJl\\n3HZ0K/TsWFFHar6dKx/o+wBDWVI8iaSopOxHqJwQ6ienckTsJmX1+3x6Npaok7A+BoeUhF7jo8my\\nH4e5kTFOpS6AQCLZ3szuUVcjEGTHZB9t6hNCoxHMnDOEtILYo/YTQhCydKaDbo0rpClpOEN2ZxCJ\\nhIg167liTBY6rYZJhUk8PntoF++Ur8s+YZXsxiJJ1GtkfvnR9USE4OoB9zHOn8zC5k3EGDVkxDWi\\nFT4smhZK05ZijNox+RWXzlR3HgDGoBN0OpAkTEMGd9sTRqMRzP7JKM67dTCz7lDs6RVn/I54t4Wy\\nRg/uQJhb3vjqoACsbxBR3ELTCxXPKHPrfqpWxNO6FwItyiZ9zDnnoEtLwx5R3oc0Ae4qG8yl2Xdx\\n08Q8zhmUyoPTrqPS3hlY1rCvjdLyio73siSzasFOVi/c1Scunt7Wk7My2ncFdaWvckRS20sobhAh\\nZmg8BA2xGIxJZOm3cm2W4qWyzBkFB1j01bw97kJWBRsYljQMu8F+tKl7nZGXD2TLe03os91EqhRZ\\nEkJjqKnfQG7WxKOOlaQoP1rxAKaojZ/J1/GS5lVW0MzE5oGsW5PKGO0veXX0Q5z79hiahMSkjHTO\\nHziZv1TEINAQ21ZOwJxEVmshyFESxg4l84//R7SpCUNBwVHP/U0SM2wkZtgI+TvjCCLGAezbV8+u\\nejdLdyteRG/cMr7LWDmqKP3YFCWOQdfiwlNjxlNjxpoeQJhM6LOz0adnINe1sirvv9TYS/k8Nhm9\\n/3H4TzwkDeTqyT/lz+tgb8JGtqet4pId9/DZ0tUUF+QBsH17OZvmK08j8TkmBg3OO65rPF48LYHO\\nvQmV40Zd6asckSRzEkuvXkqsMZbyOD+u+GK0wkJyTGdqAfOk2egIUmqv4tmaRWxp2sKkzElHmbVv\\nmHbWCO5+6Wy+f88sUsfpschOtCKLHyz+Ie8sfahL/7ZgZ1nI3fsW06oR3NFwDY4Nw3iEN1g741XO\\ndv8EUJTp/3gmMEVWFM8mex2/r5uLNaTYzxOblWCwRF82pqAL64Tx6OLjlTTS2sMHZR0Lg1nHbX+a\\nihAh2mLy2L5yMa8sV/Ih7ap3H7LCrmrx8fwXeyBqQEaieHwa01P/Tc6uBZgGKGY3b50J44ABCK0W\\nfVoatIbZmvYl45z7MO75GM3exbD1fVj6vxjn3cHolGEsGvgmVfoQTmMz7qrOm9BXX3Wmh1i1cusJ\\nXd832bR4P/P+9PVh29yq++i3QlX6KkclyZzEoxMexWlU3CStOgeb8zu9OJZoPJyd+Dhbshd0HLuy\\n6Mo+l/NwCCGwxZq4cs5UUhK1hI1ptAQj/K3i0Bq0pfuXM/m9Kfx6/nXc+s8p3Lbi59yxIIqxTPEC\\nKt3oxukvprkuyLRrizFadAyJvYsnblnHHEtnbqGZdTMAsPrqMfmVFbgx4MQ0aHCPXI/Rosca76fV\\nnkdy/Qa0QnD75AB1rW5KGzr/Jm+tqeDpRaUIyUBE60ejEZyhXYzkkbGfPxPzCGVD3FhcDIAuPY1I\\nq5//LHMx520dnrp2435cLuRMhG1zeSC6DX/NNfj2z6He2EZsfRbzPlzG5nX7aNkTotFeRX38Plr3\\n9EyGTsd+N3VlrR12fIAwyusWh5ob6NugKn2VY3J+3vlE24N3EnV7eMMQpjBOibZ9cPsr/CjfSaXZ\\nzcUFF/P5FZ93mIVOJuIz7QSN8Ty4P4dAQKbVXYskS9R76nh55WMA/Ne1jfWRVvT+KJm+63Ab08mw\\nuJAiMp+8sBmhERSOTWHA6BT2lDSyZ30D8RWzSW8bwE2+gdjaA7GsGj82r7K5a/XVo884+qb28ZA6\\nIAGvNYNcTy2/2fUyw//0CBdpXuTL3Y0dfXTtm5xayYxO8lN+2eU0NkwFwHTmWaQ+/DCJt80hcc6t\\nABhyc0GW0e1UnlxCbh3kT4P7tsCtC2H0TeSXv8NvzzyXtQ9eQK1OUb41n0ZZ+cY+zK54GjU+9uma\\nMblje8S7JxSIIkkyQd9BxV3alb6jof+K5JwKqDZ9lW6h0Sj/yE6zmzYpyF8m/gqt0PLOrnf4pPwT\\nAC4pvIR0W++U+vu2pAzPha2VJC6L5V67kY8HPsdbVZ9TSwRtVObh1XpMEwZQYCoiKZrDB+lF6MI+\\nivfPI+uW39DWHCApTqLhtptJsySzy3IZn7+2HcjhyvirycgoohI3E9Y9RsyoYvK2fkZCopbU8vno\\n03/RY9eRXVTA3vV7GFkuYQ4o+XKa9tbwhy/28N+va3hrznja/GESrAKNx4I54Ce4cydBpewBpiFD\\n0dqsmId3RkvbzzuPhieeIOjyASAGfw/OvavzpFN/jtj0DtdEPwbbWERqAV8nuDl7dBTXvxWTlk8j\\nUWtSTGT15a3kDTu6W+2xcLuVjXhfWwiTTU80KqFrX6O6XN2v2azSlW6t9IUQs4QQu4UQZUKIBw/T\\nniuE+EIIsUUI8aUQIuugtpuFEHvaf27uSeFV+g67pGyG1tpkbHobw5KGMTx5ODOyFZOGQDAk8dsV\\n/OhN0odnodMLtg29HWH7H36//xPcUcUL5OxNgtj908n5Sz3+575m67ytIDRMKXag2baeYnkH59w0\\niKQvX8e/aROsXsQVV9u55pFx5AxOIOxMo3K7G60WLH4H1ilTsbsryVr2Eia7CY25qzvoiZKQobhp\\nei1p1MdpWDtqFtnVsYzP0bC7wc3eRg++ljcJ5zyAiJgx+TpXxbr0dLS2ru6iGqsV28RO91kx6ALI\\n7IziJT4XCmbA6ufhmcH8VvoTa9qMhPVFHV0MVh36VIGERP2+b1+hrL5JMeH43O0puwOd1by8fVgf\\n4VTkmEpfCKEFXgAuAAYD1wkhvmmk/CPwlizLw4HHgSfbxyYAvwbOBMYDvxZCdI2CUTnpkZOUiM3P\\n4rYyNm0sOo3ykFgUp/zj58fmE2M4ht94P2KNNXLFA4pic8afQUaT4EnHSO5YGGXG7jMpL7iENRMe\\np2TMA5QVXonBqKH4zisxjxhBw5NPEm5ooG3hQuKuvhq0WtiwgqSsGDKKO4OfJoxQFJR55Ei0sYpb\\nqT69Z5984tMVpe21prNl2ER8sRfjSpnNhQalxkEwKuEPbwTAFjRjCPvQZSgyGHJzjzivLq0z1bMc\\nOoxLZPH5ym9PA2e0riA+VM9jn1R2NMfaBMUJFnyGNuobupbXPF7kcHuG1/ZN21Cg08wT8Kor/W9D\\nd1b644EyWZbLZVkOAe8Bs7/RZzBwwKVj6UHt5wOLZFlukWXZCSwCZn17sVX6GkNKBa+Nu58mWzX3\\nje7MqZNtz8aoNTI8+fDJ1U4mkrJsTJ0Zjyy0PPFJJnwUJcd9JfUZSglFnVFLXKqFM2cXcPkDY9HH\\nxpAw51aizc1U3/sjkCQSbrwBy/hxtM6fjxQIkCYp+fZn31aA8U+Kd48+MwPjQCVIS5/Rs0rfZNWj\\nt4QpGXQGevNlALhtWTjWLiLfvgh/MARhEznOwdilGHQRH7bpSjprrf3IbrTalLSO15LvMBulg2dD\\n1ji4/G8AfH6+k3/d0en6eo7zHWaV/wWPwUlDfddUCY2VbayZt5eW2u7Z40VEWdk3ta/4D7ishjQB\\n5KBaw/fb0B2bfiZQddD7apSV+8FsBi4HngMuA2KEEIlHGHv46hEqJzXx+hjCugouSRzJgLjO3Pd6\\njZ6Xzn2pV4KxeoOMsQXw+Qa25NxCwNyZDmHMmWYm3NLVf9921lkYBw0iVFGBddpUjEVFJN46h6rb\\nb2f3SGXj9vKrrsRc6cQNJN/3Y/Spqdi/9z2iLheJtx05udqJkjsok/AGPUIjGDghlV1rYeJqM19d\\ntIiGuqEkOMYwrHEGUUAX8WHIVDyMhO7I/+66pE4bvOTzde1gS4HbFiuvl/4Wa+MGhk2+l5L25mTh\\nJBSN4jW68LsO3ciVZZklb+2kucaLrzXIOTcf3ZtJlmW0URkQuFoUpe/xKHO6TS3E+dOQZVlN93yC\\n9JT3zs+B6UKIjcB0oAbo9u1YCHGHEKJECFHicHRNWavS/2izlft8akbX8PtxaeNIs6Z1OX4ykpBl\\nx2QSBMzJFAzuNEflTCw6bH+NwUDBB/9l4FfryHlFST5nnTKZtMd/Q9K9So0A1/tzqXv4EQAS71Cq\\necVfew0FH87HPGLEYef9NqTmKyv2lLwYRs9STDbNCUMYvk8mGGg6xGc/xl2F7exzABTT1BHQJXWm\\ntpb8x3CJzBoHVeuxSJ2rdrvZRKw9B4/BhdZPhwxSVOIfj66huUbp6245umkmEoridYXQyIpqanUp\\n5p3Wdjt+m7EZrawhrK72T5juKP0a4OBlXFb7sQ5kWa6VZflyWZZHAQ+3H3N1Z2x731dkWR4ry/LY\\n5KNkIFTpP1xh5ZE93pTQz5J8OzQawfk/HElKbgxTbhjGGRMU99LUwu5flxCC+KuvJvnuu0m6q9PL\\nJf6GGxCa3veCHjA6hfg0C9OvH0hcqgV7konK/FmYDLcS8oVA1hPVBJmdu5E0z06MBfkM2rUT64Rv\\nPqB3ok08SOn7jmGCyT4TPPXwVA5NFsW8ZUsZSHzOZDxGJxpJ0+G26XeHaWsKYEowEk430eI4zFPE\\nQSx5ayd/f2hVx3tPq49IOMrK13cB4DYpOb0Dnv5J+nYq0J1v6HqgSAiRL4QwANcCHx7cQQiRJERH\\nmsSHgNfbX38GzBRCxLdv4M5sP6byHeN/hvwPZ6adycUFF/e3KN+arIHxXPXQOGISTMy4cRBznp6K\\nVndiyto0VMmJk/brX5H6y66Rvr1BTIKJ6x+bQFJWDEIIxszKQyuHkY2jCTl1iKiZiN6NxtNyVDv+\\nweiSOhdb8rFW+iOug4uegSk/4XsJv0LK+xXmuHTicibjMTgB8LSv6A943ywzhvm6xY3PGTwk4Oqb\\nNFUfmr456A12zOU2NlNrVwrevPflh4SDUXaurmXxmzuoKXV26zpVumHTl2U5IoS4B0VZa4HXZVne\\nLoR4HCiRZflD4CzgSSGEDCwH7m4f2yKEeALlxgHwuCzLXas1qJz0ZMVk8er5r/a3GD2ORqvBZD3x\\n1bltxlnkvfcuphEj+s3GPHhKBm0vLWWD4WoCoQja/2/vzsPkqsrEj3/fW3t1V/W+pjvprGYBspCw\\nBZAtEECWQdEALigzjOPCuP6AQRFQZoRRQWdARcR1FDCogxJAIAQRyJDEhED2PelOOr3v1bXcOr8/\\n7k0vSSdpSC9J9/t5nn5S99xzq869D7x16txz35OOYLxx0i0t/Q/6ud2T6voc0+8pkAlzPwUdDcz7\\n2wPMSzUSy/4gwYpzifudG71NNR0UjI3Q1uwE7G2tMQotQYzzRZCRFejzrWOt3T34Tm87VmeAdnde\\n/rKJjxPzOl8KyRcL+Kv1Dhv/4vT84x0pxkzRiYH90a//2o0xS4wxU4wxE40x97pld7oBH2PMYmPM\\nZLfOPxpj4j2OfcwYM8n9+9ngnIZSw0NECM2aNew3FX2ZzrMAyUQKyw4j3iR2cwtWVv+Cvvh8lP/4\\nR3hLSvqevdOXUHeQDWYXI5Eigj7nyeBlv9nE9jW11LqzbwoLQkwe70xvbWuIU7OrhafuX0VjdfdQ\\nkp1M93qat9Pbhjdu0eYG/XZfMw0Ze3mt4vcAbPxLPcGol8hJaSo3NWDbR19jQGkaBqVGBH/Emb+f\\nslP47BDiS2G3tOCJHjkNdU+Z738//nHjSHd0kNy3j3QsduSbuj2+6CTTyVOU54Gk1UmiI8Wy/9lI\\nzT6nZz5p2qu86fsGAI3729m9voHq7c0s+WF3grZ291fBGn+KuCfGzpx3sIxF1S5n3n+7v4nCVIp1\\nRX8jJc6Xw4rwSyxO/IxUPM2+Lcf+UNhooEFfqRHAH3VmItl2nEAqjNefxm5u7vfwzgFWOEzn+vVs\\nPf8CNs2ew9aLLyZVX3/0AzOdG+LF3kx8aSeHT6w1SeXyGmzSPNfwJI3BatKSonJnCx0tzlh/0/4O\\nfvKFV1j7ciX7tjpBe4svxc9Ou436DCd/UfWuFhJik/TGKUulSFs2a0vewM6Psz0YZXdkJwlPJ8//\\nZEBjZ8AAACAASURBVF2vXw6qbxr0lRoBgjnuUEsyRTAZomL5TlL79uHp5/DOAVYohIl3T6u0a+vY\\ncu77nfQTR+L29MeE86kPOcE6UJ6BHbeJ+VtAoDCdoC1Qw/49rVRWdT/Alei0efWJzbz4cydBUKLA\\nebo45nPqtOxtp93n9PbLks5DWq9l7eRv5dlsbppKe/2FbM5/k872JK8+sfldne9opEFfqREg4N6I\\n9Sa8WPjwJZ2bsZ68d5f4zAo7C67g9VL8zXsof/RRrMxM9t19Dybdx5i5z83lE3amfJZmlvLn6Q+z\\nOHsPv+5owmDo9Lbx9boGzpAo9RlVNG1roXFzM3s83XPt51wyjvxxEZJWJ50FzsLvLQHnF4Yds2kJ\\nO18kxe6TusZ4eHNHAxdNK+Szp13J6+P+RHtpLXu3NpNK6hz+I9Ggr9QI4Mt2xu79CScIe1Mxiu++\\nm5zrr39X73Mg137uDdeTc+21ZJ49n+I7/o34hg20vvDioQf88yvwDz8Gy1kcpjR7PDF/K+mMzey0\\nU2yN7mFH7lrGnPkFyiNlbM/Z0HVog8fwREach6MxlgUS+C4pZskpd5L0utM9g7U8Ne1hts5uZ+mk\\nX/MfNXXk205Af5+/nSIa+LL9GP+y7vPkxLJ5JfoH7GSa6u3HnvtnJNPUykqNAP6sDCCO184EwApB\\nzkcO/wTu4WR/6ENkXXWVs6avK3r55dR+/wc0LV5MqqYGb1Eh0YsvdnbmT3b+XOMKT4EtEApvZcG4\\ny9hS+Sy7x7zCbdF/o6S1jC0FS5mQvJLxu7IJelrY7QsCwo//uh0w5E7tBJwbxMWpFPsiO1gd2008\\n2EFFMsWEZJJNfj9fbHyezlNyKNr8GwC+HpzOrXm7Aajd00LZ+3T65uFoT1+pEcATDiHGxrKdqZtW\\n4L3/ry0+X68pqOLxEFmwgPZXX2X/vfdSdcu/ku4rEydQWHIqgXSaqvz1pCL/Rcjr3JzNzapgjJuz\\naU1qBbvCe3l70k/JKlpM0Gdx1xXT8XpaSIoQdoeRilM2tifB3nbnIf5C2yZsDHfVN5CVTjsBf8xc\\nOOsWzk9sIVZ7IXFPB7v37HvP5z4aaNBXagQQfwArncJKO8M7vuB7W4v3cCIXLwDAk+ukq2hb+nLX\\nvnQ8TuUXv0jVl7+C+KIk3C+MlS3rkCJnLD4nZwLji50c/eHgDnaV/Q91mZWQs4ovXLOXD59WxE8+\\n4rz3Xb5yfrC/lkvbnfsSZUWNWFjk2TaED7pHMeE8mLwAK53kW1MiNAfrqNzTyEOfXsral/egDqVB\\nX6kRwAr4kXQSr3FuxPoz+n7i9b0Kz5nDhGeXMPmVZVgZGbQvf6NrX/trr9H67HO0PPMMbX97DeMG\\n/RzbZiO1RO00vnABOaWnUpiyGVvcRNqdmZMWeGjtg5z+m9N5ePODAJRM+wfO/9Ju8o3zxZWbU0u+\\nP4oHIKfCPWEfnPk5mHcTjJsPWeVc9c69tATqYK9z7m/+aceAXoORQoO+UiOA+P1Y6RQet6fvj4QH\\n/DMC48cjPh+hmTOJre6ewtm6dCkSDGKFw7Q8+yzfa07y4ZZWbjHOzeVcA1gW+EJMxseG9H7SoThF\\nqe6FUULpNBvdYZyinEng9ZMXcI7f3LiZogNP2x4I+idfC5fcC9FS5ybyWZ/HAtL+7iy9xqdP6PZF\\nb+QqNQJIIICVTuLFSXUQfJcPZb0boTlzqHvoIXZ97ONY0SixVavImD8fBDrXr2fBrX9mQf0WUoEo\\nv3jhJko9wa5jpwYLeS1VTY0vxaV2BqatgYvaO7hk0pWs2/sma5ONFBfNAmBaqIiPEKOlfC4XrXyC\\nRKuHVH2QMIDH17tRp/8zxJoIv7Giq6g2WT1o1+BEpkFfqRHACfrdPedgbvYRah+b6OWXEVv7FnZD\\nIx0rnCDrKy3FJBLE/r4a8idB/iS8wM/yzoZA97oFn5x4Nave+j5rggE8wSz+Y+6tUDoL8iczI9nJ\\njNa9kOHM+fdnFvG1hu0w7Sb468/Z8EwpPLOUaYsAj//Qhk04j7w13UkBPamBHeIaKXR4R6kRQHx+\\nrHR3srJAzuD19APjxzP2kUco/+HDXWXe/Hw8OdnYTU29HuLKv+ZR8i9/oGs764zPcs9k59mBk4wP\\nTrm2e8qnLwi5E7o/KLMQ2vZDa+/ZOOkJl8C5Xzm0YcUnMSnVztqSZQCEExHSR0jjPFpp0FdqBLAC\\n/l49fX/W4C9Sf2AmDzgrb3lzciCdJt1y5Iejxs//Mi+bMhad/Y0jf0BmEXQ0QNPuXsWp9/8nRPpY\\nqc2fwTw7zOsVf+DV8b/DwmLDa3v1Cd2DaNBXaiTwerGME/TF2HgzQoP+keLpnhbqzc/v+hJINRxl\\nQZNAhPwbn8Uz7tA1iQ9INTYSb/EABva9BdIdqpJ79x72uPzcSRQkoSHk/DpY9j+bWP6H7f04m9FD\\ng75SI4CIIMYZ3rHsBFYoeJQjBpYnPx9PtvMUrN107KtY1f3wh+y+7ylnY9+ariyecOSgHyicxLNV\\nu/mIvZJfnvp1LJ90rd51sFTS5tkfv019VVuf+0eqfgV9EVkoIptEZKuI3NbH/rEi8rKIrBaRtSJy\\nmVteISIxEVnj/v1ooE9AKeUQt6fvSSexQgM/ZfNIvPkFeNxMn3bDsS+Ol6qtJVXfjLGB/esgUtKV\\nDC5Zdcgy293yJhEwMD6ZosPfQo2vku11fc/Xr9rUxPbVtby2eMsxt/dEctSgLyIe4CHgUmA6cJ2I\\nTD+o2teAJ92F0RcBD/fYt80YM8v9+/QAtVspdRDBCfqWHR/ynr43N6drycVU47H39NMtzsNbqckf\\ngWlXYM78LGk35XOypqZX3URlZdc+JpwHwDkdMW7bZ5OyEtS39N2Tb2/uBEBCo+tmb396+qcBW40x\\n240xCeBx4KqD6hjgwHSBLODwv7+UUoPCwrlh6bETSHBogn7FU4spvPVWxOfr0dM/9qBvt7lBf/bn\\n4cO/xEy8DNwMm63P/4V9d91Fx8qVbDnvfLZdtIC6/37IObBkJgA+4IOpNpKA3ffoDpt2Ob8A1ras\\nPub2nkj6E/THAD2TWFS6ZT3dBXxURCqBJcDne+wb7w77vCIi5xxLY5VSh+fzOP87e9LJ7rz4gyw0\\nYwZ5n7wRcBZgsTIzSR3UE38vunr6tXUA2G3dvfV0aytNjz9BzXe/R6raeQCr9UU37bMIfOp5mHgB\\nwVQzaa+NZffOQ9TeHGfxfSvZu9pZCrKpbXTN7hmoG7nXAT83xpQBlwG/EhEL2AeMdYd9vgT8RkQO\\nmUAsIjeLyEoRWVlbW3vwbqVUP/jcdMhWOoE1RD39Q9pQWtrnjdZ0ezuxNWtId3b26326evpuPEi3\\nHboMYmz1aiILLqLo9ttI7NhBYo/bNx17BpzspJUOSzM+u3eYq93Vyv4dLdDqfBn4koM/0+l40p+g\\nXwWU99guc8t6ugl4EsAY8wYQBPKNMXFjTL1bvgrYBkw5+AOMMY8YY+YaY+YWFBS8+7NQSpGNM6zS\\nllGKFRqeQHa4oF91663sXHQdtQ9+v1/vk251evapOjfotzvbvrFje9XLPO98Mi+8CERo/PWvMUn3\\nAbUJ58H0q/BKB950755+U6PzXm/MeIZWfyMB+6CUDiNcf4L+CmCyiIwXET/OjdqnD6qzG7gQQESm\\n4QT9WhEpcG8EIyITgMmATppVahAUizM33faEwDc8gezgoG+MoepLX6LtRWfd2/j2bUd9D5NIYNxf\\nBF09/Van5+8vd/qfmRdcwMTnniXrmn/AXzaGjLPOouEXv6T6nnucN4mWOPcCLBtP2odtp/nTf73F\\nH7/3dzbt2gnAO5lLaQxVE0ymGE2OGvSNMSngc8DzwAacWTrrROQeEbnSrfZl4J9E5C3gt8CNxhgD\\nnAusFZE1wGLg08aYY5/PpZQ6hD9gcfI7jzB348O9FkEZSr4xpaRbW7HdIG3X19Oy5FmwLMKnn06y\\n6shzPKr//d/ZeMrMru1UXR0mmWT3p25y3r+0FABPTjb+ioqu8yy64w4AWl98qVcaCLGSeGw/TdUd\\n7F5XT9XmJmo2xIl7YpTVTyHpieFJja4UZP0a0zfGLDHGTDHGTDTG3OuW3WmMedp9vd4YM98YM9Od\\nmvkXt/wpY8wMt2yOMeZPg3cqSo1u4vdTUPcW2aZu2NpwICgfmEufqncWNx/zve8RnDaNZFUVTn+w\\nbx1vLO+1naqtJVndnS3TXzEOcM61p8CE8ZTefx92YyOd67vX4RXLxsJDzZ7u1BBWo4+Yr4VPRSeQ\\nJW1dq42NFvpErlIjhBVwAqEVHL4gdmDMPbFzF+D01MHJzeMbMwbT2XnEh7cOfEkAWNEodm1d1wyd\\nsY/9lMDUqQCEZ8065NjwvHkAxN7qzvXvsZyZOdu39E7aFvO1cUVODR6rA689PDe9h4sGfaVGCPE7\\nqYSH6yYuQKCiAoC9X/0qzc88g+0GcU+eE/TB+RUQW7OG7ddcQ+f69V3HpuPxXl8InpzsXj19b3Ex\\nmfPnM+HPfyJ65ZUczFtcjIRCJHbt6iqzPM5Qz87XmmkO1nbl5DHeJnzrFuOTdjzGh50cPQuuaNBX\\naoSQgBP0ZYifxu3JyshAwmFMMkn1XXcT3+rcuPXm53cNzcS3b6d9+XLi6zdQ+flbMO4i66n9+wHI\\nvfFGApMnEV14KSaZJL55MwC+Iif/TmDSpD7vWYgI/ooKEtu2s/mcc2h++mm8nu6hpF3Z62gMOZ8h\\n3iYYfy5+y5kK2tGaYG3tWn678beDcVmOK6PrDoZSI5gVdHv6vj4WGBlCpsNZ0Dzd2krDL37hLOWY\\nmYk/HEaCQeIbNpJOuCkVqqrYeMpMMs46i9As5wZu5rnnUHTbrTT/+RkAYm+/gxWNYmVkHPWz/RXj\\naH32OQCqv3Uv3g93Z/JcUfY80c48KrM3Uh5YAde+RPKHn8RfDdvX7ueju24A4Nop1+K1Rm5o1J6+\\nUiNEaM6pAMTeemtY2xG55BIAsj70QUw8jic/z8kC6vEQmDKFzo0bD5nL3/7669Q9/EPAGaYB8LrP\\n7HSuXdvVyz8avzu8BGBlZuDzOSGuJVDH+fFaZng2s6HoDbKsZgjlEMhopiG0j00ru28W720b2Vlk\\nRu7XmVKjTOb55wHO+PlwKv3P+zF334VJJmlZ8ize/O4HLoNTp9L05JMAZJ53Hm3LlpFx1lnk3Xwz\\n7a+/TseqVfjKygAITJyAJzsbu6WF8Ly5/frs0CmndL22wmF8Vpg40BKs59u19Wzy+ylPGBZ2ekGE\\n8VYOSzOq2L8/B9xm7mzZydioc0M6bsfxiheP5enj005MGvSVGiEsv5+KpxbjyRq89XH72w7cKZVj\\nvvsdxNv9oFj2tdfS8swzpNvb8eTlMmX5G859AJ+PjDNO7/U+3vx8pix/4119dsb8+V2v080thKNx\\n4sCGolfwtcBJiQQnJepoz3e+HGZnlvOKtJOIdeff2d3irNS1tnYtNyy5gWm503jyiiffVTuOZzq8\\no9QIEpoxA3/ZwfkQh0/k/PPJPOfsru3QySdR/iNnGMeTlY0nOxsZwKeHLb+fojvuwMrIIFVXhyfD\\n5kdn/iuB8DoI5UKkBICMXOd5gjHFxZyebMCfCnH3mfcQ8UfY2bITgD2tTi6fDQ0bSNrJPj/vRKRB\\nXyk1pMLz5lH+k5+Q/5nPDMr7537soxTedisYw6TFGyhqMHy8tQ6KZkDeJKdShjOWY4WymGI3YWFx\\nedkHyAvm0RxvBiDRIyfznrY9h3zOiUqHd5RSQ65n738whGfPxldeTnjNTh5r7WDsvA74x/+GPSvA\\nTsJ0Z0mQdGQcfnHSMsc7UgQ8ATptJ+/PgX8BdjXvYkLWhEFt81DRnr5SasQJTJrEpBf+gr+0ACsh\\nmHA+5FTAKdfCTc/D5AUkq6vZ9KGvEnezudfsbqWwYQLxlDOdtGdPf1fLrj4+5cSkQV8pNWJZoSDG\\nFiSn4pB9sbVrAYg3OAMezz/yDjOWL+wK+nHb+TfsDXeN748EGvSVUiOWhEOkUwLvW3jIvlS183Su\\n76CsFabN+RKI23EEoTijmMb4sS8BebzQMX2l1IhlZRdhx5Nw9pe7yowxdCxf3pX3x+vvnfXT2+Is\\nNZmwEwS9QXKCOTR0jpyM8Br0lVIjlhUOk7QtsLoHNWJr1rD7k5/q2vaneq+cHmiNAJCs9fCR5V/H\\nzm/j9ZlPDE2Dh4AO7yilRiwrFCId6+hVdmAhl/DpzsNgnmSKAu82qgviJK0kwfYsAEy9j2Ayg4x9\\nRTTFmoe24YNIg75SasSywiFMuxP0W557jqY//rFrCcayH3yf8OmnY8VtPpz/Fd5Obabd04E37iSu\\nS6W6n9JNt3hIm5GRfrlfQV9EForIJhHZKiK39bF/rIi8LCKrRWStiFzWY9/t7nGbROSSgWy8Ukod\\niRUOk47FSFZXU/WFL7Lvtttpf+N1J/NnNIonGoG4s0buHwN3ErWaEdvJs2Mnu8f6I7F8WhOtw3IO\\nA+2oQd9d2Pwh4FJgOnCdiEw/qNrXcNbOnY2zcPrD7rHT3e0ZwELg4QMLpSul1GCTUAiTSPRaQrFj\\n+f/hzc9HRLAiUUxH90NYliSwbKdX3zPoZ8cKaOwcGTN4+tPTPw3YaozZboxJAI8DVx1UxwBR93UW\\ncCA36VXA48aYuDFmB7DVfT+llBp0VsiZiRNb251u2iQSeAryAfBEIqTbYwDEm734O5N40z7idpx0\\nygn6lh+yOgtoijcNcesHR3+C/hig55MJlW5ZT3cBHxWRSmAJ8Pl3cSwicrOIrBSRlbXueJtSSh0r\\nK+wE/fqfPIq3sLArbfOBdM9WNEK6I4ZJw/ZnC4nU207QT8VJJtIYDB2+NMFkJm/XvT1s5zGQBupG\\n7nXAz40xZcBlwK9EpN/vbYx5xBgz1xgzt6Cg4OgHKKVUP1hh98kr2yZ4ysn4J4wHwNvV03cGKOyE\\nE66sdJJA0ken3UkyYUhJivpOmwIp5v4V9/PTt3869CcxwPoTmKuA8h7bZW5ZTzcBTwIYY94AgkB+\\nP49VSqlBIT0WiR/z3e+S/y//Qu4nPk7O9dcDEDxpBgD1kS8CYNlJ/CkfCTuBlbSxrDjzvG+Rj5OK\\n+aXdLw3xGQy8/gT9FcBkERkvIn6cG7NPH1RnN3AhgIhMwwn6tW69RSISEJHxwGTgzYFqvFJKHcmB\\n4R1vSQlWIEB49myKbr+d4JQpAIRmz8Y3diwNv3IWRPekE/jSTk9fbMFIkhyrDrsdrpp4Ffs79rO2\\ndi0v73552M7pWB016BtjUsDngOeBDTizdNaJyD0icqVb7cvAP4nIW8BvgRuNYx3OL4D1wHPAZ40x\\n9qGfopRSgyDlTMf0l5f3uVtEKL33W2ScdSZjHnwAJIllnDF9SXvAShCyWrA7bQqDhdTH6rlhyQ3c\\n8vIttCfbh/JMBky/0jAYY5bg3KDtWXZnj9frgfkHH+fuuxe49xjaqJRS70lg8mQA8v755sPWCc+b\\nx9h58wCQHy9DcHv6aS8iSYJWCyAUekuwe/RZn9/5PNdMvmZQ2z8Y9IlcpdSI5SstZdrGDWTO77NP\\negiLFIiPzmQnVtqDSJKQ5aRgyDH5vequ2r9qwNs7FDToK6WUS8QZDrrvjf90e/oJbK8zXz9i53TV\\nm1M4h61NW4eljcdKg75SSrm84uTX2d9SgzftQySFFYwDhthWLxhYMG4B0/Oms6N5xwmZj0eDvlJK\\nubyWE8RvnXM7kXSQ3HQCK2yRH3ibjctq+Kb9KPefez8TsycSS8XY27b3KO94/NGgr5RSLssN+heW\\nXkRuKkQmSVLBXGZFfgVAvFrwWl7GRccBnJDLKGrQV0opl2U54/cdsRQmbSFiY0L5jPFUMvGMItqb\\n4mx4fR81y5z6bcm24Wvse6QrZymllMtyI2KsI44xHpA0kplPpnQiQYi1Jln6SydjZ+acHNoSJ17Q\\n156+Ukq5LK8TEmNtHaSNB7HS+KKFAKSl98NYk+tOPSF7+hr0lVLKZQUEgFh7R1dPP7/QybvzVuXu\\nXnUL2sZqT18ppU5kHp+zxtOKJ6tJGx9iGbILnGzwe2u2ddWbMKuAvFgprckTbzUtDfpKKeXKCKco\\nqF3dtW15UlB8CunMIu4M/oiEP86Cm6aTW5pBNJZHe2fHEd7t+KRBXymlXN5wkJPXPcq8hR3MzH6M\\n4pz14AtiXfB18qWBs3Pv4bmWVv6wfT+CRbxuuFv87mnQV0opV1cqZtNEuazAu7yGpsWLYc7H2Fx4\\nCYXpOn75wgo2VW0HINlqDnmP7c3baehs6NfnVbUN/fIiGvSVUsrlCWcCkG5rhb02nnWN7Pva1zHG\\nQLSUYmngj4Gv89PAvwOQ6jw0DcNVf7yK9z/x/qN+1rM7nmXhUwtZvm/5wJ7EUeg8faWUcmVmZ9EI\\n7KrcT1GsO6Cn9u/HlzOWgKQoo452cZKvJfsI+gfcsvQWTi06FUGYmjuV00pO67V/8ebFAKyoXsEZ\\nJWcM/MkchgZ9pZRyRXJzaAS27qji9B4BPb5tGxn5Y7u2/eLcwE3Hex+fTCe7Xr+852Ve3uOssBX0\\nBHnx2hfJCmQ5x5k0q2ucG8Z/2PIHPjHjE0T90cE4pUP0a3hHRBaKyCYR2Soit/Wx/wERWeP+bRaR\\nph777B77Dl5mUSmljhuSXwHA1Z4VSKfBBJx+cWLbdvLGTOiq1xipwGCT6jTc9+Z9fGfFd3i18lVa\\nE84Uzs/M/AxrPraG1697nd9c9hs67U7+sOUPXcc3dDaQTCfxW35qY7Xc9+Z9Q3aORw36IuIBHgIu\\nBaYD14nI9J51jDFfNMbMMsbMAv4L+H2P3bED+4wxV6KUUscpK9PpbZcm95GKeQiX52FFoyR27sCT\\n4/b0x59LvGQefumgwCrlqS1P8esNv+b+Ffd3Bf2ySBkey0PEH+HkgpMZnzWeNbVruj5nf8d+AL45\\n/5tE/BEqWyuH7hz7Uec0YKsxZrsxJgE8Dlx1hPrX4ayTq5RSJxRPjjNWH8u5hJQdwVs2Hm9hAam6\\nesjIh5tegOt/hxTPIGS1c5J/Jm/e8CafOulTVLZW0tjZCHDIUE1FtIKdzTu7tmvaawAYGx3L/NL5\\n1MZqew0NDab+BP0xQM/8oZVu2SFEZBwwHljaozgoIitFZLmIXP2eW6qUUoPMV1xM9LJLaXjhbRIN\\nCbzlk/Hm5pFqqHcqlJ8GviCegin4pQO73cnHU5FVQcqkWFe/juxYIcFkRq/3rciqYHfrblJpZ2Wu\\nmg4n6Gd0ZpMfyqcuVsetf72Vf3z+Hwf9HAd6yuYiYLExPVYPhnHGmLnA9cCDIjLx4INE5Gb3i2Fl\\nbW3tADdJKaX6r/C227p6/P7ycjx5udj1vefdB6O5TtDvdEJdRbQCgLW1a1m05g5W3t/Sq/746HiS\\n6SR72/aSTCd5fe/rTKmby5JvbSa3vpxYKsbfqv5Gfrj3OryDoT+zd6qA8h7bZW5ZXxYBn+1ZYIyp\\ncv/dLiLLgNnAtoPqPAI8AjB37txDn3ZQSqkh4issZMLT/0ti2zaCM2aQ2LWL9vr6XnXCkVz8Vgd2\\n0glXFVkVALxV+xZjuQSA/31wNWOmZIMIOVEnhL5a9SrL9y1n2Z5lXLn/cwAE9+eCQCwVY07hnEE/\\nv/4E/RXAZBEZjxPsF+H02nsRkalADvBGj7IcoMMYExeRfGA+cP9ANFwppQaLJxIhNGsWAN78PNIt\\nLZhEAvH7AQhk5hCQduykk5Uz6o9SEa1gd1N3Js6qzU1UbnTG+D0+i1nnzeXbb34bgPxgAaVtkwBo\\nX+0ndFKEmL+V2YWzB/3cjhr0jTEpEfkc8DzgAR4zxqwTkXuAlcaYA9MwFwGPG2N69tSnAT8WkTTO\\nUNK3jTHrB/YUlFJq8Hhy8wBINTbiKypyCv0RfFaMdMJLfVUblkeYX3gO1fXOxMUzrp7AnEvGkbYN\\nTfs7ePybb3KDfJaTpr3EeeXncVJ4Fj9/+TX8IS+JWIqzdl3N36Y+yaTsSYN+Pv16OMsYswRYclDZ\\nnQdt39XHca8DJx9D+5RSalh583IBsOvru4O+ZVEUeId3Ohby+DffBKC04jQC2c8BkJkTRETweIW8\\nMZnklmaQ3u/n1mtuBaBmlzPmf8HHpvLq77YwzTeTr3/wJkRk0M9Hc+8opdQRHOjpJyp7z6XPDW1l\\nctmTXHzTDMadnEe8Wnjk3EcB2Fjfe3GVnKIwjdXdaZjbGp1HeSN5QUonZRNORginIqTtw6d1GCga\\n9JVS6giCM6bjLSxk3x1fo+3Vv3WVd3oyiVq7mTyviHEz8kh02khTEIDvLN1Az5Hu7OIwLbUxbDeo\\nHwj6mTlBMrL8tDcnWPqrjfzu2ysH/Xw06Cul1BFYgQCFX/0q6dZW6n70o67yhCeToO08gZtd7KRk\\nrt7eDMC3/Q+zek9XNhpyijNIpw0ttTHiHUneXlYJAv7vFoNdj51Ms/PtOgrGRgb9fDThmlJKHUXW\\nFR+g7dW/Elu5ivjWrdiNjSR8EYKd+wDIKXIextq7zQn6szzreel3t1Jx7gLE8hANOo8nrX5hN7W7\\nW2na7wz1eMWmbc9rwGwwUDIxe9DPRYO+Ukr1g6+klJb9S9j+gSsAMDfPIGTauf33a7GA8rCXpn1O\\nMA9Y7VzZ+gQ88wQALWQydtr/suG1fXgDHibPK6R089cAKGl5ja04UzVLJ2cN+nlo0FdKqX7wlRSD\\n3Z1soKDWkBFs57V1O2mOpznfG2Wyu2/v+KvZP+dL1NVU0Vm9mX/Y+m+UFv6ViXMXMWZKDpanicgP\\nnLTLFem1vAoUVkTJKggP+nnomL5SSvWDr6Sk13ayxiLDtPNX+2O85f0EF3gexRsQxvpX0Vl6GvNO\\nmc6lFy3gqus/w26K8ex9menzS8kqCNGwdycAL0z6GmFPPacW/YRrvjL4T+OCBn2llOoXb3F30M84\\n5xziNZ3w0afgorupz5vDuf5l5FzQzBW53yKQmdtV17KE2uB4cjt2dpW11uwCoOx9p7I68n7KvtEC\\nawAACeRJREFUPKvxpDvBDH4WGg36SinVD/7yMqzMTIruuIPgjOnEt+8gPfZcOPsLJKZcQba007Tb\\nSTgQjPZOnBbLmkhJqop0ykmf3NngJC7OKhlPMlxEbrqBjQ8vYsd/njvo56FBXyml+sEKh5my4k1y\\nP/ZRgu97H9g2iW1O7sjccScBkFn7dwDCWb2DvlX4PnxiU7tnEybeSsn2xaSMRX5hGSazmDBxJja9\\nRrWn9xDSYNAbuUop1U8H0iT4SksBSNXUwLRpBIqnATCLzQBkRPN6HRetmANvQ+srD9G5fw3jYhtB\\nAL8Pb5YT6H2kSJWdOejnoEFfKaXeJSvirIxltzgPZ5FVRqc/l+kJZ6zeCuf0qj9t9nxWPjubuTt/\\nQ6fxsczMpnXi5VwBhPK616QqOvn8QW+7Bn2llHqXPFHnyVm71V0sRQTfKdfASif3Dr5g7/qWEPrQ\\nj/j9K0+Qf8rFnHdmd48+UuQsuL42PZ6Tps4c9LZr0FdKqXfJijhBP32gpw945t4I6/8IY07t85gZ\\nU6cyY+o3DimvmDSdZ+b9jHlnXYhlDX6WTQ36Sin1LlmBABIIdPf0AYpPhv+37fAHHYaIcPnl1wxg\\n645MZ+8opdR7YEUjvXr6JwoN+kop9R54IlHs1hEa9EVkoYhsEpGtInJbH/sfEJE17t9mEWnqse8T\\nIrLF/fvEQDZeKaWGiycSId3Sckj5vrvvpuFXvz7q8cn9NVR+4YukGhoGo3mHddQxfRHxAA8BC4BK\\nYIWIPN1zrVtjzBd71P88OCnjRCQX+AYwFzDAKvfYxgE9C6WUGmJWNIrd3HxIedNvHwfAP7Yc/8RJ\\niCV4cnKwQqFe9Wq+8x1an3uO0MyZ5H3yxqFoMtC/nv5pwFZjzHZjTAJ4HLjqCPWvA37rvr4EeMEY\\n0+AG+heAhcfSYKWUOh701dM36e7lDvf886fZdtFFbL3gQrZffTUmmeyuZwztr78OQOzvq4amwa7+\\nBP0xwJ4e25Vu2SFEZBwwHlj6bo4VkZtFZKWIrKytre1Pu5VSalhZ0Qh2c3OvZRHTbc7auIFp0xjz\\n4AOU3Pst8v7l0yR37ab5mWe667W0YNfXA9D6wovUPPDg0LV7gN9vEbDYGGMftWYPxphHjDFzjTFz\\nCwoKBrhJSik18AKTJmM3NrJ53mlsOu109n3jLmy355/78Y8TXbiQ7A9+kIJbbsFbUkL7X1/tOjZZ\\nXQ1A4Ve+DEB848Yha3d/5ulXAeU9tsvcsr4sAj570LHnHXTssv43Tymljk8511+HFQrSuXETHStX\\n0vqXv5B97bUAeLKiXfVEhOCUKcS3bu0qS+5zllkMz51L+PTTsd1fCEOhPz39FcBkERkvIn6cwP70\\nwZVEZCqQA7zRo/h54GIRyRGRHOBit0wppU5oYllkf/CDFN/xb2RffZWzbu6OHQB4snovexiYPInE\\njh2YVAqAlBv0vSWlWJFM0kM49fOoPX1jTEpEPocTrD3AY8aYdSJyD7DSGHPgC2AR8LjpMcBljGkQ\\nkW/ifHEA3GOMGdr5SUopNcj8EycB0LFqJXBo0PdPnIRJJkns3oM3P4+GX/4KRPDm5+HJjNDZdhwF\\nfQBjzBJgyUFldx60fddhjn0MeOw9tk8ppY57gUkTAYitcmbiHBz0g9OnA1D7gx+Q2Lat6xeBeDxY\\nmZmk29qHrK2ae0cppY6Rt6gIb3Ex8S3OuL11cNB/3xQiCy6i9bnnsLKyyP7wh8k4e75TN5JJuq0N\\nY0xXvv5Bbeugf4JSSo1wIkLWBy6n/tGfAmD5/YfUKfnWt8i6+mpCM2fize9eWcuTGYF0mnR7B57M\\njEFvqwZ9pZQaANmLriO29m2C06b2ud+TlUXkwgsPKbcimQA0//73eAsLiS68ZFDbqUFfKaUGgL9s\\nDON++Yt3fZzHzc1f873vETxpxqAHfc2yqZRSw8jKdIK+6ewk4/QzBv/zBv0TlFJKHZbVYxw/44zT\\nB//zBv0TlFJKHdaB4R2A0MzBXyNXg75SSg0jf0UFuTfeyIQlS5A+Zv0MNL2Rq5RSw0i8Xopuu3XI\\nPk97+kopNYpo0FdKqVFEg75SSo0iGvSVUmoU0aCvlFKjiAZ9pZQaRTToK6XUKKJBXymlRhHpsbrh\\ncUFEaoFdx/AW+UDdADVnJNHrcnh6bQ5Pr83hHW/XZpwxpuBolY67oH+sRGSlMWbucLfjeKPX5fD0\\n2hyeXpvDO1GvjQ7vKKXUKKJBXymlRpGRGPQfGe4GHKf0uhyeXpvD02tzeCfktRlxY/pKKaUObyT2\\n9JVSSh3GiAn6IrJQRDaJyFYRuW242zPUROQxEakRkXd6lOWKyAsissX9N8ctFxH5gXut1orInOFr\\n+eATkXIReVlE1ovIOhH5V7d8VF8fEQmKyJsi8pZ7Xe52y8eLyP+55/+EiPjd8oC7vdXdXzGc7R8K\\nIuIRkdUi8md3+4S/NiMi6IuIB3gIuBSYDlwnItOHt1VD7ufAwoPKbgNeMsZMBl5yt8G5TpPdv5uB\\nHw5RG4dLCviyMWY6cAbwWfe/j9F+feLABcaYmcAsYKGInAHcBzxgjJkENAI3ufVvAhrd8gfceiPd\\nvwIbemyf+NfGGHPC/wFnAs/32L4duH242zUM16ECeKfH9iagxH1dAmxyX/8YuK6veqPhD/hfYIFe\\nn17XJAz8HTgd54Ejr1ve9f8W8Dxwpvva69aT4W77IF6TMpzOwAXAnwEZCddmRPT0gTHAnh7blW7Z\\naFdkjNnnvq4GitzXo/Z6uT+7ZwP/h16fA8MXa4Aa4AVgG9BkjEm5VXqee9d1cfc3A3lD2+Ih9SDw\\n/4C0u53HCLg2IyXoq6MwThdkVE/VEpFM4CngC8aYlp77Ruv1McbYxphZOL3a04Cpw9yk44KIfACo\\nMcasGu62DLSREvSrgPIe22Vu2Wi3X0RKANx/a9zyUXe9RMSHE/D/xxjze7dYr4/LGNMEvIwzZJEt\\nIl53V89z77ou7v4soH6ImzpU5gNXishO4HGcIZ7vMwKuzUgJ+iuAye6ddT+wCHh6mNt0PHga+IT7\\n+hM4Y9kHyj/uzlI5A2juMcwx4oiIAD8FNhhjvtdj16i+PiJSICLZ7usQzn2ODTjB/0NutYOvy4Hr\\n9SFgqfsLacQxxtxujCkzxlTgxJOlxpgbGAnXZrhvKgzgTZfLgM04Y5J3DHd7huH8fwvsA5I4Y403\\n4YwpvgRsAV4Ect26gjPbaRvwNjB3uNs/yNfmbJyhm7XAGvfvstF+fYBTgNXudXkHuNMtnwC8CWwF\\nfgcE3PKgu73V3T9huM9hiK7TecCfR8q10SdylVJqFBkpwztKKaX6QYO+UkqNIhr0lVJqFNGgr5RS\\no4gGfaWUGkU06Cul1CiiQV8ppUYRDfpKKTWK/H8xVMhplzM1VQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x121e482e8>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x122262320>]\"\n      ]\n     },\n     \"execution_count\": 20,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1220a9080>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 1\n}\n"
  },
  {
    "path": "notebooks/lstm_(7).ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import tensorflow as tf\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\n\",\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"        \\n\",\n    \"symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def lstm_iterator(raw_data, num_steps, data_size):\\n\",\n    \"  batch_size=1\\n\",\n    \" \\n\",\n    \"  raw_data = np.array(raw_data, dtype=np.float32)\\n\",\n    \"\\n\",\n    \"  data_len = len(raw_data)\\n\",\n    \"  batch_len = data_len // batch_size\\n\",\n    \"  data = np.zeros([batch_size, batch_len, data_size], dtype=np.float32)\\n\",\n    \"  for i in range(batch_size):\\n\",\n    \"    data[i] = raw_data[batch_len * i:batch_len * (i + 1),:]\\n\",\n    \"\\n\",\n    \"  epoch_size = (batch_len - 1) // num_steps\\n\",\n    \"\\n\",\n    \"  if epoch_size == 0:\\n\",\n    \"    raise ValueError(\\\"epoch_size == 0, decrease batch_size or num_steps\\\")\\n\",\n    \"\\n\",\n    \"  for i in range(epoch_size):\\n\",\n    \"    x = data[:, i*num_steps:(i+1)*num_steps]\\n\",\n    \"    y = data[:, i*num_steps+1:(i+1)*num_steps+1]\\n\",\n    \"    yield (x[0], y[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"\\\"symbol_list = ['C', 'GS']\\\\nrets = get_data(symbol_list)\\\\nins, outs = sort_data(rets)\\\\nins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\\\ndiv = int(.8 * ins.shape[0])\\\\ntrain_ins, train_outs = ins[:div], outs[:div]\\\\ntest_ins, test_outs = ins[div:], outs[div:]\\\\n\\\\n#normalize inputs\\\\ntrain_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)\\\"\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"'''symbol_list = ['C', 'GS']\\n\",\n    \"rets = get_data(symbol_list)\\n\",\n    \"ins, outs = sort_data(rets)\\n\",\n    \"ins = ins.transpose([0,2,1]).reshape([-1, len(symbol_list) * 100])\\n\",\n    \"div = int(.8 * ins.shape[0])\\n\",\n    \"train_ins, train_outs = ins[:div], outs[:div]\\n\",\n    \"test_ins, test_outs = ins[div:], outs[div:]\\n\",\n    \"\\n\",\n    \"#normalize inputs\\n\",\n    \"train_ins, test_ins = train_ins/np.std(ins), test_ins/np.std(ins)'''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#sess = tf.InteractiveSession()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class LSTMModel(object):\\n\",\n    \"    def __init__(self, num_steps, num_samples):#, config):\\n\",\n    \"        symbol_list = ['C', 'GS']\\n\",\n    \"\\n\",\n    \"        positions = tf.constant([-1,0,1]) #long, neutral or short\\n\",\n    \"        num_positions = 3\\n\",\n    \"        num_symbols = len(symbol_list)\\n\",\n    \"        self.num_samples = num_samples\\n\",\n    \"        self.num_steps = num_steps\\n\",\n    \"\\n\",\n    \"        #n_input = num_symbols * 100\\n\",\n    \"\\n\",\n    \"        hidden_size=21\\n\",\n    \"        n_classes = num_positions * num_symbols\\n\",\n    \"\\n\",\n    \"        #self.num_steps = tf.placeholder(tf.int64)\\n\",\n    \"\\n\",\n    \"        # define placeholders \\n\",\n    \"        self.inputs_ = tf.placeholder(tf.float32, [None, num_symbols])\\n\",\n    \"        self.targets_ = tf.placeholder(tf.float32, [None,  num_symbols])\\n\",\n    \"\\n\",\n    \"        cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_size, forget_bias=0.0)\\n\",\n    \"        #cell = tf.nn.rnn_cell.MultiRNNCell([cell] * config.num_layers)\\n\",\n    \"        cell = tf.nn.rnn_cell.InputProjectionWrapper(cell,  num_symbols)\\n\",\n    \"        cell = tf.nn.rnn_cell.OutputProjectionWrapper(cell, n_classes)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        outputs=[]\\n\",\n    \"        self.initial_state = cell.zero_state(1, tf.float32)\\n\",\n    \"        state = self.initial_state\\n\",\n    \"        time_step = 0\\n\",\n    \"        \\n\",\n    \"        '''with tf.variable_scope(\\\"RNN\\\"):\\n\",\n    \"            def body(x):\\n\",\n    \"                inp = self.inputs_[time_step,:]\\n\",\n    \"                inp = tf.reshape(inp, [1,-1])\\n\",\n    \"                (cell_output, state) = cell(inp, state)\\n\",\n    \"                outputs.append(cell_output)\\n\",\n    \"                return \\n\",\n    \"\\n\",\n    \"            def condition(x):\\n\",\n    \"                return tf.reduce_sum(x) < 100\\n\",\n    \"        \\n\",\n    \"            tf.while_loop(condition, body, [x])'''\\n\",\n    \"            \\n\",\n    \"        with tf.variable_scope(\\\"RNN\\\"):\\n\",\n    \"            for time_step in range(self.num_steps):   #####num_steps???\\n\",\n    \"                if time_step > 0: tf.get_variable_scope().reuse_variables()    \\n\",\n    \"                inp = self.inputs_[time_step,:]\\n\",\n    \"                inp = tf.reshape(inp, [1,-1])\\n\",\n    \"                (cell_output, state) = cell(inp, state)\\n\",\n    \"                outputs.append(cell_output) #[6,]\\n\",\n    \"\\n\",\n    \"        self.final_state = state \\n\",\n    \"\\n\",\n    \"        y = tf.reshape(tf.concat(1, outputs), [-1, n_classes])\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        # loop through symbol, taking the columns for each symbol's bucket together\\n\",\n    \"        pos = {}\\n\",\n    \"        sample_n = {}\\n\",\n    \"        sample_mask = {}\\n\",\n    \"        symbol_returns = {}\\n\",\n    \"        relevant_target_column = {}\\n\",\n    \"        for i in range(num_symbols):\\n\",\n    \"            # isolate the buckets relevant to the symbol and get a softmax as well\\n\",\n    \"            symbol_probs = y[:,i*num_positions:(i+1)*num_positions]\\n\",\n    \"            symbol_probs_softmax = tf.nn.softmax(symbol_probs) # softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))\\n\",\n    \"            # sample probability to chose our policy's action\\n\",\n    \"            sample = tf.multinomial(tf.log(symbol_probs_softmax), num_samples)\\n\",\n    \"            for sample_iter in range(num_samples):\\n\",\n    \"                sample_n[i*num_samples + sample_iter] = sample[:,sample_iter]\\n\",\n    \"                pos[i*num_samples + sample_iter] = tf.reshape(sample_n[i*num_samples + sample_iter], [-1]) - 1\\n\",\n    \"                symbol_returns[i*num_samples + sample_iter] = tf.mul(\\n\",\n    \"                                                                    tf.cast(pos[i*num_samples + sample_iter], float32), \\n\",\n    \"                                                                     self.targets_[:,i])\\n\",\n    \"\\n\",\n    \"                sample_mask[i*num_samples + sample_iter] = tf.cast(tf.reshape(tf.one_hot(sample_n[i*num_samples + sample_iter], 3), [-1,3]), float32)\\n\",\n    \"                relevant_target_column[i*num_samples + sample_iter] = tf.reduce_sum(\\n\",\n    \"                                                            symbol_probs * sample_mask[i*num_samples + sample_iter],1)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        daily_returns_by_symbol_ = tf.concat(1, [tf.reshape(t, [-1,1]) for t in symbol_returns.values()])\\n\",\n    \"        daily_returns_by_symbol = tf.transpose(tf.reshape(daily_returns_by_symbol_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"        daily_returns = tf.reduce_mean(daily_returns_by_symbol, 2) # [?,5]\\n\",\n    \"\\n\",\n    \"        total_return = tf.reduce_prod(daily_returns+1, 0)\\n\",\n    \"        z = tf.ones_like(total_return) * -1\\n\",\n    \"        self.total_return = total_return = tf.add(total_return, z)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        ann_vol = tf.mul(\\n\",\n    \"            tf.sqrt(tf.reduce_mean(tf.pow((daily_returns - tf.reduce_mean(daily_returns, 0)),2),0)) ,\\n\",\n    \"            np.sqrt(252)\\n\",\n    \"            )\\n\",\n    \"        self.sharpe = tf.div(total_return, ann_vol)\\n\",\n    \"        #Maybe metric slicing later\\n\",\n    \"        #segment_ids = tf.ones_like(daily_returns[:,0])\\n\",\n    \"        #partial_prod = tf.segment_prod(daily_returns+1, segment_ids)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"        training_target_cols = tf.concat(1, [tf.reshape(t, [-1,1]) for t in relevant_target_column.values()])\\n\",\n    \"        ones = tf.ones_like(training_target_cols)\\n\",\n    \"        gradient_ = tf.nn.sigmoid_cross_entropy_with_logits(training_target_cols, ones)\\n\",\n    \"\\n\",\n    \"        gradient = tf.transpose(tf.reshape(gradient_, [-1,2,num_samples]), [0,2,1]) #[?,5,2]\\n\",\n    \"\\n\",\n    \"        #cost = tf.mul(gradient , daily_returns_by_symbol_reshaped)\\n\",\n    \"        #cost = tf.mul(gradient , tf.expand_dims(daily_returns, -1))\\n\",\n    \"        cost = tf.mul(gradient , tf.expand_dims(total_return, -1))\\n\",\n    \"        #cost = tf.mul(gradient , tf.expand_dims(sharpe, -1))\\n\",\n    \"\\n\",\n    \"        self.optimizer = tf.train.GradientDescentOptimizer(0.0001).minimize(cost)\\n\",\n    \"        self.costfn = tf.reduce_mean(cost)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def run_train_results(m, epoch):\\n\",\n    \"    state = m.initial_state.eval()\\n\",\n    \"    full_feed = {m.inputs_: rets[:-1], m.targets_: rets[1:], m.initial_state: state}\\n\",\n    \"    \\n\",\n    \"    t,s, c = session.run([ m.total_return, m.sharpe, m.costfn], feed_dict=full_feed)\\n\",\n    \"    t = np.mean(t)\\n\",\n    \"    s = np.mean(s)\\n\",\n    \"    print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"         \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def run_epoch(m, epoch):\\n\",\n    \"    \\n\",\n    \"    full_feed = {m.inputs_: rets[:-1], m.targets_: rets[1:]}\\n\",\n    \"    state = m.initial_state.eval()\\n\",\n    \"    for step, (x, y) in enumerate(lstm_iterator(rets,20,2 )):\\n\",\n    \"        #m.num_steps = len(x)\\n\",\n    \"        feed_dict = {m.inputs_: x, m.targets_: y, m.initial_state: state}\\n\",\n    \"        _ , state = session.run([m.optimizer, m.final_state], feed_dict=feed_dict)\\n\",\n    \"        \\n\",\n    \"    '''if (epoch+1)%2== 0:\\n\",\n    \"        t,s, c = session.run([ m.total_return, m.sharpe, m.costfn], feed_dict=feed_dict)#full_feed)#.reshape(1,-1).T})\\n\",\n    \"        t = np.mean(t)\\n\",\n    \"        s = np.mean(s)\\n\",\n    \"        print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"             \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))'''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x1f464ed30>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"getting results...\\n\",\n      \"Epoch: 0001 cost= -0.50711 total return= -0.731922448 sharpe= -2.518890381\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0002 cost= -0.479199 total return= -0.690995097 sharpe= -2.211014509\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0003 cost= 0.802528 total return= 1.158372164 sharpe= 4.109907150\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0004 cost= -0.504468 total return= -0.728531718 sharpe= -2.387005329\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0005 cost= -0.607678 total return= -0.877253473 sharpe= -2.718842506\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0006 cost= 0.449566 total return= 0.648839116 sharpe= 2.242624998\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0007 cost= 0.223947 total return= 0.323118806 sharpe= 0.947408140\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0008 cost= 0.29168 total return= 0.421271563 sharpe= 1.259648323\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0009 cost= -0.353979 total return= -0.511379957 sharpe= -1.703359842\\n\",\n      \"getting results...\\n\",\n      \"Epoch: 0010 cost= -0.383745 total return= -0.553670168 sharpe= -1.732698441\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"with tf.Graph().as_default(), tf.Session() as session:\\n\",\n    \"    # initialize variables to random values\\n\",\n    \"    #init = tf.initialize_all_variables()\\n\",\n    \"    #sess.run(init)\\n\",\n    \"    # run optimizer on entire training data set many times\\n\",\n    \"    #train_size = train_ins.shape[0]\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=None):#, initializer=init):\\n\",\n    \"        m = LSTMModel(num_steps = 20, num_samples = 5)#, config=config)\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=True):#, initializer=init):\\n\",\n    \"        mvalid = LSTMModel(num_steps = len(rets) -1, num_samples = 1)#, config=config)\\n\",\n    \"    tf.initialize_all_variables().run()\\n\",\n    \"    for epoch in range(10):\\n\",\n    \"        #start = rng.randint(train_size-50)\\n\",\n    \"        #batch_size = rng.randint(2,25)\\n\",\n    \"        #end = min(train_size, start+batch_size)\\n\",\n    \"\\n\",\n    \"        run_epoch(m, epoch )\\n\",\n    \"        print('getting results...')\\n\",\n    \"        run_train_results(mvalid, epoch)\\n\",\n    \"        '''sess.run(optimizer, feed_dict={inputs_: train_ins[start:end], targets_: train_outs[start:end]})#.reshape(1,-1).T})\\n\",\n    \"        # every 1000 iterations record progress\\n\",\n    \"        if (epoch+1)%100== 0:\\n\",\n    \"            t,s, c = sess.run([ total_return, sharpe, costfn], feed_dict={inputs_: train_ins, targets_: train_outs})#.reshape(1,-1).T})\\n\",\n    \"            t = np.mean(t)\\n\",\n    \"            s = np.mean(s)\\n\",\n    \"            print(\\\"Epoch:\\\", '%04d' % (epoch+1), \\\"cost=\\\",c, \\\"total return=\\\", \\\"{:.9f}\\\".format(t), \\n\",\n    \"                 \\\"sharpe=\\\", \\\"{:.9f}\\\".format(s))\\n\",\n    \"            #print(t)'''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<bound method Tensor.eval of <tf.Tensor 'RNN/BasicLSTMCell_19/concat:0' shape=(1, 42) dtype=float32>>\"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"state.eval\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# in sample results\\n\",\n    \"#init = tf.initialize_all_variables()\\n\",\n    \"#sess.run(init)\\n\",\n    \"d, t = sess.run([daily_returns, pos[0]], feed_dict=feed_dict)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([[-0.02278614, -0.01349073],\\n\",\n       \"       [ 0.01645574,  0.00046793],\\n\",\n       \"       [-0.06229091, -0.03424059],\\n\",\n       \"       [-0.02301918,  0.00290978],\\n\",\n       \"       [-0.01444814, -0.00732817],\\n\",\n       \"       [ 0.        , -0.00972121],\\n\",\n       \"       [ 0.00513662,  0.00950007],\\n\",\n       \"       [ 0.03661115,  0.02413904],\\n\",\n       \"       [-0.00243609,  0.01114777],\\n\",\n       \"       [-0.00534623, -0.00740445],\\n\",\n       \"       [-0.0391589 , -0.01933518],\\n\",\n       \"       [ 0.00744369,  0.0029232 ],\\n\",\n       \"       [ 0.0018748 ,  0.00951207],\\n\",\n       \"       [ 0.00845272,  0.00980073],\\n\",\n       \"       [-0.01468148, -0.01574339],\\n\",\n       \"       [-0.01610275, -0.03067165],\\n\",\n       \"       [-0.00137798,  0.00831226],\\n\",\n       \"       [ 0.00504581,  0.01337255],\\n\",\n       \"       [ 0.02328266,  0.00077818],\\n\",\n       \"       [ 0.0101487 ,  0.00700935]], dtype=float32)\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x_\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10e3df898>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# equity curve\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x11882d5c0>]\"\n      ]\n     },\n     \"execution_count\": 18,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1168ed6a0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 66,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"d, t = sess.run([daily_returns, total_return], feed_dict={x: test_ins, y_: test_outs})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 67,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1339154e0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#out of sample results\\n\",\n    \"for i in range(5):\\n\",\n    \"    plot(np.cumprod(d[:,[i]]+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "notebooks/policy_net-multisymbol_(july11).ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Populating the interactive namespace from numpy and matplotlib\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%pylab inline\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"\\n\",\n    \"import tensorflow as tf\\n\",\n    \"#from tensorflow.models.rnn import rnn, rnn_cell\\n\",\n    \"import numpy as np\\n\",\n    \"import numpy.random as rng\\n\",\n    \"\\n\",\n    \"import time\\n\",\n    \"\\n\",\n    \"import pandas.io.data as web\\n\",\n    \"from pykalman import KalmanFilter\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\n\",\n    \"def get_prices(symbol):\\n\",\n    \"    start, end = '2007-05-02', '2016-04-11'\\n\",\n    \"    data = web.DataReader(symbol, 'yahoo', start, end)\\n\",\n    \"    data=pd.DataFrame(data)\\n\",\n    \"    prices=data['Adj Close']\\n\",\n    \"    prices=prices.astype(float)\\n\",\n    \"    return prices\\n\",\n    \"\\n\",\n    \"def get_returns(prices):\\n\",\n    \"        return ((prices-prices.shift(-1))/prices)[:-1]\\n\",\n    \"    \\n\",\n    \"def get_data(list):\\n\",\n    \"    l = []\\n\",\n    \"    for symbol in list:\\n\",\n    \"        rets = get_returns(get_prices(symbol))\\n\",\n    \"        l.append(rets)\\n\",\n    \"    return np.array(l).T\\n\",\n    \"        \\n\",\n    \"rets = get_data(['C', 'GS'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def lstm_iterator(raw_data, batch_size, num_steps, data_size):\\n\",\n    \" \\n\",\n    \"  raw_data = np.array(raw_data, dtype=np.float32)\\n\",\n    \"\\n\",\n    \"  data_len = len(raw_data)\\n\",\n    \"  batch_len = data_len // batch_size\\n\",\n    \"  data = np.zeros([batch_size, batch_len, data_size], dtype=np.float32)\\n\",\n    \"  for i in range(batch_size):\\n\",\n    \"    data[i] = raw_data[batch_len * i:batch_len * (i + 1),:]\\n\",\n    \"\\n\",\n    \"  epoch_size = (batch_len - 1) // num_steps\\n\",\n    \"\\n\",\n    \"  if epoch_size == 0:\\n\",\n    \"    raise ValueError(\\\"epoch_size == 0, decrease batch_size or num_steps\\\")\\n\",\n    \"\\n\",\n    \"  for i in range(epoch_size):\\n\",\n    \"    x = data[:, i*num_steps:(i+1)*num_steps]\\n\",\n    \"    y = data[:, i*num_steps+1:(i+1)*num_steps+1]\\n\",\n    \"    yield (x, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def run_epoch(session, m, data, eval_op, verbose=False, get_out=False):\\n\",\n    \"  \\\"\\\"\\\"Runs the model on the given data.\\\"\\\"\\\"\\n\",\n    \"  epoch_size = ((len(data) // m.batch_size) - 1) // m.num_steps\\n\",\n    \"  start_time = time.time()\\n\",\n    \"  costs = 0.0\\n\",\n    \"  iters = 0\\n\",\n    \"  state = m.initial_state.eval()\\n\",\n    \"  output = []\\n\",\n    \"  inp = []\\n\",\n    \"  targ = []\\n\",\n    \"  for step, (x, y) in enumerate(lstm_iterator(data, m.batch_size, m.num_steps, m.data_size)):\\n\",\n    \"    cost, state, _ = session.run([m.cost, m.final_state, eval_op],\\n\",\n    \"                                 {m.input_data: x,\\n\",\n    \"                                  m.targets: y,\\n\",\n    \"                                  m.initial_state: state})\\n\",\n    \"    costs += cost\\n\",\n    \"    #print(cost)\\n\",\n    \"    iters += m.num_steps\\n\",\n    \"    if get_out: \\n\",\n    \"      output.append(_)\\n\",\n    \"      inp.append(x)\\n\",\n    \"      targ.append(y)\\n\",\n    \"    \\n\",\n    \"  if len(output) > 0: \\n\",\n    \"    return output, inp, targ\\n\",\n    \"\\n\",\n    \"  ''' if verbose and step % (epoch_size // 10) == 10:\\n\",\n    \"      print(\\\"%.3f perplexity: %.3f speed: %.0f wps\\\" %\\n\",\n    \"            (step * 1.0 / epoch_size, np.exp(costs / iters),\\n\",\n    \"             iters * m.batch_size / (time.time() - start_time)))\\n\",\n    \"  '''\\n\",\n    \"  return np.exp(costs / iters)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class SmallConfig(object):\\n\",\n    \"    \\\"\\\"\\\"Small config.\\\"\\\"\\\"\\n\",\n    \"    init_scale = 1.1\\n\",\n    \"    learning_rate = .60\\n\",\n    \"    max_grad_norm = 5\\n\",\n    \"    num_layers = 4\\n\",\n    \"    num_steps = 25\\n\",\n    \"    hidden_size = 200\\n\",\n    \"    max_epoch = 4\\n\",\n    \"    max_max_epoch = 13\\n\",\n    \"    keep_prob = 1.0\\n\",\n    \"    lr_decay = 0.9\\n\",\n    \"    batch_size = 20\\n\",\n    \"    #vocab_size = 10000\\n\",\n    \"    \\n\",\n    \"class TestConfig(object):\\n\",\n    \"  \\\"\\\"\\\"Tiny config, for testing.\\\"\\\"\\\"\\n\",\n    \"  init_scale = 0.1\\n\",\n    \"  learning_rate = 1.0\\n\",\n    \"  max_grad_norm = 1\\n\",\n    \"  num_layers = 4\\n\",\n    \"  num_steps = 25\\n\",\n    \"  hidden_size = 20\\n\",\n    \"  max_epoch = 1\\n\",\n    \"  max_max_epoch = 1\\n\",\n    \"  keep_prob = 1.0\\n\",\n    \"  lr_decay = 0.5\\n\",\n    \"  batch_size = 20\\n\",\n    \"  #vocab_size = 10000\\n\",\n    \"  #data_size= 2\\n\",\n    \"\\n\",\n    \"def get_config(test=False):\\n\",\n    \"    if test:\\n\",\n    \"        return TestConfig()\\n\",\n    \"    return SmallConfig()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class LSTMModel(object):\\n\",\n    \"\\n\",\n    \"    def __init__(self, is_training, config):\\n\",\n    \"        self.batch_size = batch_size = config.batch_size\\n\",\n    \"        self.num_steps = num_steps = config.num_steps\\n\",\n    \"        self.data_size = data_size = config.data_size\\n\",\n    \"        size = config.hidden_size\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        position_transform = tf.constant([[-1.,0.,1]])\\n\",\n    \"        pb_number = 3\\n\",\n    \"        \\n\",\n    \"        # set PLACEHOLDERS\\n\",\n    \"        self._input_data = tf.placeholder(tf.float32, [batch_size, num_steps, data_size])\\n\",\n    \"        self._targets = tf.placeholder(tf.float32, [batch_size, num_steps, data_size])\\n\",\n    \"        # set VARIABLES\\n\",\n    \"        lstm_cell = tf.nn.rnn_cell.BasicLSTMCell(size, forget_bias=0.0)\\n\",\n    \"        cell = tf.nn.rnn_cell.MultiRNNCell([lstm_cell] * config.num_layers)\\n\",\n    \"        cell = tf.nn.rnn_cell.InputProjectionWrapper(cell,  size)\\n\",\n    \"        cell = tf.nn.rnn_cell.OutputProjectionWrapper(cell, pb_number*data_size)\\n\",\n    \"        if is_training and config.keep_prob < 1:\\n\",\n    \"            cell = tf.nn.rnn_cell.DropoutWrapper(\\n\",\n    \"                cell, output_keep_prob=config.keep_prob)\\n\",\n    \"        \\n\",\n    \"        # loop through timesteps and record output\\n\",\n    \"        outputs = []\\n\",\n    \"        self._initial_state = cell.zero_state(batch_size, tf.float32)\\n\",\n    \"        state = self._initial_state\\n\",\n    \"        with tf.variable_scope(\\\"RNN\\\"):\\n\",\n    \"            for time_step in range(num_steps):\\n\",\n    \"                if time_step > 0: tf.get_variable_scope().reuse_variables()\\n\",\n    \"                    \\n\",\n    \"                (cell_output, state) = cell(tf.reshape(self._input_data[:, time_step,:], [-1, data_size]), state)\\n\",\n    \"                outputs.append(cell_output)\\n\",\n    \"        \\n\",\n    \"        self._final_state = state    #shape: [20,160]\\n\",\n    \"        \\n\",\n    \"        #reshape to [batchsize*num_steps, 3*data_size]\\n\",\n    \"        self._output = output = tf.reshape(tf.concat(1, outputs), [-1, data_size*pb_number])\\n\",\n    \"        targets = tf.reshape(self._targets, [-1,data_size])\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        pos_one_hot = {}\\n\",\n    \"        t_dict = {}\\n\",\n    \"        returns = []\\n\",\n    \"        for i in range(data_size):\\n\",\n    \"            relevant_output = output[:,i*pb_number:(i+1)*pb_number]\\n\",\n    \"            sample = tf.argmax(relevant_output) #this should be SAMPLE\\n\",\n    \"            pos_one_hot[i] = tf.one_hot(sample, depth= 3, on_value=-1.0, off_value=0.0)\\n\",\n    \"            t_dict[i] = tf.matmul(tf.reshape(targets[:,i], [-1,1]) , position_transform)\\n\",\n    \"            cross_entropy = tf.nn.softmax_cross_entropy_with_logits(output, pos_one_hot[i])\\n\",\n    \"            \\n\",\n    \"            returns.append( tf.mul(sample , t_dict[i])  )\\n\",\n    \"        returns = tf.reduce_sum(tf.concat(1,returns), 1)\\n\",\n    \"        total_return = tf.reduce_prod(returns+1)\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        cross_entropy = tf.nn.softmax_cross_entropy_with_logits(output, tf.nn.softmax(target_menu))\\n\",\n    \"        \\n\",\n    \"        #pos_one_hot = tf.concat(1, [ v for v in pos_one_hot.values() ])\\n\",\n    \"        self._cost = cost  =  total_return #* -100\\n\",\n    \"        cost = cost*-1\\n\",\n    \"        \\n\",\n    \"        #vol = tf.(returns)\\n\",\n    \"        #sharpe = total_return/vol\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        '''\\n\",\n    \"        self._output = output = tf.reshape(tf.concat(1, outputs), [-1, data_size*3]) # shape: [500, 3]=[??,data_size*3]\\n\",\n    \"        self._final_state = state    #shape: [20,160]    =     [hidden size, ??]\\n\",\n    \"        targets = tf.reshape(self._targets, [-1,data_size])\\n\",\n    \"        \\n\",\n    \"        outdict = {}\\n\",\n    \"        tm_dict = {}\\n\",\n    \"        xe_list = []\\n\",\n    \"        for i in range(data_size):\\n\",\n    \"            outdict[i] = output[:,i*3:(i+1)*3]\\n\",\n    \"            tm_dict[i] = tf.matmul(tf.reshape(targets[:,i], [-1,1]) , position_transform)\\n\",\n    \"            xe_list.append(tf.nn.softmax_cross_entropy_with_logits(outdict[i], tf.nn.softmax(tm_dict[i])))\\n\",\n    \"        \\n\",\n    \"        loss = tf.add_n(xe_list)\\n\",\n    \"        self._cost = cost = tf.reduce_sum(loss) / batch_size\\n\",\n    \"        \\n\",\n    \"        #drets = tf.mul(target_menu, tf.nn.softmax(output) )   # shape: [500, 3]   =   [??, data_size*3]\\n\",\n    \"        #max_possible_ret = tf.reduce_max(target_menu, 1)  # shape: [500]\\n\",\n    \"\\n\",\n    \"        #position = tf.cast(tf.argmax(output, 1) - 1, tf.float32)\\n\",\n    \"        #drets_position = tf.mul(position, tf.reshape(self._targets, [-1]))\\n\",\n    \"        \\n\",\n    \"        #set LOSS\\n\",\n    \"        #loss = tf.nn.softmax_cross_entropy_with_logits(outputdict, tf.nn.softmax(target_menu))\\n\",\n    \"        #loss=max_possible_ret-tf.reduce_sum(drets,1)#tf.nn.l2_loss(output - tf.reshape(self._targets, [-1, 1]))\\n\",\n    \"        \\n\",\n    \"        #set COST\\n\",\n    \"        #self._cost = cost = tf.reduce_sum(loss) / batch_size\\n\",\n    \"        '''\\n\",\n    \"        \\n\",\n    \"        if not is_training:\\n\",\n    \"            return\\n\",\n    \"        #TRAINING STEP\\n\",\n    \"        self._lr = tf.Variable(0.0, trainable=False)\\n\",\n    \"        tvars = tf.trainable_variables()\\n\",\n    \"        print(cost)\\n\",\n    \"        #grads, _ = tf.clip_by_global_norm(tf.gradients(cost, tvars),  config.max_grad_norm)\\n\",\n    \"        #print(grads)\\n\",\n    \"        optimizer = tf.train.GradientDescentOptimizer(self.lr)#GradientDescentOptimizer(self.lr)\\n\",\n    \"        self._train_op = optimizer.minimize(cost, var_list=tvars)#apply_gradients(zip(grads, tvars))\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        #####TODO\\n\",\n    \"        # whats up with grads?\\n\",\n    \"        #normalize input \\n\",\n    \"        #try lm nn at the end, see line 31 of https://github.com/sherjilozair/char-rnn-tensorflow/blob/master/model.py\\n\",\n    \"        # seq2seq.rnn_decoder and seq2seq.sequence_loss_by_example\\n\",\n    \"\\n\",\n    \"    def assign_lr(self, session, lr_value):\\n\",\n    \"        session.run(tf.assign(self.lr, lr_value))\\n\",\n    \"\\n\",\n    \"    @property\\n\",\n    \"    def input_data(self):\\n\",\n    \"        return self._input_data\\n\",\n    \"\\n\",\n    \"    @property\\n\",\n    \"    def targets(self):\\n\",\n    \"        return self._targets\\n\",\n    \"\\n\",\n    \"    @property\\n\",\n    \"    def initial_state(self):\\n\",\n    \"        return self._initial_state\\n\",\n    \"\\n\",\n    \"    @property\\n\",\n    \"    def cost(self):\\n\",\n    \"        return self._cost\\n\",\n    \"\\n\",\n    \"    @property\\n\",\n    \"    def final_state(self):\\n\",\n    \"        return self._final_state\\n\",\n    \"\\n\",\n    \"    @property\\n\",\n    \"    def lr(self):\\n\",\n    \"        return self._lr\\n\",\n    \"\\n\",\n    \"    @property\\n\",\n    \"    def train_op(self):\\n\",\n    \"        return self._train_op\\n\",\n    \"    \\n\",\n    \"    @property\\n\",\n    \"    def output(self):\\n\",\n    \"        return self._output\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x10fbcb6a0>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x10fbcb6a0>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x11a8cdac8>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\",\n      \"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell.BasicLSTMCell object at 0x11a8cdac8>: Using a concatenated state is slower and will soon be deprecated.  Use state_is_tuple=True.\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Tensor(\\\"model/mul:0\\\", shape=(), dtype=float32)\\n\",\n      \"Epoch: 1 Learning rate: 0.600\\n\",\n      \"Epoch: 1 Train Perplexity: 1.026\\n\",\n      \"Epoch: 2 Learning rate: 0.600\\n\",\n      \"Epoch: 2 Train Perplexity: 1.028\\n\",\n      \"Epoch: 3 Learning rate: 0.600\\n\",\n      \"Epoch: 3 Train Perplexity: 1.028\\n\",\n      \"Epoch: 4 Learning rate: 0.600\\n\",\n      \"Epoch: 4 Train Perplexity: 1.028\\n\",\n      \"Epoch: 5 Learning rate: 0.600\\n\",\n      \"Epoch: 5 Train Perplexity: 1.029\\n\",\n      \"Epoch: 6 Learning rate: 0.540\\n\",\n      \"Epoch: 6 Train Perplexity: 1.029\\n\",\n      \"Epoch: 7 Learning rate: 0.486\\n\",\n      \"Epoch: 7 Train Perplexity: 1.029\\n\",\n      \"Epoch: 8 Learning rate: 0.437\\n\",\n      \"Epoch: 8 Train Perplexity: 1.029\\n\",\n      \"Epoch: 9 Learning rate: 0.394\\n\",\n      \"Epoch: 9 Train Perplexity: 1.029\\n\",\n      \"Epoch: 10 Learning rate: 0.354\\n\",\n      \"Epoch: 10 Train Perplexity: 1.029\\n\",\n      \"Epoch: 11 Learning rate: 0.319\\n\",\n      \"Epoch: 11 Train Perplexity: 1.029\\n\",\n      \"Epoch: 12 Learning rate: 0.287\\n\",\n      \"Epoch: 12 Train Perplexity: 1.029\\n\",\n      \"Epoch: 13 Learning rate: 0.258\\n\",\n      \"Epoch: 13 Train Perplexity: 1.029\\n\",\n      \"Epoch: 14 Learning rate: 0.232\\n\",\n      \"Epoch: 14 Train Perplexity: 1.029\\n\",\n      \"Epoch: 15 Learning rate: 0.209\\n\",\n      \"Epoch: 15 Train Perplexity: 1.029\\n\",\n      \"Epoch: 16 Learning rate: 0.188\\n\",\n      \"Epoch: 16 Train Perplexity: 1.029\\n\",\n      \"Epoch: 17 Learning rate: 0.169\\n\",\n      \"Epoch: 17 Train Perplexity: 1.029\\n\",\n      \"Epoch: 18 Learning rate: 0.153\\n\",\n      \"Epoch: 18 Train Perplexity: 1.029\\n\",\n      \"Epoch: 19 Learning rate: 0.137\\n\",\n      \"Epoch: 19 Train Perplexity: 1.029\\n\",\n      \"Epoch: 20 Learning rate: 0.124\\n\",\n      \"Epoch: 20 Train Perplexity: 1.029\\n\",\n      \"Epoch: 21 Learning rate: 0.111\\n\",\n      \"Epoch: 21 Train Perplexity: 1.029\\n\",\n      \"Epoch: 22 Learning rate: 0.100\\n\",\n      \"Epoch: 22 Train Perplexity: 1.029\\n\",\n      \"Epoch: 23 Learning rate: 0.090\\n\",\n      \"Epoch: 23 Train Perplexity: 1.029\\n\",\n      \"Epoch: 24 Learning rate: 0.081\\n\",\n      \"Epoch: 24 Train Perplexity: 1.029\\n\",\n      \"Epoch: 25 Learning rate: 0.073\\n\",\n      \"Epoch: 25 Train Perplexity: 1.029\\n\",\n      \"Epoch: 26 Learning rate: 0.066\\n\",\n      \"Epoch: 26 Train Perplexity: 1.029\\n\",\n      \"Epoch: 27 Learning rate: 0.059\\n\",\n      \"Epoch: 27 Train Perplexity: 1.029\\n\",\n      \"Epoch: 28 Learning rate: 0.053\\n\",\n      \"Epoch: 28 Train Perplexity: 1.029\\n\",\n      \"Epoch: 29 Learning rate: 0.048\\n\",\n      \"Epoch: 29 Train Perplexity: 1.029\\n\",\n      \"Epoch: 30 Learning rate: 0.043\\n\",\n      \"Epoch: 30 Train Perplexity: 1.029\\n\",\n      \"Epoch: 31 Learning rate: 0.039\\n\",\n      \"Epoch: 31 Train Perplexity: 1.029\\n\",\n      \"Epoch: 32 Learning rate: 0.035\\n\",\n      \"Epoch: 32 Train Perplexity: 1.029\\n\",\n      \"Epoch: 33 Learning rate: 0.031\\n\",\n      \"Epoch: 33 Train Perplexity: 1.029\\n\",\n      \"Epoch: 34 Learning rate: 0.028\\n\",\n      \"Epoch: 34 Train Perplexity: 1.029\\n\",\n      \"Epoch: 35 Learning rate: 0.025\\n\",\n      \"Epoch: 35 Train Perplexity: 1.029\\n\",\n      \"Epoch: 36 Learning rate: 0.023\\n\",\n      \"Epoch: 36 Train Perplexity: 1.029\\n\",\n      \"Epoch: 37 Learning rate: 0.021\\n\",\n      \"Epoch: 37 Train Perplexity: 1.029\\n\",\n      \"Epoch: 38 Learning rate: 0.019\\n\",\n      \"Epoch: 38 Train Perplexity: 1.029\\n\",\n      \"Epoch: 39 Learning rate: 0.017\\n\",\n      \"Epoch: 39 Train Perplexity: 1.029\\n\",\n      \"Epoch: 40 Learning rate: 0.015\\n\",\n      \"Epoch: 40 Train Perplexity: 1.029\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"raw_data = rets, rets[:2200], rets[2200:]\\n\",\n    \"train_data, valid_data, test_data = raw_data\\n\",\n    \"#train_data =valid_data = test_data =  raw_data\\n\",\n    \"\\n\",\n    \"config = eval_config = get_config()\\n\",\n    \"eval_config = get_config(test=True)\\n\",\n    \"eval_config.batch_size = 1\\n\",\n    \"eval_config.num_steps = 1\\n\",\n    \"\\n\",\n    \"config.data_size = eval_config.data_size = rets.shape[1]\\n\",\n    \"\\n\",\n    \"with tf.Graph().as_default(), tf.Session() as session:\\n\",\n    \"    initializer = tf.random_uniform_initializer(-config.init_scale,\\n\",\n    \"                                            config.init_scale)\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=None, initializer=initializer):\\n\",\n    \"        m = LSTMModel(is_training=True, config=config)\\n\",\n    \"    with tf.variable_scope(\\\"model\\\", reuse=True, initializer=initializer):\\n\",\n    \"        mvalid = LSTMModel(is_training=False, config=config)\\n\",\n    \"        #mtest = LSTMModel(is_training=False, config=eval_config)\\n\",\n    \"\\n\",\n    \"    tf.initialize_all_variables().run()\\n\",\n    \"\\n\",\n    \"    for i in range(40):#config.max_max_epoch):\\n\",\n    \"        lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0)\\n\",\n    \"        m.assign_lr(session, config.learning_rate * lr_decay)\\n\",\n    \"\\n\",\n    \"        print(\\\"Epoch: %d Learning rate: %.3f\\\" % (i + 1, session.run(m.lr)))\\n\",\n    \"        train_perplexity = run_epoch(session, m, train_data, m.train_op,\\n\",\n    \"                                   verbose=True)\\n\",\n    \"\\n\",\n    \"        print(\\\"Epoch: %d Train Perplexity: %.3f\\\" % (i + 1, train_perplexity))\\n\",\n    \"        #valid_perplexity = run_epoch(session, mvalid, valid_data, tf.no_op())\\n\",\n    \"        #print(\\\"Epoch: %d Valid Perplexity: %.3f\\\" % (i + 1, valid_perplexity))\\n\",\n    \"\\n\",\n    \"    test_output, test_inp, test_targ = run_epoch(session, mvalid, train_data, mvalid.output, get_out = True)\\n\",\n    \"    #print(test_perplexity)\\n\",\n    \"    #print(\\\"Test Perplexity: %.3f\\\" % test_perplexity)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x11cd64668>,\\n\",\n       \" <matplotlib.lines.Line2D at 0x11cd64a58>,\\n\",\n       \" <matplotlib.lines.Line2D at 0x11cd64d68>,\\n\",\n       \" <matplotlib.lines.Line2D at 0x11cd6b048>,\\n\",\n       \" <matplotlib.lines.Line2D at 0x11cd6b2e8>,\\n\",\n       \" <matplotlib.lines.Line2D at 0x11cd6b588>]\"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n0UAn/zRc/venF/XriwOEsKrQqGmsqFvPQ33lezzdDrVoKlOuYF1x5nNffDnfHz6FU+bTFtNeRIqd\\n0OWGxrjjsjcUpdfXwtMjR8qOWS9q12rqTJvUrmssq9/In/e+XLbutBetmkrC9ToyaVdwY10Xt+z7\\njxXFu6SZ7uH2Fo/fO2R5K/RqtbnPgl0I00Vn1PV+ejnvra58ToRJFTeXKJcCUBCCjBCMFi90tuCw\\nt7ay+2UXezFZ9CKiRud4x8KY9mKkeC72i0UvXqKGpFPZM4/TXqQFjLneJ+gt5NhbW9nyhul1mtNe\\njBe9CCrlb4MH570YLnrxQtGLQ2odicKpirQd8GY1BEwUvehPZ9lTU9lRoNNe9BVjni7TPqWyIzun\\nvRi6yIs39QbShcE53rUwHCBZ9GKy+Hz/X2csNgcXp1z0F2MecgDbQVcqO45w2ovBi7xo0RvJOmfK\\n1hV4XiSKM39TxXL8dzmHVf7KxkzTXgwUY8aBt20HhcqOy51uh/ovai+a9QYccaJs3WkvpmdBDxe9\\neNxSaNYrW3kx7cV0WQY4WXDYKyo7CnTai+m691LRi+X+ZRXpXrWrsidzi//wPUCukCfn5KuiXa2Y\\np/JV8sLJkyuUNxKYj2rFXDUvCjmy9uJ7IRAkrOocv1ctLzJ2FqsKjwlZjkW2UM4uaPNTvbqXRJS8\\nC9r8eHWvOu3Q1Vb38oU8uTJnJOajmu1FJVy1iVkmo/NUr5OSu+o6KdXSTdtpClXauW0yX52d0Kql\\nO1Xhrka/CO2rLRkV3AIpu7KZu7m42upe1smRrVKbXM0BXiVctYl5okoVIlvIVi0ZVSvmaukmrCRu\\nFXbngqvPi2olObj6Gspq6VZT+2orbwCTV1nM1dJ1hUuygvUMV6JaMVeaQ67axFyt3mTars6+xVC9\\nmK823WpqV0s3aVenYaim9tWmW03tq628VVP7atOtpna1dK/ZqWyJRCKRSJYi1+yIWSKRSCSSpYhM\\nzBKJRCKRLCHkVLZEIpFIJEuIvBwxSyQSiUSydLgmH5fSlMp2SvqXoltN7atNt5ra1dJVlepVv6vN\\nC1kuqq8L1StzV5sX1ax7hmrM2vu9HJbslpwKCn7dR7aQozOyjP70ALd03MRgZpiA5ueZgfL2WVZQ\\nEAgCegBD1TFUg+7aLnKFHMujHfzkxN9WpBvUA2QKWbpqOpnKJ9jRtJWwGeKRt39alu60tl/3ky1k\\n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\\nRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10fa089b0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(test_output[3])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 78,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([-1, -1,  0, ...,  0, -1, -1])\"\n      ]\n     },\n     \"execution_count\": 78,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"get_positions(test_output, 2)[:,1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 79,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x1217bb860>]\"\n      ]\n     },\n     \"execution_count\": 79,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nmpqasm3btmzdujVjxozJokWL8ulPf3pkB38HPPjgg7nxxhuzcePGPPvss//zvvT396ejoyN79uxJ\\nrVZLZ2dnJk6cONLfzhH15r169NFHs3DhwkydOjVJMm/evHzuc5876vdq3759WbFiRZ5//vns3bs3\\nixYtysknn+y4OsDB9ul973tfFixYkGnTpiVxTP3LP//5z1x99dV55pln0tTUlFWrVqW5ufnIHVPV\\nCPrtb39bLV++vKqqqtq9e3e1aNGikRznXaG/v7+aM2dOw30LFiyo7rvvvqqqquqaa66p7rzzzupv\\nf/tbNXv27Grv3r1Vb29vNXv27Or1118fiZHfMT/72c+q2bNnVxdddFFVVUPbl1tuuaX6yU9+UlVV\\nVd1xxx3V6tWrR+z7eCccuFfbtm2rbrnllobH2KuquvXWW6vrr7++qqqq+vvf/1596lOfqhYuXOi4\\nOsDB9skxdXB33nlntWLFiqqqquree++tFi5ceESPqRE9nd7T05PW1tYkyRlnnJGHH354JMd5V3j8\\n8cfz2muvZf78+bnsssuye/fuPProo/n4xz+eJGlra8s999yTP/7xj0fdNeqnTp2atWvXDl6zfyj7\\n0tPTk7a2tiRJa2trdu3aNWLfxzvhwL16+OGHc/fdd+erX/1qrrrqqtTr9f/4dw6Opr367Gc/m29+\\n85tJ3jgzOGbMGMfVQRxsnx555BHH1EGce+65ufbaa5Mkzz33XI4//vg88sgjR+yYGtGI9/X1DZ42\\nTpLRo0dnYGBgBCcaeccee2zmz5+fm2++OatWrcrSpUsb1mu1Wnp7e9PX13fUXaP+M5/5TEaPHj14\\nu3rTJQ7+27709fWlVqs1PPb/sgP36owzzsiyZcvyi1/8IieeeGLWrl37H//OwdG0V8cdd9zg9/2t\\nb30r3/72txt+Bjmu3nDgPn3nO9/JjBkzHFP/wejRo7N8+fJcd911Of/884/oz6oRjfiB11kfGBjI\\nqFFH92ftpk2bli984QuD/z7hhBPy8ssvD6739fVlwoQJh3WN+v9r3nysHGpfxo8f33D/0bhXs2bN\\nGvzTwbNmzcpjjz1mr/6/v/71r7nssssyZ86czJ4923H1H7x5nz7/+c87pv6Lzs7O7NixI1dffXX2\\n7t07eP9wH1MjWsyWlpZ0d3cnSXbv3p3p06eP5DjvCrfddls6OzuTJC+88ELq9Xo+8YlP5L777kuS\\ndHd3Z+bMma5Rn+QjH/nI/7Qvp556asOx9q/HHk0uv/zyPPTQQ0mSe+65J6effrq9SvLSSy/l61//\\nejo6OvKlL30piePqYA62T46pg/vVr36Vm266KUlyzDHHZNSoUTn99NOP2DE1opddraoqK1euHPxd\\n7g033JAPfvCDIzXOu8L+/fvzve99L88//3ySpKOjIyeccEK+//3vZ9++fTn55JOzevXqNDU1paur\\nK1u3bs3AwEAWLVqUWbNmjfD0R95f/vKXLF26NFu2bMkzzzzzP+9Lf39/li1blhdffDHNzc1Zs2ZN\\nJk2aNNLfzhH15r16/PHHs2rVqowZMyaTJ0/Otddem1qtdtTv1erVq7Njx46GnztXXXVVrrvuOsfV\\nmxxsn5YuXZrOzk7H1AH6+/uzfPnyvPTSS9m/f3+uuOKKnHTSSUfsZ5VrpwNAoY7uX0ADQMFEHAAK\\nJeIAUCgRB4BCiTgAFErEAaBQIg4Ahfp/l/566ePKI2IAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1209e0208>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(get_positions(test_output, 2)[:,1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 80,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"ValueError\",\n     \"evalue\": \"operands could not be broadcast together with shapes (3000,2) (2000,2) \",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mValueError\\u001b[0m                                Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-80-85b95d90264f>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m     29\\u001b[0m     \\u001b[0;31m#return [np.cumprod((pos*tar)[:,i] + 1) for i in range(pos.shape[1])]\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     30\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m---> 31\\u001b[0;31m \\u001b[0mget_equitycurve\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mget_positions\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mtest_output\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m2\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mget_target\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mtest_targ\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     32\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     33\\u001b[0m \\u001b[0;31m#plot(get_equitycurve(get_positions(test_output, 2), get_target(test_targ)))\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m<ipython-input-80-85b95d90264f>\\u001b[0m in \\u001b[0;36mget_equitycurve\\u001b[0;34m(pos, tar)\\u001b[0m\\n\\u001b[1;32m     18\\u001b[0m     \\u001b[0mks\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0;34m[\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     19\\u001b[0m     \\u001b[0;32mfor\\u001b[0m \\u001b[0mi\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mrange\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mpos\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mshape\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m1\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m---> 20\\u001b[0;31m         \\u001b[0mrets\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0;34m(\\u001b[0m\\u001b[0mpos\\u001b[0m\\u001b[0;34m*\\u001b[0m\\u001b[0mtar\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0mi\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     21\\u001b[0m         \\u001b[0meq\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mnp\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mcumprod\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mpos\\u001b[0m\\u001b[0;34m*\\u001b[0m\\u001b[0mtar\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0mi\\u001b[0m\\u001b[0;34m]\\u001b[0m \\u001b[0;34m+\\u001b[0m \\u001b[0;36m1\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     22\\u001b[0m         \\u001b[0mls\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mappend\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0meq\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mValueError\\u001b[0m: operands could not be broadcast together with shapes (3000,2) (2000,2) \"\n     ]\n    }\n   ],\n   \"source\": [\n    \"pb_number = 2\\n\",\n    \"\\n\",\n    \"def get_positions(output, ds):\\n\",\n    \"    ordered = np.concatenate([x.reshape(-1, 25, pb_number*ds) for x in test_output], 1).reshape(-1,pb_number*ds)\\n\",\n    \"    ls = []\\n\",\n    \"    for i in range(ds):\\n\",\n    \"        ls.append(np.argmax(ordered[:,i*pb_number:(i+1)*pb_number], 1)-1)\\n\",\n    \"    return np.concatenate([x.reshape([-1,1]) for x in ls],1)\\n\",\n    \"    #return np.argmax(np.concatenate(output), 1)-1\\n\",\n    \"    #return np.argmax(np.concatenate([x.reshape(-1, 25, 3*2) for x in output], 1).reshape(-1,3*2), 1)-1\\n\",\n    \"\\n\",\n    \"def get_target(targ):\\n\",\n    \"    #return np.concatenate([(x.reshape(-1)) for x in test_targ])\\n\",\n    \"    return np.concatenate(targ, 1).reshape(-1,2)\\n\",\n    \"\\n\",\n    \"def get_equitycurve(pos, tar):\\n\",\n    \"    ls = []\\n\",\n    \"    ks = []\\n\",\n    \"    for i in range(pos.shape[1]):\\n\",\n    \"        rets = (pos*tar)[:,i]\\n\",\n    \"        eq = np.cumprod((pos*tar)[:,i] + 1)\\n\",\n    \"        ls.append(eq)\\n\",\n    \"        ks.append(rets)\\n\",\n    \"        plot(eq)\\n\",\n    \"    show()\\n\",\n    \"    plot(np.cumprod(np.sum(ks,0)+1))\\n\",\n    \"    return \\n\",\n    \"        \\n\",\n    \"    #return [np.cumprod((pos*tar)[:,i] + 1) for i in range(pos.shape[1])]\\n\",\n    \"\\n\",\n    \"get_equitycurve(get_positions(test_output, 2), get_target(test_targ))\\n\",\n    \"\\n\",\n    \"#plot(get_equitycurve(get_positions(test_output, 2), get_target(test_targ)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 73,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'eq' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-73-c4ecaab94ecb>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[0;32m----> 1\\u001b[0;31m \\u001b[0mplot\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0meq\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m1\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'eq' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"plot(eq[1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 80,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'pos' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-80-4452cc5f64ed>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[0;32m----> 1\\u001b[0;31m \\u001b[0mplot\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mpos\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m100\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;36m125\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'pos' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"plot(pos[100:125])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 85,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x135a37ef0>,\\n\",\n       \" <matplotlib.lines.Line2D at 0x135a18320>,\\n\",\n       \" <matplotlib.lines.Line2D at 0x135a185f8>]\"\n      ]\n     },\n     \"execution_count\": 85,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13755ae10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"x=0\\n\",\n    \"n = 6\\n\",\n    \"plot(test_output[0][25:50].reshape(-1,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 229,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x127872d30>]\"\n      ]\n     },\n     \"execution_count\": 229,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nQhPz/wO9iAfDrqR70gAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13190d940>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(np.cumprod((np.argmax(test_output[0],1)-1) * test_targ[0].reshape(-1)+1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 214,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(500, 3)\"\n      ]\n     },\n     \"execution_count\": 214,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"test_output[0].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 218,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([ -2.59504002e-03,   3.88248474e-03,   2.96951691e-03,\\n\",\n       \"        -7.44601479e-03,   1.69992819e-02,   1.69177400e-03,\\n\",\n       \"         4.70721256e-03,   1.32415968e-03,  -4.01590280e-02,\\n\",\n       \"         2.00323318e-03,  -3.64963547e-03,   2.90904660e-03,\\n\",\n       \"        -4.37630061e-03,   1.27090258e-03,   1.45425892e-03,\\n\",\n       \"        -3.45899235e-03,   3.80993495e-03,  -5.28141344e-03,\\n\",\n       \"         1.28622735e-02,  -3.66948894e-04,   6.60424680e-03,\\n\",\n       \"         4.61680628e-03,   1.05751613e-02,   1.51884034e-02,\\n\",\n       \"        -1.54226488e-02,   1.00798355e-02,  -2.50318591e-02,\\n\",\n       \"         9.31291468e-03,   3.40505913e-02,   3.13581303e-02,\\n\",\n       \"         2.90240673e-03,   1.85849052e-02,   3.35386321e-02,\\n\",\n       \"        -5.90179348e-03,   3.98970395e-03,   1.46088153e-02,\\n\",\n       \"         1.41081400e-02,  -3.39558572e-02,  -1.40747463e-03,\\n\",\n       \"         1.35862939e-02,   4.98695113e-03,   6.89071193e-02,\\n\",\n       \"         2.02545281e-02,   4.85024862e-02,   2.28412598e-02,\\n\",\n       \"         4.76054214e-02,   1.52649088e-02,  -6.07902650e-03,\\n\",\n       \"        -1.41994311e-02,  -6.94071725e-02,   1.44857559e-02,\\n\",\n       \"        -1.02400750e-01,  -3.42222117e-02,  -6.44606585e-03,\\n\",\n       \"         5.84969968e-02,   1.17914136e-02,   4.40568626e-02,\\n\",\n       \"        -2.83245016e-02,  -1.12978511e-01,  -7.55034992e-03,\\n\",\n       \"        -1.41549092e-02,   1.14942668e-02,  -2.15946753e-02,\\n\",\n       \"         3.41463201e-02,   7.57577177e-03,  -5.51316328e-03,\\n\",\n       \"         1.47617059e-02,   3.63869853e-02,  -1.28831351e-02,\\n\",\n       \"        -2.80701462e-02,  -2.51706913e-02,  -4.49438319e-02,\\n\",\n       \"         3.18599096e-03,  -3.59566044e-03,   1.95063446e-02,\\n\",\n       \"         2.92171314e-02,  -1.30606899e-02,  -1.56950857e-02,\\n\",\n       \"        -5.29801659e-02,   4.71703103e-03,  -6.31918060e-03,\\n\",\n       \"        -2.61643101e-02,   6.68026805e-02,  -4.20764834e-02,\\n\",\n       \"        -6.55479804e-02,   7.08661154e-02,   1.05932206e-02,\\n\",\n       \"         3.74730583e-03,   3.49274538e-02,   1.51447728e-01,\\n\",\n       \"        -3.34646031e-02,   1.09206326e-01,  -1.86742663e-01,\\n\",\n       \"        -2.40240246e-01,   3.09927091e-02,   9.99559183e-04,\\n\",\n       \"         5.15257046e-02,  -2.37341747e-02,  -3.81246470e-02,\\n\",\n       \"         1.19106695e-01,  -2.81690117e-02,   5.20548299e-02,\\n\",\n       \"        -8.67059268e-03,  -1.14612589e-02,  -1.07648715e-01,\\n\",\n       \"        -1.02302041e-02,   1.51898727e-01,  -1.01492584e-01,\\n\",\n       \"         2.16802955e-02,   3.32409404e-02,   1.23209193e-01,\\n\",\n       \"         4.90195863e-02,   1.37457058e-01,   2.23107591e-01,\\n\",\n       \"        -9.74359140e-02,  -2.14953303e-01,   3.07692271e-02,\\n\",\n       \"         2.38095205e-02,   3.90243948e-01,   1.99999988e-01,\\n\",\n       \"        -1.66666657e-02,   7.37704411e-02,   9.73451659e-02,\\n\",\n       \"        -9.80397034e-03,  -1.94174722e-02,   3.71747166e-02,\\n\",\n       \"        -7.33590499e-02,  -5.03597818e-02,  -8.56164098e-02,\\n\",\n       \"         4.41640653e-02,   3.30027984e-03,   7.61589780e-02,\\n\",\n       \"         5.01792058e-02,  -5.66037856e-02,   1.07142664e-02,\\n\",\n       \"         1.44405039e-02,   1.46519765e-02,  -1.04089245e-01,\\n\",\n       \"        -8.41750875e-02,   2.48447489e-02,  -9.55415517e-03,\\n\",\n       \"        -3.15452600e-03,  -2.20126249e-02,  -1.01538435e-01,\\n\",\n       \"        -6.14525378e-02,  -1.31578799e-02,  -2.33766604e-02,\\n\",\n       \"         6.34517521e-02,  -7.85907060e-02,  -2.01005004e-02,\\n\",\n       \"         3.78378890e-02,   3.08988318e-02,   7.24637732e-02,\\n\",\n       \"        -6.24999925e-02,  -5.88238193e-03,   2.33917814e-02,\\n\",\n       \"         1.49700725e-02,  -1.82370488e-02,  -1.19403275e-02,\\n\",\n       \"         5.89970406e-03,   1.48368087e-02,   3.01212375e-03,\\n\",\n       \"        -2.71903761e-02,  -3.82352769e-02,  -3.11615430e-02,\\n\",\n       \"        -2.74721067e-03,   1.64382998e-02,  -1.11419754e-02,\\n\",\n       \"         3.03029865e-02,   5.68184629e-03,  -2.85709929e-03,\\n\",\n       \"         2.56409533e-02,  -3.50877456e-02,   2.25989521e-02,\\n\",\n       \"         5.49132191e-02,   0.00000000e+00,  -2.11639926e-02,\\n\",\n       \"        -4.14508544e-02,   1.49254464e-02,   2.77777389e-02,\\n\",\n       \"        -1.81818567e-02,  -1.02040032e-02,   4.29292023e-02,\\n\",\n       \"         3.95778455e-02,  -2.19779909e-02,  -4.03225906e-02,\\n\",\n       \"        -7.75192399e-03,   5.12823043e-03,   0.00000000e+00,\\n\",\n       \"        -2.83505786e-02,   0.00000000e+00,   7.51888426e-03,\\n\",\n       \"        -1.26262745e-02,  -2.49382830e-03,   1.99004952e-02,\\n\",\n       \"         1.26903411e-02,   2.82776952e-02,  -4.23280932e-02,\\n\",\n       \"        -1.52283991e-02,   6.75000325e-02,   0.00000000e+00,\\n\",\n       \"         4.79616271e-03,  -4.81927674e-03,  -4.79618693e-03,\\n\",\n       \"        -3.34128365e-02,  -3.69515456e-02,   1.11358445e-02,\\n\",\n       \"         3.15315723e-02,  -2.79069971e-02,   1.35747045e-02,\\n\",\n       \"         1.60549860e-02,  -6.99299434e-03,   2.31481455e-02,\\n\",\n       \"         7.10899197e-03,  -2.62529440e-02,   6.97670830e-03,\\n\",\n       \"         2.10773405e-02,   1.91387311e-02,  -1.70731805e-02,\\n\",\n       \"         1.43885361e-02,  -9.73240845e-03,  -1.20481793e-02,\\n\",\n       \"        -2.38095224e-02,  -2.79069971e-02,  -6.78731827e-03,\\n\",\n       \"         2.17870390e-03,   4.36683372e-03,   6.57893578e-03,\\n\",\n       \"        -4.41503292e-03,   1.09890206e-02,   1.55555652e-02,\\n\",\n       \"         2.25730194e-03,   0.00000000e+00,  -2.48868410e-02,\\n\",\n       \"        -8.83006584e-03,   4.37638909e-03,   6.59339502e-03,\\n\",\n       \"         2.21244502e-03,   0.00000000e+00,  -1.77384485e-02,\\n\",\n       \"         0.00000000e+00,   2.17865109e-02,  -6.68150233e-03,\\n\",\n       \"         0.00000000e+00,   8.84957891e-03,  -8.92859325e-03,\\n\",\n       \"         2.30088774e-02,  -9.05829016e-04,   2.89593358e-02,\\n\",\n       \"         1.16495918e-02,  -1.25692999e-02,  -4.38116603e-02,\\n\",\n       \"        -1.39908856e-02,   4.41531837e-02,   2.81486567e-02,\\n\",\n       \"         5.23579568e-02,   6.11285865e-02,  -4.25709821e-02,\\n\",\n       \"        -6.96557313e-02,  -1.01048052e-02,   3.96442860e-02,\\n\",\n       \"        -3.78086194e-02,   4.75835986e-02,   9.79703739e-02,\\n\",\n       \"        -5.53872250e-02,  -1.31201297e-02,  -5.30150458e-02,\\n\",\n       \"         5.34204915e-02,  -7.55176991e-02,  -5.09626269e-02,\\n\",\n       \"        -4.88505848e-02,   5.34247085e-02,  -2.74964049e-02,\\n\",\n       \"         1.65492818e-02,  -6.98173866e-02,   2.99760066e-02,\\n\",\n       \"        -1.08157787e-02,   1.10058226e-02,  -1.79289375e-02,\\n\",\n       \"        -1.67020801e-02,   4.77895886e-03,  -2.43097395e-02,\\n\",\n       \"         8.79066996e-04,   1.23166433e-02,   4.63183485e-02,\\n\",\n       \"        -3.48693281e-02,  -2.28639673e-02,  -5.88238053e-03,\\n\",\n       \"        -2.63159699e-03,  -6.29921183e-02,   3.40192579e-02,\\n\",\n       \"        -3.01051326e-02,  -1.15797492e-02,  -1.30825741e-02,\\n\",\n       \"        -2.44822185e-02,   7.35301198e-03,   2.38094479e-02,\\n\",\n       \"        -6.23304723e-03,  -8.07970297e-03,   1.73658021e-02,\\n\",\n       \"         5.86080458e-03,   3.68452806e-04,   1.29008247e-02,\\n\",\n       \"         2.20395997e-02,  -4.66004014e-02,  -4.23357673e-02,\\n\",\n       \"        -1.15546361e-02,   1.03839755e-03,   0.00000000e+00,\\n\",\n       \"        -1.38598087e-03,   4.15222254e-03,   3.47467110e-04,\\n\",\n       \"         1.04276370e-03,  -2.78357067e-03,  -7.28664733e-03,\\n\",\n       \"        -3.27247232e-02,  -2.50166692e-02,   7.80994073e-03,\\n\",\n       \"         2.95178834e-02,  -8.11086409e-03,   4.69324272e-03,\\n\",\n       \"         1.17885014e-02,  -1.94273982e-02,   8.69276747e-03,\\n\",\n       \"        -2.02359585e-03,   2.35518324e-04,   9.89161059e-03,\\n\",\n       \"        -1.87916346e-02,   1.14406003e-02,   2.83418410e-03,\\n\",\n       \"        -8.28987733e-03,   2.11416534e-03,   2.91901696e-02,\\n\",\n       \"        -1.01842564e-02,  -2.88042123e-03,  -5.74441720e-03,\\n\",\n       \"        -1.85625628e-02,  -2.57011503e-03,   1.32836048e-02,\\n\",\n       \"         4.25132364e-03,   4.98098601e-03,  -5.24555845e-03,\\n\",\n       \"        -2.03985013e-02,   1.88284852e-02,  -1.68206487e-02,\\n\",\n       \"        -3.02891503e-03,   4.18119458e-03,   4.43196855e-03,\\n\",\n       \"        -1.10122003e-02,  -2.78099049e-02,  -2.84436764e-03,\\n\",\n       \"        -1.31685026e-02,   9.59807727e-03,   3.29092853e-02,\\n\",\n       \"         2.15031952e-02,   3.05099115e-02,  -3.43310162e-02,\\n\",\n       \"        -1.29787168e-02,  -1.40726352e-02,   6.42082235e-03,\\n\",\n       \"        -5.83695108e-03,   2.07249983e-03,   9.96890571e-03,\\n\",\n       \"        -1.80407073e-02,  -2.03997809e-02,  -1.39337434e-02,\\n\",\n       \"         1.15514630e-02,  -8.26114137e-03,  -1.53876953e-02,\\n\",\n       \"        -1.96811706e-02,  -3.86022468e-04,   7.71766412e-04,\\n\",\n       \"        -1.73778366e-02,   6.45283842e-03,  -1.24164540e-02,\\n\",\n       \"         7.81703275e-03,  -1.89087708e-02,  -1.31451963e-02,\\n\",\n       \"        -1.67907123e-02,   5.25433291e-03,  -7.54594686e-04,\\n\",\n       \"         2.45054089e-03,   5.66890463e-03,   9.31202341e-03,\\n\",\n       \"         1.72645552e-03,   1.88316554e-02,  -8.42147693e-03,\\n\",\n       \"        -1.20411506e-02,   7.10033579e-03,   1.99072957e-02,\\n\",\n       \"        -3.94402072e-03,  -1.17857184e-03,   1.37333910e-03,\\n\",\n       \"         4.12580185e-03,  -2.50542685e-02,   1.53960939e-03,\\n\",\n       \"        -6.36078324e-03,  -3.83070856e-03,  -3.81607097e-04,\\n\",\n       \"         1.52586529e-03,   2.92280177e-03,   6.28111535e-04,\\n\",\n       \"         1.15231285e-02,   1.73802339e-02,  -7.33389985e-03,\\n\",\n       \"        -9.42180492e-03,   3.18194856e-03,  -5.95868006e-03,\\n\",\n       \"        -3.17321881e-03,   6.32642629e-03,   1.27334092e-02,\\n\",\n       \"         1.71973300e-03,  -7.10598100e-03,   4.70389472e-03,\\n\",\n       \"        -6.44466421e-03,  -6.18997356e-03,  -3.18205520e-03,\\n\",\n       \"        -5.92087908e-03,   5.25540859e-03,   8.45318835e-04,\\n\",\n       \"        -6.13367744e-03,  -3.99408350e-03,  -9.00335982e-03,\\n\",\n       \"         6.43280754e-03,  -1.56641454e-02,   1.93190333e-02,\\n\",\n       \"        -2.47708391e-02,   2.66463906e-02,   2.01407671e-02,\\n\",\n       \"         4.19077044e-03,  -3.14629339e-02,   3.47775742e-02,\\n\",\n       \"        -1.40902121e-03,  -6.43214490e-03,  -9.18712933e-03,\\n\",\n       \"        -1.46447904e-02,   1.11175980e-02,  -1.40039362e-02,\\n\",\n       \"        -7.58606056e-03,   4.05404437e-03,  -1.64760407e-02,\\n\",\n       \"        -4.00462467e-03,  -9.68844164e-03,  -7.14953290e-03,\\n\",\n       \"         1.12082832e-03,   5.23661450e-03,  -1.56044625e-02,\\n\",\n       \"         5.55330829e-04,   4.44530137e-03,  -2.60464917e-03,\\n\",\n       \"        -2.79383897e-03,   2.22879928e-03,   2.49441527e-02,\\n\",\n       \"        -1.14547303e-02,   9.43752378e-03,   1.02896634e-02,\\n\",\n       \"         1.07816188e-02,   3.69799021e-03,   3.71163758e-03,\\n\",\n       \"        -1.25490064e-02,   2.32375204e-03,  -1.94097043e-03,\\n\",\n       \"        -4.64938255e-03,   4.62786574e-03,   1.93721033e-03,\\n\",\n       \"        -7.18164910e-03,  -4.62520961e-03,  -5.75483218e-03,\\n\",\n       \"        -4.38678684e-03,  -1.32928521e-03,  -9.10296291e-03,\\n\",\n       \"        -1.52227273e-02,   1.75860897e-02,  -2.44960329e-03,\\n\",\n       \"         1.35338418e-02,   3.12669948e-02,   6.08208738e-02,\\n\",\n       \"         9.13783628e-03,  -4.81154248e-02,  -2.21882220e-02,\\n\",\n       \"         2.99400999e-03,  -3.75377014e-03,   4.74944152e-02,\\n\",\n       \"        -1.59010887e-02,  -7.72965723e-04,   2.31704991e-02,\\n\",\n       \"        -2.09527835e-02,   1.49080437e-02,  -3.73423472e-03,\\n\",\n       \"        -5.87409013e-04,   2.34831544e-03,  -2.00078525e-02,\\n\",\n       \"        -1.13461660e-02,   1.78740900e-02,   2.63310950e-02,\\n\",\n       \"        -8.35153554e-03,   6.50756806e-03,   5.16081462e-03,\\n\",\n       \"         1.97525416e-02,  -2.89028697e-02], dtype=float32)\"\n      ]\n     },\n     \"execution_count\": 218,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"test_targ[0].reshape(-1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 217,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([[-0.00259504],\\n\",\n       \"       [ 0.00388248],\\n\",\n       \"       [ 0.00296952],\\n\",\n       \"       [-0.00744601],\\n\",\n       \"       [ 0.01699928],\\n\",\n       \"       [ 0.00169177],\\n\",\n       \"       [ 0.00470721],\\n\",\n       \"       [ 0.00132416],\\n\",\n       \"       [-0.04015903],\\n\",\n       \"       [ 0.00200323],\\n\",\n       \"       [-0.00364964],\\n\",\n       \"       [ 0.00290905],\\n\",\n       \"       [-0.0043763 ],\\n\",\n       \"       [ 0.0012709 ],\\n\",\n       \"       [ 0.00145426],\\n\",\n       \"       [-0.00345899],\\n\",\n       \"       [ 0.00380993],\\n\",\n       \"       [-0.00528141],\\n\",\n       \"       [ 0.01286227],\\n\",\n       \"       [-0.00036695],\\n\",\n       \"       [ 0.00660425],\\n\",\n       \"       [ 0.00461681],\\n\",\n       \"       [ 0.01057516],\\n\",\n       \"       [ 0.0151884 ],\\n\",\n       \"       [-0.01542265]], dtype=float32)\"\n      ]\n     },\n     \"execution_count\": 217,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"test_targ[0][0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 206,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([-0.00259504,  0.00388248,  0.00296952, -0.00744601,  0.01699928,\\n\",\n       \"        0.00169177,  0.00470721,  0.00132416, -0.04015903,  0.00200323,\\n\",\n       \"       -0.00364964,  0.00290905, -0.0043763 ,  0.0012709 ,  0.00145426,\\n\",\n       \"       -0.00345899,  0.00380993, -0.00528141,  0.01286227, -0.00036695,\\n\",\n       \"        0.00660425,  0.00461681,  0.01057516,  0.0151884 , -0.01542265], dtype=float32)\"\n      ]\n     },\n     \"execution_count\": 206,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"test_targ[0][0].reshape(-1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 137,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x12e4df7b8>]\"\n      ]\n     },\n     \"execution_count\": 137,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x12e0c1dd8>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(test_inp[0][0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 138,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x128dbff98>]\"\n      ]\n     },\n     \"execution_count\": 138,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x12e0c1128>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(test_targ[0][0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 167,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([[-0.50313473, -9.14566231,  0.35615453],\\n\",\n       \"       [-0.37630498, -7.11112261, -0.70588076],\\n\",\n       \"       [-0.37363619, -7.10911226, -0.7056942 ],\\n\",\n       \"       [-0.37376261, -7.10809135, -0.70627677],\\n\",\n       \"       [-0.37625742, -7.13504505, -0.69292498],\\n\",\n       \"       [-0.37384361, -7.10783291, -0.70645559],\\n\",\n       \"       [-0.37367171, -7.107337  , -0.7067076 ],\\n\",\n       \"       [-0.3738786 , -7.10826683, -0.70620131],\\n\",\n       \"       [-0.3762539 , -7.13502169, -0.69293654],\\n\",\n       \"       [-0.37384126, -7.10775185, -0.70650387],\\n\",\n       \"       [-0.37365335, -7.1073513 , -0.70669627],\\n\",\n       \"       [-0.37384212, -7.10807276, -0.70630753],\\n\",\n       \"       [-0.37625468, -7.13503265, -0.69293034],\\n\",\n       \"       [-0.37382513, -7.10767174, -0.70654678],\\n\",\n       \"       [-0.37368315, -7.1073904 , -0.70667815],\\n\",\n       \"       [-0.37379837, -7.10780811, -0.70645642],\\n\",\n       \"       [-0.37611288, -7.13384342, -0.69351137],\\n\",\n       \"       [-0.3738367 , -7.10773849, -0.70650995],\\n\",\n       \"       [-0.3736918 , -7.10737848, -0.70668697],\\n\",\n       \"       [-0.37380508, -7.10784388, -0.70643675],\\n\",\n       \"       [-0.37624282, -7.13494444, -0.69297278],\\n\",\n       \"       [-0.37383717, -7.10773134, -0.70651484],\\n\",\n       \"       [-0.37368673, -7.10735941, -0.70669711],\\n\",\n       \"       [-0.3738032 , -7.10783863, -0.70643926],\\n\",\n       \"       [-0.37602016, -7.13306904, -0.69388962]], dtype=float32)\"\n      ]\n     },\n     \"execution_count\": 167,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"test_output[0][:25,]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 119,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x11a744c88>]\"\n      ]\n     },\n     \"execution_count\": 119,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nEREbUxAQEbExBQERERtTEEgzzRwQkXRSEBARsTEFARERG1MQEBGxMQUBEREbUxBIk7ycLACys/Qn\\nEJH0SXgVUWNMAfAnoBSoBs6zLKsiwnlO4FXgH5ZlPdrahHY2l50+hhfe+oRvHndoupMiIjaWzGXo\\n5cAay7JmAM8AP41y3u1AN7RgZkT9ehZx1TfH0a1LXrqTIiI2lkwQmAYs8N5eAMwKP8EY822gyfu4\\nhsKLiGSoFpuDjDEXAteEHd4F7PPerga6hj1nLDAH+DZwa2qSKSIibaHFIGBZ1jxgXvAxY8wLQLH3\\nbjFQFfa07wEDgIXAEOCgMWarZVlvtPRepaXFLT3cISX7mTpjXiRLeRGgvAhQXqROMttLLgFOBVYA\\npwCLgx+0LOtG321jzK3AzlgBAKC8vDqJpGS2ZD5TaWlxp8yLZCgvApQXAcqLgFQEw2SCwMPA08aY\\nt4F64GwAY8y1wGbLsl5udapERKRdJBwELMuqA86KcPy+CMd+kWS6RESkHWimkoiIjSkIiIjYmIKA\\niIiNKQiIiNiYgoCIiI0pCIiI2JiCgIiIjSkIiIjYmIKAiIiNKQiIiNiYgoCIiI0pCIiI2JiCgIiI\\njSkIiIjYmIKAiIiNKQiIiNiYgoCIiI0pCIiI2JiCgIiIjSkIiIjYmIKAiIiNKQiIiNiYgoCIiI0p\\nCIiI2JiCgIiIjSkIiIjYmIKAiIiNKQiIiNiYgoCIiI0pCIiI2JiCgIiIjSkIiIjYmIKAiIiNKQiI\\niNiYgoCIiI0pCIiI2Fh2ok8wxhQAfwJKgWrgPMuyKsLOOQX4uffuCsuy/q+1Ce1ITj56MF275KY7\\nGSIiMSVTE7gcWGNZ1gzgGeCnwQ8aY4qBu4GvWpY1FdhhjCltdUo7kLNOGM5JRw9OdzJERGJKJghM\\nAxZ4by8AZoU9fgywFrjXGLMY2GlZVnnySRQRkbbSYnOQMeZC4Jqww7uAfd7b1UDXsMd7ATOBw4Ea\\n4G1jzHuWZW1qfXJFRCSVWgwClmXNA+YFHzPGvAAUe+8WA1VhT6vA0w9Q5j1/MTABUBAQEckwCXcM\\nA0uAU4EVwCnA4rDHVwNjjTE9gb3AFOCxGK/pKC0tjnGKfSgvApQXAcqLAOVF6iQTBB4GnjbGvA3U\\nA2cDGGOuBTZblvWyMeZm4HXv+X+zLOvjlKRWRERSyuF2u9OdBhERSRNNFhMRsTEFARERG1MQEBGx\\nMQUBEREbS2Z0UMoYY5zAQ8B4PCONLrIsa0s609QejDGr8AyfBfgEuAN4CnABHwFXWpblNsZcDFwC\\nNAK3W5b1ahqS2yaMMZOBOy3LmmmMGU6cnz+etas6mrC8mAi8TGBezUOWZc3v7HlhjMkBngAOAfKA\\n24H12PB7ESUvtgOvABu9p6Xse5HumsAZQK5lWccANwFz05yeNmeMyQewLGum99+FwL3ALd71mBzA\\n6caYvsDVeJbhOAm4wxjTKValM8bcADyO5wsOiX3+Fteu6mgi5MWRwL1B34/5NsmLc4By72c5GXgQ\\nT3lgx+9FpLw4ApjbFt+LtNYECFqHyLKsZcaYSWlOT3s4HCg0xryOJ/9/AhxhWZZv0t1rwIlAE7DE\\nsqwGoMEYsxlPjWllGtKcapuBbwLPeu8n8vmnAXd5z10A/KzdUt02wvPiSGCkMeZ0PLWBa4Cj6fx5\\nMR943nvbCTRg3+9FpLw4EjBt8b1Id02ghMA6RABN3iaizqwGuMeyrJOAy4A/hz3uW4+phECTUfDx\\nDs+yrBfxVF99HEG3Y33+4O9Mh8+TCHmxDLjOsqzj8DQV3opneZZOnReWZdVYlrXfuwrxfDxXr8Fl\\ngW2+FxHy4ifActroe5HuAncfgXWIAJyWZbnSlZh2shFvwe9dVG830Cfo8RI86zGF500xUNlOaWxv\\nwX/zlj5/+PFIa1d1dC9ZlrXadxuYiE3ywhgzCFgIPGNZ1nPY+HsRlhd/pQ2/F+kOAr51iDDGTAE+\\nTG9y2sX5ePs+jDH98fyR3jDGHOd93Lce03LgWGNMnjGmKzAKT+dYZ7Q6gc/v/84Qee2qjm6BMeYo\\n7+1ZeJr/On1eGGP6AG8AN1iW9ZT3sC2/F1Hyos2+F+nuE3gJmG2MWeK9f346E9NO5gFPeldXBc9n\\n3g087u3U+Rh43jsK4vfA23iC9S2WZR1MS4rbjm/Nkh8T3+evN8ZEXLuqE/DlxWXAg8aYBmAncIm3\\naaCz58UteJotfm6M8e1K+EPg9zb8XkTKi2uA+9rie6G1g0REbCzdzUEiIpJGCgIiIjamICAiYmMK\\nAiIiNqYgICJiYwoCIiI2piAgImJjCgIiIjb2/+lObKiK2ScIAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1279b14e0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot(rets)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 41,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"inv = test_output[0][25*x*1:25*1*(x+1)].reshape(-1,6)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 235,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(150, 6)\"\n      ]\n     },\n     \"execution_count\": 235,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"test_output[0][0:25*6].reshape(-1,6).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 256,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"AttributeError\",\n     \"evalue\": \"'module' object has no attribute 'mul'\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mAttributeError\\u001b[0m                            Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-256-e865e56656d6>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[0;32m----> 1\\u001b[0;31m \\u001b[0mnp\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mmul\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0minv\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\",\n      \"\\u001b[0;31mAttributeError\\u001b[0m: 'module' object has no attribute 'mul'\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"np.mul(inv[:,:])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 42,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([ -6.98216486,  -6.98215246,  -6.98232746,  -6.98221302,\\n\",\n       \"        -6.98204231,  -6.98219585,  -6.98207426,  -6.98217106,\\n\",\n       \"        -6.98215723,  -6.98219633,  -6.98216343,  -6.98217678,\\n\",\n       \"        -6.98221302,  -6.98215961,  -6.98213148,  -6.9821701 ,\\n\",\n       \"        -6.98215151,  -6.98215818,  -6.98216295,  -6.98211956,\\n\",\n       \"       -14.57940769, -14.57942486, -14.57956505, -14.57947636, -14.57931995], dtype=float32)\"\n      ]\n     },\n     \"execution_count\": 42,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"np.sum(inv,1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.4.4\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  }
]