Files
catalyst/tests/exchange/test_bitfinex.py
T
2017-08-14 18:37:40 -04:00

95 lines
2.8 KiB
Python

from catalyst.exchange.bitfinex import Bitfinex
from .base import BaseExchangeTestCase
from logbook import Logger
import pandas as pd
from catalyst.finance.execution import (MarketOrder,
LimitOrder,
StopOrder,
StopLimitOrder)
log = Logger('BitfinexTestCase')
class BitfinexTestCase(BaseExchangeTestCase):
def test_positions(self):
log.info('querying positions from bitfinex')
bitfinex = Bitfinex()
balance = bitfinex.positions()
log.info('the balance: {}'.format(balance))
pass
def test_portfolio(self):
log.info('fetching portfolio data')
pass
def test_account(self):
log.info('fetching account data')
pass
def test_time_skew(self):
log.info('time skew not implemented')
pass
def test_get_open_orders(self):
log.info('fetching open orders')
bitfinex = Bitfinex()
order_id = bitfinex.get_open_orders()
log.info('open orders: {}'.format(order_id))
pass
def test_order(self):
log.info('ordering from bitfinex')
bitfinex = Bitfinex()
order_id = bitfinex.order(
asset=bitfinex.get_asset('eth_usd'),
style=LimitOrder(limit_price=200),
limit_price=200,
amount=0.5,
stop_price=None
)
log.info('order created {}'.format(order_id))
pass
def test_get_order(self):
log.info('querying orders from bitfinex')
bitfinex = Bitfinex()
response = bitfinex.get_order(order_id=3361248395)
log.info('the order: {}'.format(response))
pass
def test_cancel_order(self):
log.info('canceling order from bitfinex')
bitfinex = Bitfinex()
response = bitfinex.cancel_order(order_id=3330847408)
log.info('canceled order: {}'.format(response))
pass
def test_get_spot_value(self):
log.info('spot value not implemented')
bitfinex = Bitfinex()
assets = [
bitfinex.get_asset('eth_usd'),
bitfinex.get_asset('etc_usd'),
bitfinex.get_asset('eos_usd'),
]
# assets = bitfinex.get_asset('eth_usd')
value = bitfinex.get_spot_value(
assets=assets,
field='close',
data_frequency='minute'
)
pass
def test_tickers(self):
log.info('fetching ticker from bitfinex')
bitfinex = Bitfinex()
current_date = pd.Timestamp.utcnow()
assets = [
bitfinex.get_asset('eth_usd'),
bitfinex.get_asset('etc_usd'),
bitfinex.get_asset('eos_usd'),
]
tickers = bitfinex.tickers(date=current_date, assets=assets)
log.info('got tickers {}'.format(tickers))
pass