コード例 #1
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
    def test_normal_calc_template_deprecated(self):
        a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                      (13, 14)])
        b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                      (111, 112), (113, 114)])
        sa = CommonObject(id=3, code='test1', transaction=a)
        sb = CommonObject(id=3, code='test2', transaction=b)
        dates = np.array([1, 2])
        sdata = {'sa': sa, 'sb': sb}
        fbuy = lambda x: np.array([1, 0])
        fsell = lambda x, y: np.array([0, 1])
        ftrade = lambda x, y, z, a: (1, 2)
        normal_calc_template_deprecated(sdata, dates, fbuy, fsell, ftrade)
        self.assertTrue(True)

        #测试异常包容性
        def fbuy(x):
            raise Exception

        se1 = CommonObject(id=3, code='test exception catch 1', transaction=a)
        se2 = CommonObject(id=3, code='test exception catch 2', transaction=b)
        dates = np.array([1, 2])
        edata = {'se1': se1, 'se2': se2}
        normal_calc_template_deprecated(edata, dates, fbuy, fsell, ftrade)
        self.assertTrue(True)
コード例 #2
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_prepare_catalogs(self):  #只测试通路
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                   (111, 112), (113, 114)])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     sdata = {'sa': sa, 'sb': sb}
     ctree, catalogs = prepare_catalogs(sdata)
コード例 #3
0
ファイル: source.py プロジェクト: hbwzhsh/foxengine
def get_stocks(codes,begin,end,rid=ref_id):     #这里不对is_active进行筛除
    #print 'codes:',codes
    rev = {}
    for code in codes:
        sid = code2id[code]
        logger.debug('loading stock:%s' % code)
        #print code
        vo = CDO(id=sid,code=code)
        vo.transaction = tuple2array(store.get_refbased_xquotes(get_connection(),ref_id,sid,begin,end))
        #t:transaction,d:data,g:global,c:catalog?
        rev[sid] = vo
    return rev
コード例 #4
0
ファイル: mediator_test.py プロジェクト: hbwzhsh/foxengine
 def test_calc_last(self):
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                   (111, 112), (113, 114)])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     dates = np.array([1, 2])
     sdata = {'sa': sa, 'sb': sb}
     fbuy = lambda x: np.array([1, 0])
     fsell = lambda x, y: np.array([0, 1])
     m = MM_Mediator(fbuy, fsell)
     self.assertRaises(NotImplementedError, m.calc_last, sdata, dates)
コード例 #5
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_calc_trades(self):
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                   (111, 112), (113, 114)])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     sdata = {'sa': sa, 'sb': sb}
     dates = np.array([20010101, 20010102])
     buyer = lambda x: x.transaction[CLOSE]
     name, trades = calc_trades(buyer, atr_seller, sdata, dates, 20010101)
     #print name
     self.assertTrue(name)
コード例 #6
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_csc_func(self):
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     sa = CommonObject(id=3, transaction=a)
     bs = np.array([0, 1])
     csc_func(sa, bs)
     self.assertTrue(True)
     #空测试
     a = np.array([(), (), (), (), (), (), ()])
     sa = CommonObject(id=3, transaction=a)
     bs = np.array([])
     csc_func(sa, bs)
     self.assertTrue(True)
コード例 #7
0
ファイル: mediator_test.py プロジェクト: hbwzhsh/foxengine
    def test_calc_matched_except(self):  #测试异常分支的正确性
        def fbuy(s):
            raise Exception

        a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                      (13, 14)])
        b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                      (111, 112), (113, 114)])
        sa = CommonObject(id=3, code='test1', transaction=a)
        sb = CommonObject(id=3, code='test2', transaction=b)
        dates = np.array([1, 2])
        sdata = {'sa': sa, 'sb': sb}
        fsell = lambda x, y: np.array([0, 1])
        m = MM_Mediator(fbuy, fsell)
        m.calc_matched(sdata, dates)
        self.assertTrue(True)
コード例 #8
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_dlimit(self):
     dummy = range(45)
     a = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     b = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     sdata = {'sa': sa, 'sb': sb}
     print sum(a)
     self.assertEquals(7920, np.sum(a))
     dlimit(sdata.values(), 0)
     self.assertEquals(7920, np.sum(a))
     dlimit(sdata.values(), 20)
     self.assertEquals(7920 + 210 * 5, np.sum(a))
     dlimit(sdata.values(), 100)
     self.assertEquals(4500 * 5 + 990 * 3, np.sum(a))
     self.assertTrue(True)
コード例 #9
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_prepare_gbjg(self):  #这里实际上没有测试循环内通道
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                   (111, 112), (113, 114)])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=4, code='test2', transaction=b)
     sdata = {3: sa, 4: sb}
     prepare_gbjg(sdata)  #测试stock_id不在sdata数据中
     self.assertTrue(True)
     sc = CommonObject(id=20, code='test2', transaction=b)
     sdata = {3: sa, 4: sb, 20: sc}
     prepare_gbjg(sdata)  #测试stock_id不在sdata数据中
     sdata[20].ag = 500
     sdata[20].zgb = 1000
     sdata[20].last_date = 200101
コード例 #10
0
ファイル: mediator_test.py プロジェクト: hbwzhsh/foxengine
 def test_calc(self):
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                   (111, 112), (113, 114)])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     dates = np.array([1, 2])
     sdata = {'sa': sa, 'sb': sb}
     fbuy = lambda x: np.array([1, 0])
     fsell = lambda x, y: np.array([0, 1])
     m = NMediator(fbuy, fsell)
     m.calc(sdata, dates)
     self.assertTrue(True)
     #空测试
     m.calc_matched({}, np.array([]))
     self.assertTrue(True)
コード例 #11
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_mm_batch(self):
     dummy = range(45)
     a = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     b = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     sa = CommonObject(id=3, code='test1', transaction=a, atr=dummy)
     sb = CommonObject(id=3, code='test2', transaction=b, atr=dummy)
     sdata = {'sa': sa, 'sb': sb}
     dates = np.arange(20010101, 20010146)  #45个采样点,避免在计算CSHARP中线形回归的时候报警
     mm_batch([], sdata, dates, 20010101)  #空测试
     self.assertTrue(True)
     buyer = lambda x: np.ones(45, int)
     c1 = BaseObject(buyer=buyer, seller=atr_seller, pman=None, dman=None)
     c2 = BaseObject(buyer=buyer, seller=atr_seller, pman=None, dman=None)
     mm_batch([c1, c2], sdata, dates, 20010101)
     self.assertTrue(c1.name)
     self.assertEquals(c1.name, c2.name)
     self.assertTrue(True)
コード例 #12
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_normal_trade_func_deprecated(self):  #只测试通路
     a = np.array([(1, 2, 1), (3, 4, 3), (5, 6, 5), (7, 8, 7), (9, 10, 4),
                   (11, 12, 3), (13, 14, 5)])
     sa = CommonObject(id=3, code='TEST', transaction=a)
     dates = np.array([1, 2, 3])
     sb = np.array([0, 1, 0])
     ss = np.array([0, 0, 1])
     normal_trade_func_deprecated(dates, sa, sb, ss)
     self.assertTrue(True)
コード例 #13
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_trade_func_deprecated(self):
     from wolfox.fengine.core.shortcut import _trade_func_deprecated
     a = np.array([(1, 2, 1), (3, 4, 3), (5, 6, 5), (7, 8, 7), (9, 10, 4),
                   (11, 12, 3), (13, 14, 5)])
     sa = CommonObject(id=3, code='TEST', transaction=a)
     dates = np.array([1, 2, 3])
     sb = np.array([0, 1, 0])
     ss = np.array([0, 0, 1])
     _trade_func_deprecated(dates, sa, sb, ss, prepare_func=B0S0)
     self.assertTrue(True)
     #空测试
     a = np.array([(), (), (), (), (), (), ()])
     sa = CommonObject(id=3, code='TEST', transaction=a)
     dates = np.array([])
     sb = np.array([])
     ss = np.array([])
     _trade_func_deprecated(dates, sa, sb, ss, prepare_func=B0S0)
     self.assertTrue(True)
コード例 #14
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_batch_last(self):
     dummy = range(45)
     a = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     b = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     sdata = {'sa': sa, 'sb': sb}
     dates = np.arange(20010101, 20010146)  #45个采样点,避免在计算CSHARP中线形回归的时候报警
     batch_last([], sdata, dates, 20010101)  #空测试
     self.assertTrue(True)
     buyer = lambda x: np.ones(45, int)
     buyer2 = lambda x: np.ones(40, int)
     buyer.__name__ = 'buyer1'
     buyer2.__name__ = 'buyer2'
     c1 = BaseObject(buyer=buyer, seller=atr_seller)
     c2 = BaseObject(buyer=buyer2, seller=atr_seller)
     ts = batch_last([c1, c2], sdata, dates, 20010101)
     self.assertTrue(True)
コード例 #15
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_batch(self):
     dummy = range(45)
     a = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     b = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     sdata = {'sa': sa, 'sb': sb}
     dates = np.arange(20010101, 20010146)  #45个采样点,避免在计算CSHARP中线形回归的时候报警
     batch([], sdata, dates, 20010101)  #空测试
     self.assertTrue(True)
     pman = AdvancedPositionManager()
     dman = XDateManager(range(20010101, 20010215))
     buyer = lambda x: np.ones(45, int)
     c1 = BaseObject(buyer=buyer, seller=atr_seller, pman=pman, dman=dman)
     c2 = BaseObject(buyer=buyer, seller=atr_seller, pman=pman, dman=dman)
     batch([c1, c2], sdata, dates, 20010101)
     self.assertTrue(c1.name)
     self.assertEquals(c1.name, c2.name)
     self.assertTrue(True)
コード例 #16
0
ファイル: mediator_test.py プロジェクト: hbwzhsh/foxengine
 def test_prepare(self):
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     sa = CommonObject(id=3, code='test1', transaction=a)
     fbuy = lambda x: np.array([1, 0])
     fsell = lambda x, y: np.array([0, 1])
     m = Mediator(fbuy, fsell)
     #sa.atr = np.array([1000,2000])
     m.prepare(sa)
     #self.assertEquals([1000,2000],sa.atr.tolist())
     self.assertTrue(True)
コード例 #17
0
ファイル: mediator_test.py プロジェクト: hbwzhsh/foxengine
 def test_prepare(self):
     a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                   (13, 14)])
     sa = CommonObject(id=3, code='test1', transaction=a, atr=(100, 200))
     fbuy = lambda x: np.array([1, 0])
     fsell = lambda x, y: np.array([0, 1])
     m = MM_Mediator(fbuy, fsell)
     m.prepare(sa)
     #self.assertEquals(2,len(sa.atr))
     #self.assertEquals([0,0],sa.atr.tolist())    #不到atr cover(默认为20)
     self.assertEquals(2, len(sa.mfe))
     self.assertEquals(2, len(sa.mae))
コード例 #18
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_merge(self):
     pman = AdvancedPositionManager()
     dman = XDateManager(range(20010101, 20010215))
     dummy = range(45)
     a = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     b = np.array([dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy])
     sa = CommonObject(id=3, code='test1', transaction=a)
     sb = CommonObject(id=3, code='test2', transaction=b)
     sdata = {'sa': sa, 'sb': sb}
     dates = np.arange(20010101, 20010146)  #45个采样点,避免在计算CSHARP中线形回归的时候报警
     r1, s1 = merge([], sdata, dates, 20010101, pman, dman)  #空测试
     self.assertEquals(0, r1.pre_ev.count)
     self.assertEquals(0, r1.g_ev.count)
     self.assertTrue(True)
     buyer = lambda x: np.ones(45, int)
     c1 = BaseObject(buyer=buyer, seller=atr_seller, pman=pman, dman=dman)
     c2 = BaseObject(buyer=buyer, seller=atr_seller, pman=pman, dman=dman)
     r2, s2 = merge([c1, c2], sdata, dates, 20010101, pman, dman)
     self.assertEquals(0, r2.pre_ev.count)
     self.assertEquals(0, r2.g_ev.count)
     self.assertTrue(True)
コード例 #19
0
ファイル: shortcut_test.py プロジェクト: hbwzhsh/foxengine
 def test_signals_maker(self):
     buyer1 = lambda stock: np.array([0, 1, 1])
     buyer2 = lambda stock: np.array([1, 0, 1])
     buyer3 = lambda stock: np.array([0, 0, 1])
     a = np.array([(1, 2, 1), (1, 3, 4), (1, 5, 6), (1, 7, 8), (1, 9, 10),
                   (1, 11, 12), (1, 13, 14)])
     sa = CommonObject(id=3, transaction=a)
     m1 = signals_maker([buyer1, buyer2])
     self.assertEquals([1, 1, 1], m1(sa).tolist())
     m2 = signals_maker([buyer1, buyer3])
     self.assertEquals([0, 1, 1], m2(sa).tolist())
     m3 = signals_maker([buyer2, buyer3])
     self.assertEquals([1, 0, 1], m3(sa).tolist())
コード例 #20
0
ファイル: mediator_test.py プロジェクト: hbwzhsh/foxengine
    def test__calc(self):
        a = np.array([(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12),
                      (13, 14)])
        b = np.array([(11, 12), (13, 14), (15, 16), (17, 18), (19, 110),
                      (111, 112), (113, 114)])
        sa = CommonObject(id=3, code='test1', transaction=a)
        sb = CommonObject(id=3, code='test2', transaction=b)
        dates = np.array([1, 2])
        sdata = {'sa': sa, 'sb': sb}
        fbuy = lambda x: np.array([1, 0])
        fsell = lambda x, y: np.array([0, 1])
        ftrade = lambda x, y, z, a, c, begin: (1, 2)
        m = Mediator(fbuy, fsell)
        m._calc(ftrade, sdata, dates)
        self.assertTrue(True)

        #测试异常包容性
        def fbuy(x):
            raise Exception('test exception catch')

        me = Mediator(fbuy, fsell)
        me._calc(ftrade, sdata, dates)
        self.assertTrue(True)
コード例 #21
0
ファイル: utils_test.py プロジェクト: hbwzhsh/foxengine
 def test_names(self):
     self.assertEquals((),names())
     a,b = CommonObject(id=1),CommonObject(id=2)
     a.__name__,b.__name__ = 'af','bf'
     self.assertEquals(('af','bf'),names(a,b))