예제 #1
0
    def getSignals(self):
        signals = []
        for (inWidgetInstance, outName, inName,
             X) in self.signalManager.links.get(self.outWidget.instance(), []):
            if inWidgetInstance == self.inWidget.instance:

                signals.append((outName, inName))
        #print 'Signals collected, ', signals
        return signals
def load_s3_data(files, features, signal_fn, start_hour=None, end_hour=None): 
    """Reads given filenames from s3, returns:
        - feature matrix (based on the features argument)
        - output signal (based on given signal_fn)
        - times 
        - bids
        - offers
        - currency pair"""
    print "Loading datasets..."
    datasets = load_s3_files(files) 
    print "Flattening datasets into feature matrices..." 
    
    matrices = []
    signals = []
    times = []
    bids = []
    offers = []
    currencies = [] 
    
    for d in datasets:
        print "Processing dataset", d.hdf 
        start_idx = None if start_hour is None else hour_to_idx(d.t, start_hour) 
        end_idx = None if end_hour is None else hour_to_idx(d.t, end_hour)
        print "start_idx", start_idx, "end_idx", end_idx 
        
        start_ok = start_idx is None or start_idx < len(d.t)
        end_ok = end_idx is None or (end_idx < len(d.t) and end_idx > start_idx)
        
        if start_ok and end_ok:
            mat = dataset_to_feature_matrix(d, features, start_idx=start_idx, end_idx=end_idx)
            matrices.append(mat)
            times.append(d.t[start_idx:end_idx])
        
            bids.append(d['bid/100ms'][start_idx:end_idx])
            offers.append(d['offer/100ms'][start_idx:end_idx])
            currencies.append(d.currency_pair)
        
            print "Generating output signal"
            signals.append(signal_fn(d, start_idx=start_idx, end_idx=end_idx))
        
    feature_data = np.concatenate(matrices)
    print "Checking data validity..."
    check_data(feature_data) 
    
    signal = np.concatenate(signals)
    times = np.concatenate(times)
    bids = np.concatenate(bids)
    offers = np.concatenate(offers)
    
    print "Deleting local files..." 
    for d in datasets:
        d.hdf.close()
    return feature_data, signal, times, bids, offers, currencies   
예제 #3
0
 def getOutConnectedSignalNames(self):
     signals = []
     for line in self.outLines:
         for (outSignal, inSignal) in line.getSignals():
             if outSignal not in signals: signals.append(outSignal)
     return signals
예제 #4
0
 def getOutConnectedSignalNames(self):
     signals = []
     for line in self.outLines:
         for (outSignal, inSignal) in line.getSignals():
             if outSignal not in signals: signals.append(outSignal)
     return signals