# Path: speculator/market.py
# TARGET_CODES = {'bearish': 0, 'neutral': 1, 'bullish': 2}
#         DIRECTION = 'last'
#     TARGET_NAMES = {v: k for k, v in TARGET_CODES.items()}
# class Market:
#     def __init__(self, json=None, symbol='USDT_BTC', unit='month', count=6, period=86400):
#     def get_json(self):
#     def set_features(self, partition=1):
#     def set_long_features(self, features, columns_to_set=[], partition=2):
# def set_targets(x, delta=10):
# def eval_features(json):
# def target_code_to_name(code):
# def setup_model(x, y, model_type='random_forest', seed=None, **kwargs):


import numpy as np
import pandas as pd
import tensorflow as tf
from speculator import market
tf.logging.set_verbosity(tf.logging.ERROR)

class DeepNeuralNetwork(tf.estimator.DNNClassifier):
    def __init__(self, features, targets, **kwargs):
        feature_columns = [tf.feature_column.numeric_column(k) \
                           for k in features.train.columns]
        super().__init__(feature_columns=feature_columns,
                         hidden_units=[10, 20, 10],

# Path: speculator/market.py
# TARGET_CODES = {'bearish': 0, 'neutral': 1, 'bullish': 2}
#         DIRECTION = 'last'
#     TARGET_NAMES = {v: k for k, v in TARGET_CODES.items()}
# class Market:
#     def __init__(self, json=None, symbol='USDT_BTC', unit='month', count=6, period=86400):
#     def get_json(self):
#     def set_features(self, partition=1):
#     def set_long_features(self, features, columns_to_set=[], partition=2):
# def set_targets(x, delta=10):
# def eval_features(json):
# def target_code_to_name(code):
# def setup_model(x, y, model_type='random_forest', seed=None, **kwargs):


# Path: speculator/models/deep_neural_network.py
import numpy as np
import pandas as pd
import tensorflow as tf
from speculator import market

tf.logging.set_verbosity(tf.logging.ERROR)

class DeepNeuralNetwork(tf.estimator.DNNClassifier):
    def __init__(self, features, targets, **kwargs):
        feature_columns = [tf.feature_column.numeric_column(k) \
                           for k in features.train.columns]
        super().__init__(feature_columns=feature_columns,
                         hidden_units=[10, 20, 10],

                         n_classes=len(market.TARGET_CODES))