Split the tick data to the underlying collections and write the data to each low
        level library.

        Args:
            symbol (str): the symbol for the timeseries data
            data (list of dicts or pandas dataframe): Tick data to write
                if a list of dicts is given the list must be in time order and the time must be stored in
                an element named 'index' the value of which must be a timezone aware datetime.
                For a pandas dataframe the index must be a datetime

def write(self, symbol, data):
        """
        Split the tick data to the underlying collections and write the data to each low
        level library.

        Args:
            symbol (str): the symbol for the timeseries data
            data (list of dicts or pandas dataframe): Tick data to write
                if a list of dicts is given the list must be in time order and the time must be stored in
                an element named 'index' the value of which must be a timezone aware datetime.
                For a pandas dataframe the index must be a datetime
        """

        # get the full set of date ranges that we have
        cursor = self._collection.find()
        for res in cursor:
            library = self._arctic_lib.arctic[res['library_name']]
            dslice = self._slice(data, to_dt(res['start'], mktz('UTC')), to_dt(res['end'], mktz('UTC')))
            if len(dslice) != 0:
                library.write(symbol, dslice)