Пример #1
0
 def test_composite(self):
     u0 = SZ.filter_daily(date)
     u1 = CYB.filter_daily(date)
     u2 = ZXB.filter_daily(date)
     big1 = u0 & ~(u1 | u2)
     big2 =ChainFilter([(nCYB, NegateFilter(UnionFilter([CYB, ZXB])))]).filter_daily(date)
     self.assertTrue(series_equal(big1, big2))
Пример #2
0
 def test_composite(self):
     u0 = SZ.filter_daily(date)
     u1 = CYB.filter_daily(date)
     u2 = ZXB.filter_daily(date)
     big1 = u0 & ~(u1 | u2)
     big2 = ChainFilter([(nCYB, NegateFilter(UnionFilter([CYB, ZXB])))
                         ]).filter_daily(date)
     self.assertTrue(series_equal(big1, big2))
Пример #3
0
 def test_fetch(self):
     barra1_1 = self.barra.fetch(self.dates[0], self.dates[-1])
     barra1_2 = self.barra.fetch_window(self.dates)
     barra2_1 = self.barra.fetch('industry', self.dates[0], self.dates[-1])
     barra2_2 = self.barra.fetch_window('industry', self.dates)
     barra3_1 = self.barra.fetch(['CNE5D_COUNTRY'], self.dates[0], self.dates[-1])
     barra3_2 = self.barra.fetch_window(['CNE5D_COUNTRY'], self.dates)
     barra4_1 = self.barra.fetch('CNE5D_COUNTRY', self.dates[0], self.dates[-1])
     barra4_2 = self.barra.fetch_window('CNE5D_COUNTRY', self.dates)
     print pd.concat([barra4_1, barra4_2], axis=1)
     self.assertTrue(frames_equal(barra1_1, barra1_2)
                   & frames_equal(barra2_1, barra2_2)
                   & frames_equal(barra3_1, barra3_2)
                   & series_equal(barra4_1, barra4_2))
Пример #4
0
 def test_returns_N_gt1(self):
     df = self.fetcher.fetch_window('returns', self.dates[:2])
     s1 = (df.iloc[0].fillna(0) + 1) * (df.iloc[1] + 1) - 1
     s1.name = self.dates[1]
     s2 = self.fetcher.fetch_daily('returnsN', 2, self.dates[1])
     self.assertTrue(series_equal(s1, s2))
Пример #5
0
 def test_union(self):
     u1 = SZ.filter_daily(date)
     u2 = UnionFilter([CYB, nCYB]).filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #6
0
 def test_intersect1(self):
     u1 = ChainFilter([(SZ, CYB)]).filter_daily(date)
     u2 = CYB.filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #7
0
 def test_negate(self):
     u0 = SZ.filter_daily(date)
     u1 = NegateFilter(CYB).filter_daily(date)
     u1 &= u0
     u2 = nCYB.filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #8
0
 def test_sequence(self):
     u1 = ChainFilter([SZ, CYB]).filter_daily(date)
     u2 = CYB.filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #9
0
 def test_returns_N_eq1_4(self):
     s1 = self.fetcher.fetch_daily('returns', self.dates[-1], offset=49)
     s2 = self.fetcher.fetch_daily('returnsN', 1, self.dates[-1], offset=49)
     self.assertTrue(series_equal(s1, s2))
Пример #10
0
 def test_price3(self):
     self.adjfetcher.mode = AdjQuoteFetcher.FORWARD
     cls1 = self.adjfetcher.fetch_window('adj_close', self.dates)
     cls2 = self.fetcher.fetch_window('close', self.dates)
     self.adjfetcher.mode = AdjQuoteFetcher.BACKWARD
     self.assertTrue(series_equal(cls1.iloc[0], cls2.iloc[0]))
Пример #11
0
 def test_price2(self):
     cls1 = self.adjfetcher.fetch_window('adj_close', self.dates)
     cls2 = self.fetcher.fetch_window('close', self.dates)
     self.assertTrue(series_equal(cls1.iloc[-1], cls2.iloc[-1]))
Пример #12
0
 def test_fetch_daily2(self):
     ret1 = self.barra.fetch_daily('returns', self.dates[0])
     ret2 = self.barra.fetch_window(self.dates[:2]).iloc[0]
     self.assertTrue(series_equal(ret1, ret2))
Пример #13
0
 def test_ic(self):
     ic1 = self.alpha1.get_ic()
     ic2 = data.corrwith(self.alpha1.alpha.shift(1), axis=1).iloc[1:]
     self.assertTrue(series_equal(ic1, ic2))
Пример #14
0
 def test_get_bms(self):
     b, m, s = self.perf.get_bms()
     b, m, s = b.alpha, m.alpha, s.alpha
     self.assertTrue(series_equal(self.perf.alpha.count(axis=1),
         b.count(axis=1)+m.count(axis=1)+s.count(axis=1)))
Пример #15
0
 def test_trading_days_filter(self):
     trd_filter = TradingDaysFilter(50, count_gt(40), delay=0)
     trd1 = trd_filter.filter_daily(window[-1])
     trd2 = close.count() > 40
     self.assertTrue(series_equal(trd1, trd2))
Пример #16
0
 def test_get_bms(self):
     b, m, s = self.perf.get_bms()
     b, m, s = b.alpha, m.alpha, s.alpha
     self.assertTrue(
         series_equal(self.perf.alpha.count(axis=1),
                      b.count(axis=1) + m.count(axis=1) + s.count(axis=1)))
Пример #17
0
 def test_ic(self):
     ic1 = self.alpha1.get_ic()
     ic2 = data.corrwith(self.alpha1.alpha.shift(1), axis=1).iloc[1:]
     self.assertTrue(series_equal(ic1, ic2))
Пример #18
0
 def test_volume2(self):
     vol1 = self.adjfetcher.fetch_window('adj_volume', self.dates)
     vol2 = self.fetcher.fetch_window('volume', self.dates)
     self.assertTrue(series_equal(vol1.iloc[-1], vol2.iloc[-1]))
Пример #19
0
 def test_returns_N_gt1(self):
     df = self.fetcher.fetch_window('returns', self.dates[:2])
     s1 = (df.iloc[0].fillna(0) + 1) * (df.iloc[1] + 1) - 1
     s1.name = self.dates[1]
     s2 = self.fetcher.fetch_daily('returnsN', 2, self.dates[1])
     self.assertTrue(series_equal(s1, s2))
Пример #20
0
 def test_volume3(self):
     self.adjfetcher.mode = AdjQuoteFetcher.FORWARD
     vol1 = self.adjfetcher.fetch_window('adj_volume', self.dates)
     vol2 = self.fetcher.fetch_window('volume', self.dates)
     self.adjfetcher.mode = AdjQuoteFetcher.BACKWARD
     self.assertTrue(series_equal(vol1.iloc[0], vol2.iloc[0]))
Пример #21
0
 def test_intersect1(self):
     u1 = ChainFilter([(SZ, CYB)]).filter_daily(date)
     u2 = CYB.filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #22
0
 def test_price2(self):
     cls1 = self.adjfetcher.fetch_window('adj_close', self.dates)
     cls2 = self.fetcher.fetch_window('close', self.dates)
     self.assertTrue(series_equal(cls1.iloc[-1], cls2.iloc[-1]))
Пример #23
0
 def test_union(self):
     u1 = SZ.filter_daily(date)
     u2 = UnionFilter([CYB, nCYB]).filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #24
0
 def test_price3(self):
     self.adjfetcher.mode = AdjQuoteFetcher.FORWARD
     cls1 = self.adjfetcher.fetch_window('adj_close', self.dates)
     cls2 = self.fetcher.fetch_window('close', self.dates)
     self.adjfetcher.mode = AdjQuoteFetcher.BACKWARD
     self.assertTrue(series_equal(cls1.iloc[0], cls2.iloc[0]))
Пример #25
0
 def test_sequence(self):
     u1 = ChainFilter([SZ, CYB]).filter_daily(date)
     u2 = CYB.filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #26
0
 def test_volume2(self):
     vol1 = self.adjfetcher.fetch_window('adj_volume', self.dates)
     vol2 = self.fetcher.fetch_window('volume', self.dates)
     self.assertTrue(series_equal(vol1.iloc[-1], vol2.iloc[-1]))
Пример #27
0
 def test_negate(self):
     u0 = SZ.filter_daily(date)
     u1 = NegateFilter(CYB).filter_daily(date)
     u1 &= u0
     u2 = nCYB.filter_daily(date)
     self.assertTrue(series_equal(u1, u2))
Пример #28
0
 def test_volume3(self):
     self.adjfetcher.mode = AdjQuoteFetcher.FORWARD
     vol1 = self.adjfetcher.fetch_window('adj_volume', self.dates)
     vol2 = self.fetcher.fetch_window('volume', self.dates)
     self.adjfetcher.mode = AdjQuoteFetcher.BACKWARD
     self.assertTrue(series_equal(vol1.iloc[0], vol2.iloc[0]))
Пример #29
0
 def test_trading_days_filter(self):
     trd_filter = TradingDaysFilter(50, count_gt(40), delay=0)
     trd1 = trd_filter.filter_daily(window[-1])
     trd2 = close.count() > 40
     self.assertTrue(series_equal(trd1, trd2))
Пример #30
0
 def test_returns_N_eq1_4(self):
     s1 = self.fetcher.fetch_daily('returns', self.dates[-1], offset=49)
     s2 = self.fetcher.fetch_daily('returnsN', 1, self.dates[-1], offset=49)
     self.assertTrue(series_equal(s1, s2))