1
0
mirror of https://github.com/microsoft/qlib.git synced 2026-07-01 18:11:18 +08:00

[840] - Test case for operators. (#841)

* [840] - Test case for operators.

* Move import to the head of file and add test_setting.
This commit is contained in:
Chia-hung Tai
2022-01-11 18:44:15 +08:00
committed by GitHub
parent 19689024d4
commit edd8badeaf
2 changed files with 57 additions and 0 deletions

View File

@@ -2,6 +2,9 @@ import unittest
from .data import GetData
from .. import init
from ..constant import REG_CN
from qlib.data.filter import NameDFilter
from qlib.data import D
from qlib.data.data import Cal, DatasetD
class TestAutoData(unittest.TestCase):
@@ -51,3 +54,24 @@ class TestAutoData(unittest.TestCase):
dataset_cache=None,
**cls._setup_kwargs,
)
class TestOperatorData(TestAutoData):
@classmethod
def setUpClass(cls, enable_1d_type="simple", enable_1min=False) -> None:
# use default data
super().setUpClass(enable_1d_type, enable_1min)
nameDFilter = NameDFilter(name_rule_re="SH600110")
instruments = D.instruments("csi300", filter_pipe=[nameDFilter])
start_time = "2005-01-04"
end_time = "2005-12-31"
freq = "day"
instruments_d = DatasetD.get_instruments_d(instruments, freq)
cls.instruments_d = instruments_d
cal = Cal.calendar(start_time, end_time, freq)
cls.cal = cal
cls.start_time = cal[0]
cls.end_time = cal[-1]
cls.inst = list(instruments_d.keys())[0]
cls.spans = list(instruments_d.values())[0]

View File

@@ -0,0 +1,33 @@
import unittest
from qlib.data import DatasetProvider
from qlib.tests import TestOperatorData
from qlib.config import C
class TestOperatorDataSetting(TestOperatorData):
def test_setting(self):
self.assertEqual(len(self.instruments_d), 1)
self.assertGreater(len(self.cal), 0)
class TestElementOperator(TestOperatorData):
def setUp(self) -> None:
freq = "day"
expressions = [
"$change",
"Abs($change)",
]
columns = ["change", "abs"]
self.data = DatasetProvider.expression_calculator(
self.inst, self.start_time, self.end_time, freq, expressions, self.spans, C, []
)
self.data.columns = columns
def test_abs(self):
abs_values = self.data["abs"]
self.assertGreater(abs_values[2], 0)
if __name__ == "__main__":
unittest.main()