Beispiel #1
0
def get_test_data(interval):
    mongo = _mongo()
    redis = _redis()
    # redis.lpush('testing_date')
    # price_data = redis.get_list('testing_data')
    # print(len(price_data))
    # if len(price_data) == 0:
    #     price_data = mongo.get_testing_price_data()
    #     price_data = list(map(lambda p: Price.from_origin(p).to_dict(), price_data))
    #     [redis.lpush('testing_data', Price.from_dict(p).to_json()) for p in price_data]
    # else:
    #     price_data = map(lambda p: Price.from_json(p).to_dict(), price_data)

    price_data = mongo.get_testing_price_data()
    price_data = list(map(lambda p: Price.from_origin(p).to_dict(),
                          price_data))

    print(price_data[0])
    df = pd.DataFrame(price_data)
    df['time'] = pd.to_datetime(df['time'])
    df = df.set_index('time')
    df_resampled = df['ask'].resample(interval).ohlc()
    df_resampled['date'] = df_resampled.index.to_series()
    df_resampled['volume'] = 0
    # df_bid = df['bid'].resample(interval).ohlc()
    # df_resampled = pd.concat([df_ask, df_bid], axis=1, keys=['ask', 'bid'])
    df_resampled.fillna(method='ffill', inplace=True)
    # print(df_resampled.tail())
    df_resampled = df_resampled.reset_index(drop=True)
    # del df_resampled['time']
    # x = df_resampled[['date', 'open', 'high', 'low', 'close', 'volume']]
    print("interval", interval, "len", len(df_resampled))
    return df_resampled
Beispiel #2
0
def get_testing_data(interval):
    mongo = _mongo()
    redis = _redis()
    # redis.lpush('testing_date')
    price_data = redis.get_list('testing_data')
    print(len(price_data))
    if len(price_data) == 0:
        price_data = mongo.get_testing_price_data()
        price_data = list(
            map(lambda p: Price.from_origin(p).to_dict(), price_data))
        [
            redis.lpush('testing_data',
                        Price.from_dict(p).to_json()) for p in price_data
        ]
    else:
        price_data = map(lambda p: Price.from_json(p).to_dict(), price_data)

    df = pd.DataFrame(price_data)
    df['time'] = pd.to_datetime(df['time'])
    df = df.set_index('time')
    df_resampled = df['ask'].resample(interval).ohlc()
    # df_bid = df['bid'].resample(interval).ohlc()
    # df_resampled = pd.concat([df_ask, df_bid], axis=1, keys=['ask', 'bid'])
    df_resampled.fillna(method='ffill', inplace=True)
    # print(df_resampled.tail())
    print("interval", interval, "len", len(df_resampled.index))
    return df_resampled
Beispiel #3
0
import pandas as pd
import sys

from Trader import Trader
from Types import Price
from Types import PreOrder
from Constants import env
from Constants import trd
from Stategy.DefaultScalp import get_trade
from _rabbit import _rabbit
from _redis import _redis
from _time import _time

module_name = "TradeMaker"
rabbit = _rabbit()
redis = _redis()

# trader = Trader(*Trader.get_dependencies())
trader = Trader(*Trader.get_dependencies_bt())
price_list = []


def callback(ch, method, properties, body):
    # start timer.
    t0 = _time.time()

    # trading configurables.
    position_size, take_profit_pips, stop_loss_pips, time_in_force = 50, 0.0001, 0.0005, "GTC"

    price = Price.from_json(body)
    print(module_name, price.time, price.instrument, price.ask, price.bid)