mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-14 00:06:58 +08:00
Fix data collector
This commit is contained in:
@@ -16,15 +16,25 @@ class TestDataset(unittest.TestCase):
|
||||
close_p = D.features(D.instruments('csi300'), ['$close'])
|
||||
size = close_p.groupby('datetime').size()
|
||||
cnt = close_p.groupby('datetime').count()
|
||||
size_desc = size.describe(percentiles=np.arange(0.1, 0.9, 0.1))
|
||||
cnt_desc = cnt.describe(percentiles=np.arange(0.1, 0.9, 0.1))
|
||||
|
||||
print(size.describe(percentiles=np.arange(0.1, 0.9, 0.1)))
|
||||
print(cnt.describe(percentiles=np.arange(0.1, 0.9, 0.1)))
|
||||
# TODO: assert
|
||||
print(size_desc)
|
||||
print(cnt_desc)
|
||||
|
||||
self.assertLessEqual(size_desc.loc["max"][0], 305, "Excessive number of CSI300 constituent stocks")
|
||||
self.assertLessEqual(size_desc.loc["80%"][0], 290, "Insufficient number of CSI300 constituent stocks")
|
||||
|
||||
self.assertLessEqual(cnt_desc.loc["max"][0], 305, "Excessive number of CSI300 constituent stocks")
|
||||
self.assertEqual(cnt_desc.loc["80%"][0], 300, "Insufficient number of CSI300 constituent stocks")
|
||||
|
||||
def testClose(self):
|
||||
close_p = D.features(D.instruments('csi300'), ['Ref($close, 1)/$close - 1'])
|
||||
print(close_p.describe(percentiles=np.arange(0.1, 0.9, 0.1)))
|
||||
# TODO: assert
|
||||
close_desc = close_p.describe(percentiles=np.arange(0.1, 0.9, 0.1))
|
||||
print(close_desc)
|
||||
self.assertLessEqual(abs(close_desc.loc["80%"][0]), 0.1, "Close value is abnormal")
|
||||
self.assertLessEqual(abs(close_desc.loc["max"][0]), 0.2, "Close value is abnormal")
|
||||
self.assertGreaterEqual(abs(close_desc.loc["min"][0]), -0.2, "Close value is abnormal")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user