Tick bars

A plot of the raw tick price and volume data for AAPL looks as follows:

stock, date = 'AAPL', '20180329'
title = '{} | {}'.format(stock, pd.to_datetime(date).date()

with pd.HDFStore(itch_store) as store:
s = store['S'].set_index('event_code') # system events
s.timestamp = s.timestamp.add(pd.to_datetime(date)).dt.time
market_open = s.loc['Q', 'timestamp']
market_close = s.loc['M', 'timestamp']

with pd.HDFStore(stock_store) as store:
trades = store['{}/trades'.format(stock)].reset_index()
trades = trades[trades.cross == 0] # excluding data from open/close crossings
trades.price = trades.price.mul(1e-4)

trades.price = trades.price.mul(1e-4) # format price
trades = trades[trades.cross == 0] # exclude crossing trades
trades = trades.between_time(market_open, market_close) # market hours only

tick_bars = trades.set_index('timestamp')
tick_bars.index = tick_bars.index.time
tick_bars.price.plot(figsize=(10, 5), title=title), lw=1)

We get the following plot for the preceding code:

The tick returns are far from normally distributed, as evidenced by the low p-value of scipy.stats.normaltest:

from scipy.stats import normaltest
normaltest(tick_bars.price.pct_change().dropna())

NormaltestResult(statistic=62408.76562431228, pvalue=0.0)
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
100.24.20.141