Commit 8839d11c authored by Dr.李's avatar Dr.李

fixed bug for returning wrong variable

parent d0c98b33
...@@ -376,7 +376,7 @@ class SqlEngine(object): ...@@ -376,7 +376,7 @@ class SqlEngine(object):
res['isOpen'] = df.isOpen.astype(bool) res['isOpen'] = df.isOpen.astype(bool)
res = res.loc[ref_date] res = res.loc[ref_date]
res.index = list(range(len(res))) res.index = list(range(len(res)))
return df.drop_duplicates(['trade_date', 'code']) return res.drop_duplicates(['trade_date', 'code'])
def fetch_factor_range(self, def fetch_factor_range(self,
universe: Universe, universe: Universe,
......
...@@ -56,7 +56,9 @@ class TestSqlEngine(unittest.TestCase): ...@@ -56,7 +56,9 @@ class TestSqlEngine(unittest.TestCase):
self.assertListEqual(codes, list(df.code.values)) self.assertListEqual(codes, list(df.code.values))
def test_sql_engine_fetch_codes_range(self): def test_sql_engine_fetch_codes_range(self):
ref_dates = makeSchedule('2017-01-01', '2017-06-30', '60b', 'china.sse') ref_dates = makeSchedule(advanceDateByCalendar('china.sse', self.ref_date, '-6m'),
self.ref_date,
'60b', 'china.sse')
universe = Universe('custom', ['zz500', 'zz1000']) universe = Universe('custom', ['zz500', 'zz1000'])
codes = self.engine.fetch_codes_range(universe, dates=ref_dates) codes = self.engine.fetch_codes_range(universe, dates=ref_dates)
...@@ -374,7 +376,7 @@ class TestSqlEngine(unittest.TestCase): ...@@ -374,7 +376,7 @@ class TestSqlEngine(unittest.TestCase):
cols = sorted(ind_matrix.columns[2:].tolist()) cols = sorted(ind_matrix.columns[2:].tolist())
series = (ind_matrix[cols] * np.array(range(1, len(cols)+1))).sum(axis=1) series = (ind_matrix[cols] * np.array(range(1, len(cols)+1))).sum(axis=1)
df3['cat'] = series df3['cat'] = series.values
expected_rank = df3[['ROE', 'cat']].groupby('cat').transform(lambda x: rankdata(x.values) - 1.) expected_rank = df3[['ROE', 'cat']].groupby('cat').transform(lambda x: rankdata(x.values) - 1.)
expected_rank[np.isnan(df3.ROE)] = np.nan expected_rank[np.isnan(df3.ROE)] = np.nan
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment