In [ ]:
%matplotlib inline
from BitcoinAverager import TimeUtil, BitcoinAverager, PriceCompositor, Forex, BitcoinDataLoader
In [ ]:
import datetime
import time
import pytz
from dateutil.relativedelta import relativedelta
hkg_time = pytz.timezone("Asia/Hong_Kong")
start = hkg_time.localize(datetime.datetime(2014,2,1,6,0,0))
period = relativedelta(days=1)
intervals = 30
TimeUtil.time_table(start, period, intervals)
In [ ]:
averagers = {}
exchanges = ["anxhkHKD", "bitfinexUSD", "bitstampUSD", "btceUSD", "itbitEUR", "itbitSGD", "itbitUSD", \
"krakenEUR", "krakenUSD", "okcoinCNY", "btcnCNY"]
for e in exchanges:
averagers[e] = BitcoinAverager(e)
averager = averagers["bitfinexUSD"]
averager_base = BitcoinAverager("bitfinexUSD", "GBP")
In [ ]:
averager.index_range()
In [ ]:
from datetime import datetime
from dateutil.relativedelta import relativedelta
import pytz
hkg_time = pytz.timezone("Asia/Hong_Kong")
start_time = hkg_time.localize(datetime(2014,2,1,6,0,0))
end_time = start_time + relativedelta(days=1)
start_epoch = TimeUtil.unix_epoch(start_time)
end_epoch = TimeUtil.unix_epoch(end_time)
selected = averager.select(start_epoch, end_epoch)
len(selected)
In [ ]:
from datetime import datetime
from dateutil.relativedelta import relativedelta
import pytz
hkg_time = pytz.timezone("Asia/Hong_Kong")
start_time = hkg_time.localize(datetime(2014,2,1,6,0,0))
end_time = start_time + relativedelta(minute=15)
start_epoch = TimeUtil.unix_epoch(start_time)
end_epoch = TimeUtil.unix_epoch(end_time)
selected = averager.select(start_epoch, end_epoch)
selected
In [ ]:
selected = averager.intervals(start_time, relativedelta(minutes=1),50 )
selected
In [ ]:
selected_base = averager_base.intervals(start_time, relativedelta(minutes=1),50 )
selected_base
In [ ]:
%matplotlib inline
In [ ]:
selected.plot(y='price')
In [ ]:
selected.plot(y="volume")
In [ ]:
import datetime
import time
import pytz
from dateutil.relativedelta import relativedelta
hkg_time = pytz.timezone("Asia/Hong_Kong")
start = hkg_time.localize(datetime.datetime(2014,2,1,6,0,0))
period = relativedelta(days=1)
intervals = 30
forex_list = ["GBPUSD"]
forex_table = {}
compositor = PriceCompositor()
avg = compositor.exchange_table(start, period, intervals)
for f in forex_list:
forex = Forex(f)
forex_table[f] = forex.rates(list(map(TimeUtil.unix_epoch, avg.index)), avg.index)
forex_table[f].rename(columns={"rates" : f}, inplace=True)
avg = avg.join(forex_table[f] for f in forex_list)
In [ ]:
forex_table["GBPUSD"]
In [ ]:
f=Forex("USDUSD")
f.rates(map(TimeUtil.unix_epoch, avg.index), avg.index)
In [ ]:
import datetime
import time
import pytz
from dateutil.relativedelta import relativedelta
hkg_time = pytz.timezone("Asia/Hong_Kong")
start_date = hkg_time.localize(datetime.datetime(2014,2,1,7,0,0))
period = relativedelta(minutes=5)
intervals = 200
forex_table = {}
compositor = PriceCompositor()
avg = compositor.exchange_table(start_date, period, intervals)
for f in forex_list:
forex = Forex(f)
forex_table[f] = forex.rates(list(map(TimeUtil.unix_epoch, avg.index)), avg.index)
forex_table[f].rename(columns={"rates" : f}, inplace=True)
avg = avg.join(forex_table[f] for f in forex_list)
avg[['bitfinexUSD_price', 'bitstampUSD_price']]
In [ ]:
avg[['GBPUSD']]
In [ ]:
import datetime
import time
import pytz
from dateutil.relativedelta import relativedelta
hkg_time = pytz.timezone("Asia/Hong_Kong")
start_date = hkg_time.localize(datetime.datetime(2014,2,1,7,0,0))
period = relativedelta(hours=1)
intervals = 200
compositor = PriceCompositor()
compositor.currency_table(start_date, period, intervals)
In [ ]:
import datetime
import time
import pytz
from dateutil.relativedelta import relativedelta
hkg_time = pytz.timezone("Asia/Hong_Kong")
start_date = hkg_time.localize(datetime.datetime(2014,2,1,7,0,0))
period = relativedelta(hours=1)
intervals = 200
compositor = PriceCompositor()
composite = compositor.composite_table(start_date, period, intervals)
composite
In [ ]:
composite[["price"]].plot()
In [ ]:
import datetime
import time
import pytz
from dateutil.relativedelta import relativedelta
hkg_time = pytz.timezone("Asia/Hong_Kong")
start_date = hkg_time.localize(datetime.datetime(2014,2,1,7,0,0))
period = relativedelta(hours=1)
intervals = 200
compositor = PriceCompositor()
compositor.generate(start_date, period, intervals)
In [ ]:
c = compositor.generate(start_date, period, intervals, converted_prices=True,currency=True)
c
In [ ]:
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 10))
ax1 = plt.subplot2grid((8,1), (0,0), rowspan=7)
ax2 = plt.subplot2grid((8,1), (7,0))
ax1.xaxis.set_ticklabels([])
c[['price', 'GBPUSD_price', 'GBPEUR_price']].plot(ax=ax1)
c[['volume', 'USD_volume', 'EUR_volume']].plot(ax=ax2)
In [ ]:
import datetime
import time
import pytz
from dateutil.relativedelta import relativedelta
hkg_time = pytz.timezone("Asia/Hong_Kong")
start_date = hkg_time.localize(datetime.datetime(2014,2,1,7,0,0))
period = relativedelta(hours=1)
intervals = 200
compositor = PriceCompositor(base_currency="USD")
composite = compositor.generate(start_date, period, intervals)
In [ ]:
composite[["price"]].plot()
In [ ]:
compositor.reload()
In [ ]:
f = BitcoinDataLoader()
In [ ]:
f.filedata()
In [ ]: