Ejemplo n.º 1
0
def create_kraken_trade(
    tradeable_pairs: List[str],
    base_asset: Optional[str] = None,
    quote_asset: Optional[str] = None,
    time: Optional[Timestamp] = None,
    start_ts: Optional[Timestamp] = None,
    end_ts: Optional[Timestamp] = None,
    trade_type: Optional[TradeType] = None,
    rate: Optional[FVal] = None,
    amount: Optional[FVal] = None,
    fee: Optional[FVal] = None,
) -> Dict[str, str]:
    trade = {}
    trade['ordertxid'] = str(generate_random_kraken_id())
    trade['postxid'] = str(generate_random_kraken_id())
    if base_asset is None or quote_asset is None:
        pair = random.choice(tradeable_pairs)
    else:
        pair = WORLD_TO_KRAKEN[base_asset] + WORLD_TO_KRAKEN[quote_asset]

    trade['pair'] = pair
    if time:
        trade['time'] = str(time) + '.0000'
    else:
        trade['time'] = str(make_random_timestamp(start=start_ts,
                                                  end=end_ts)) + '.0000'
    if trade_type:
        trade['type'] = str(trade_type)
    else:
        trade['type'] = random.choice(('buy', 'sell'))
    trade['ordertype'] = random.choice(('limit', 'market'))
    if rate:
        price = rate
    else:
        price = make_random_positive_fval()
    trade['price'] = str(price)

    if amount:
        volume = amount
    else:
        volume = make_random_positive_fval()
    trade['vol'] = str(volume)

    if fee:
        trade['fee'] = str(fee)
    else:
        trade['fee'] = str(make_random_positive_fval(max_num=2))

    trade['fee'] = str(make_random_positive_fval(max_num=2))
    trade['cost'] = str(price * volume)
    trade['margin'] = '0.0'
    trade['misc'] = ''
    return trade
Ejemplo n.º 2
0
def create_kraken_trade(
    tradeable_pairs: List[str],
    pair: Optional[str] = None,
    time: Optional[Timestamp] = None,
    start_ts: Optional[Timestamp] = None,
    end_ts: Optional[Timestamp] = None,
    trade_type: Optional[str] = None,
    rate: Optional[FVal] = None,
    amount: Optional[FVal] = None,
    fee: Optional[FVal] = None,
) -> Dict[str, str]:
    trade = {}
    trade['ordertxid'] = str(generate_random_kraken_id())
    trade['postxid'] = str(generate_random_kraken_id())
    if pair:
        trade['pair'] = world_to_kraken_pair(tradeable_pairs=tradeable_pairs,
                                             pair=pair)
    else:
        trade['pair'] = random.choice(tradeable_pairs)
    if time:
        trade['time'] = str(time) + '.0000'
    else:
        trade['time'] = str(make_random_timestamp(start=start_ts,
                                                  end=end_ts)) + '.0000'
    if trade_type:
        trade['type'] = trade_type
    else:
        trade['type'] = random.choice(('buy', 'sell'))
    trade['ordertype'] = random.choice(('limit', 'market'))
    if rate:
        price = rate
    else:
        price = make_random_positive_fval()
    trade['price'] = str(price)

    if amount:
        volume = amount
    else:
        volume = make_random_positive_fval()
    trade['vol'] = str(volume)

    if fee:
        trade['fee'] = str(fee)
    else:
        trade['fee'] = str(make_random_positive_fval(max_num=2))

    trade['fee'] = str(make_random_positive_fval(max_num=2))
    trade['cost'] = str(price * volume)
    trade['margin'] = '0.0'
    trade['misc'] = ''
    return trade
Ejemplo n.º 3
0
def generate_random_kraken_ledger_data(
        start_ts: Timestamp,
        end_ts: Timestamp,
        ledger_type: str,
) -> Dict[str, str]:
    ledger = {}
    ledger['refid'] = str(generate_random_kraken_id())
    ledger['time'] = str(make_random_timestamp(start=start_ts, end=end_ts)) + '.0000'
    ledger['type'] = ledger_type
    ledger['aclass'] = 'currency'
    ledger['asset'] = get_random_kraken_asset()
    ledger['amount'] = str(make_random_positive_fval())
    ledger['balance'] = str(make_random_positive_fval())
    ledger['fee'] = str(make_random_positive_fval(max_num=2))
    return ledger
Ejemplo n.º 4
0
def generate_random_kraken_balance_response():
    kraken_assets = set(KRAKEN_TO_WORLD.keys()) - set(KRAKEN_DELISTED)
    number_of_assets = random.randrange(0, len(kraken_assets))
    chosen_assets = random.sample(kraken_assets, number_of_assets)

    balances = {}
    for asset in chosen_assets:
        balances[asset] = make_random_positive_fval()

    return balances
Ejemplo n.º 5
0
def generate_random_kraken_trade_data(
    tradeable_pairs: List[str],
    start_ts: Timestamp,
    end_ts: Timestamp,
) -> Dict[str, str]:
    trade = {}
    trade['ordertxid'] = str(generate_random_kraken_id())
    trade['postxid'] = str(generate_random_kraken_id())
    trade['pair'] = random.choice(tradeable_pairs)
    trade['time'] = str(make_random_timestamp(start=start_ts,
                                              end=end_ts)) + '.0000'
    trade['type'] = random.choice(('buy', 'sell'))
    trade['ordertype'] = random.choice(('limit', 'market'))
    price = make_random_positive_fval()
    volume = make_random_positive_fval()
    trade['price'] = str(price)
    trade['vol'] = str(volume)
    trade['fee'] = str(make_random_positive_fval(max_num=2))
    trade['cost'] = str(price * volume)
    trade['margin'] = '0.0'
    trade['misc'] = ''
    return trade