class InstrumentAttributes(object):
    def __init__(
        self, broker, instrument, time_frames,
        market_status, last_update, utc_now,
        wk_str, wk_end
    ):
        # Passport
        self.instrument = instrument
        self.market_status = market_status
        self.last_update = last_update
        self.time_frames = time_frames
        # Start of Trading Week
        self.utc_now = utc_now
        self.wk_str = wk_str
        self.wk_end = wk_end
        self.str_hour = wk_str.hour
        self.td = wk_str.hour - 22
        # Ticks
        self.bid = None
        self.ask = None
        # Time frame storage dict
        self.attribs = {}
        for time_frame in time_frames:
            self.attribs[time_frame] = {
                'db_min' : None,
                'db_max' : None,
                'finbar' : None
            }

    def update_instrument_status(
        self, lastupdate, market_status,
        utc_now, bid, ask
    ):
        self.utc_now = utc_now
        self.last_update = lastupdate
        self.market_status = market_status
        self.bid = bid
        self.ask = ask

    def update_database_datetime(
        self, time_frame, pdfm, pdto
    ):
        if pdfm < self.ttribs[time_frame]['db_min']: 
            self.attribs[time_frame]['db_min'] = pdfm
        if pdto >= self.attribs[time_frame]['db_max']:
            self.attribs[time_frame]['db_max'] = pdto
            
    def create_snapshot(self):
        return {
            self.instrument : {
                 'utc_now' : self.utc_now,
                 'wk_str' : self.wk_str,
                 'wk_end' : self.wk_end,
                 'market_status' : self.market_status,
                 'last_update' : self.last_update,
                 'bid' : self.bid,
                 'ask' : self.ask,
                 'time_frames' : self.attribs
            }
        }

@@ -903,24 +903,25 @@
   self, last
+_
 update, mark
@@ -1026,16 +1026,17 @@
 e = last
+_
 update%0A 
@@ -1475,172 +1475,716 @@
     
-return %7B%0A            self.instrument : %7B%0A                 'utc_now' : self.utc_now,%0A                 'wk_str' : self.wk_str,%0A                 'wk_end' : self.wk_end
+attribs = %7B%7D%0A        for k, v in self.attribs.items():%0A            attribs%5Bk%5D = %7B%0A                'db_min' : v%5B%0A                    'db_min'%5D.strftime('%25Y/%25m/%25d %25H:%25M:%25S'),%0A                'db_max' : v%5B%0A                    'db_max'%5D.strftime('%25Y/%25m/%25d %25H:%25M:%25S'),%0A                'finbar' : v%5B%0A                    'finbar'%5D.strftime('%25Y/%25m/%25d %25H:%25M:%25S')%0A            %7D            %0A        return %7B%0A            self.instrument : %7B%0A                 'utc_now' : self.utc_now.strftime(%0A                    '%25Y/%25m/%25d %25H:%25M:%25S.%25f'),%0A                 'wk_str' : self.wk_str.strftime(%0A                    '%25Y/%25m/%25d %25H:%25M:%25S'),%0A                 'wk_end' : self.wk_end.strftime(%0A                    '%25Y/%25m/%25d %25H:%25M:%25S')
 ,%0A  
@@ -2285,16 +2285,70 @@
 t_update
+.strftime(%0A                    '%25Y/%25m/%25d %25H:%25M:%25S.%25f')
 ,%0A      
@@ -2444,21 +2444,16 @@
 ames' : 
-self.
 attribs%0A

Update instrument.py