Beispiel #1
0
    cash_y = []
    cash_x = []
    for prices in market.iterate(tick_names=False):
        y_pred = [
            m.predict(get_ith_col_x(np.array(prices).reshape((-1, p, 30)), i))
            for i, m in enumerate(models)
        ]
        y_pred = np.array(y_pred).flatten()
        y_preds.append(y_pred)
        returns = np.divide(
            np.subtract(np.array(y_pred), np.array(prices[-1])),
            np.array(prices[-1]))
        returns = returns.flatten()
        max_return = max(returns)
        max_index = list(returns).index(max_return)
        cash = market.liquidate_stocks(market.ticks)
        cash_y.append(cash)
        # print(f'cash: {cash}, sec: {market.get_tick_from_index(max_index)}')
        cash_x.append(
            datetime.fromisoformat(str(market.date) + ' ' + str(market.time)))
        market.buy([(max_index, cash)], with_index=True)
        trades.append(max_index)

    cash = market.liquidate_stocks(market.ticks)
    print(cash)

    x_test, y_test = tools.build_ar_x_y(x_test, p=p, rest=2)
    x_purge, y_purge = tools.build_ar_x_y(x_purge, p=p, rest=2)
    # for i in range(0, 30):
    #     yt = np.array(get_ith_col_y(np.array(y).reshape(-1, 30), i))
    #     ypurge = [None]*len(yt) + list(np.array(get_ith_col_y(np.array(y_purge).reshape((-1, 30)), i))) + [None]*len(y_preds)