Ejemplo n.º 1
0
def _test(ds: DataStructure, ips_to_insert: List[str],
          ips_to_query: List[str]) -> Results:
    """
    Test the performance of a given data structure
    :param ds: The data structure to test
    :param ips_to_insert: List of IPs to add to the data structure
    :param ips_to_query: List of IPs to query the data structure
    :return: A results object, containing the num of FP, num of TP, num of FN, num of TN
    """
    for ip in ips_to_insert:
        ds.add_new(ip)
    results: Results = Results()
    for ip in ips_to_query:

        should_exists: bool = ds.should_exists(ip)

        if should_exists:

            if ds.is_exists(ip):
                results.tp += 1
            else:
                results.fp += 1
        else:
            if ds.is_exists(ip):
                results.fn += 1
            else:
                results.tn += 1
        results.total += 1
    return results
Ejemplo n.º 2
0
 def gen_layerN(self, layer, num=10):
     if not isinstance(layer, int):
         raise Exception('layer should be int type!')
     layer = int(layer)
     for i in tqdm(xrange(num), desc='layer%s generate expr' % layer):
         expr_object = DataStructure()
         expr_object.values.expr = str(i)
         expr_object.values.type = 'operators'
         expr_object.values.layer = layer
         expr_object.values.expr = self.assemble_expr(layer)
         expr_object.write_mongodb(self.mongodb)
Ejemplo n.º 3
0
 def gen_layer0(self):
     for i in [
             'OpenPrice', 'HighestPrice', 'LowestPrice', 'ClosePrice',
             "Volume", "Position", "VWAP", "Return", "TurnOver"
     ]:
         expr_object = DataStructure()
         #expr_object.values.id = str(uuid.uuid1())
         expr_object.values.expr = str(i)
         expr_object.values.type = 'elements'
         expr_object.values.layer = 0
         expr_object.write_mongodb(self.mongodb)
Ejemplo n.º 4
0
    def create_output(self):
        """Funcion que crea el objeto con la estrusctura de datos leible y luego
			crea el objeto resultado que posee una estructura mas leible para ser introducido
			en el output.txt ademas de guardarlo en lista a los valores
		"""
        f = open("Output.txt", "w")
        dt = DataStructure(self.input)
        dt.open_fill()
        for i in dt.get_all():
            p = Resultado(i)
            if type(p.get_id()) == (int):
                self.output.append(p.get_all())
                f.write("{}\n\n".format(p.get_all()))

        f.close()
Ejemplo n.º 5
0
def test_insert_specifying_initial_values():
    ds = DataStructure([1, 2, 3, 4, 5])
    ds.insert(6)
    assert len(ds.values) == 6
Ejemplo n.º 6
0
def test_insert_default_constructor():
    ds = DataStructure()
    ds.insert(1)
    assert len(ds.values) == 1
Ejemplo n.º 7
0
def test_get_random_in_appropriate_range():
    ds = DataStructure([1, 5, 2, 5, 3, 4, 5])
    output = ds.get_random()
    assert output >= 1 and output <= 5
Ejemplo n.º 8
0
def test_remove_multiple_duplicate_values():
    ds = DataStructure([1, 5, 2, 5, 3, 4, 5])
    ds.remove(5)
    assert 5 not in ds.values
Ejemplo n.º 9
0
def test_remove_single_value():
    ds = DataStructure([1, 2, 3, 4, 5])
    ds.remove(5)
    assert 5 not in ds.values
Ejemplo n.º 10
0
def test_insert_specifying_initial_values():
	ds = DataStructure([1, 2, 3, 4, 5])
	ds.insert(6)
	assert len(ds.values) == 6
Ejemplo n.º 11
0
def test_get_random_in_appropriate_range():
	ds = DataStructure([1, 5, 2, 5, 3, 4, 5])
	output = ds.get_random()
	assert output >= 1 and output <= 5
Ejemplo n.º 12
0
def test_insert_default_constructor():
	ds = DataStructure()
	ds.insert(1)
	assert len(ds.values) == 1
Ejemplo n.º 13
0
def test_remove_multiple_duplicate_values():
	ds = DataStructure([1, 5, 2, 5, 3, 4, 5])
	ds.remove(5)
	assert 5 not in ds.values
Ejemplo n.º 14
0
def test_remove_single_value():
	ds = DataStructure([1, 2, 3, 4, 5])
	ds.remove(5)
	assert 5 not in ds.values
Ejemplo n.º 15
0
def create_ds():
    m = int(input("Please enter the size of the hash table: "))
    k = int(input("Please enter the number of hushing functions: "))
    ds = DataStructure(k, m)
    return ds
Ejemplo n.º 16
0
                                     index=self.eod.dates[1:],
                                     columns=self.eod.ticker_names)
        bt = BackTest(resample_wgts,
                      returns=self.resample_returns,
                      cycle='day',
                      IS_OOS_ratio=None,
                      stat_info=False,
                      plot=False,
                      quintiles=3,
                      turnover=1,
                      cost=0.,
                      ticker_names=None,
                      output_dir=None,
                      test_mode=False,
                      signal_name=None)
        bt.stat_quintiles()
        bt.stat_quintiles_pnl()
        bt.stat_alpha_pnl()
        bt.stat_alpha_sharpe()

        # 保存信号
        print expr_ds.values.id, expr_ds.values.expr, 'sharpe:', bt.alpha_sharpe
        #expr_ds.write(expr_ds.values.id)


if __name__ == '__main__':
    w = Worker()
    ds = DataStructure()
    ds.read('layer1', 'aae599d4-491e-11e8-8c43-801844e189f4')
    w.cal_alphas()