Exemple #1
0
 def test_getAdv(self):
     code = '000001'
     days = 365 * 1.2
     start = datetime.datetime.now() - datetime.timedelta(days)
     end = datetime.datetime.now() - datetime.timedelta(0)
     df = qm.getAdv(code, start, end)
     self.assertIsInstance(
         df, QA_DataStruct_Index_day,
         "应返回类型:QA_DataStruct_Stock_day,实际返回数据类型:{}".format(type(df)))
     self.assertTrue(len(df) > days // 10, "返回数据数量应该大于0。")
     print(df.data.tail())
Exemple #2
0
 def test_getMin_datetimestr(self):
     code = '000001'
     days = 30 * 1.2
     start = str(datetime.datetime.now() - datetime.timedelta(days))[:10]
     end = str(datetime.datetime.now() - datetime.timedelta(0))[:10]
     df = qm.get(code, start, end, frequence='1min')
     self.assertTrue(len(df) > 0, "返回数据数量应该大于0。")
     print(df.tail(10))
     start = datetime.datetime.now() - datetime.timedelta(days)
     end = datetime.datetime.now() - datetime.timedelta(0)
     df2 = qm.get(code, start, end, frequence='1min')
     # str化后的时间为开盘时间,
     self.assertTrue(len(df) >= len(df2))
     data1, data2 = df, df2
     if len(data1) > len(data2):
         data1 = data1[-len(data2):]
         print("array1f的长度比array2长")
     elif len(data1) < len(data2):
         data2 = data2[-len(data1):]
         print("array2的长度比array1长")
     self.assertTrue(data1.equals(data2), "截取相同长度后的数据应该相同")
Exemple #3
0
    def test_data_struct_index(self):
        """指数(或etf)DataStruture
        """
        code = '000001'
        days = 365 * 1.2
        start = datetime.datetime.now() - datetime.timedelta(days)
        end = datetime.datetime.now() - datetime.timedelta(0)
        df = qmi.get(code, start, end)
        if df is not None:
            df = df.set_index(['date', 'code'], drop=True)
        ds = qd(type='index').dataStruct(df)
        ds2 = QA_DataStruct_Index_day(df)

        self.assertIsInstance(ds, QA_DataStruct_Index_day)
        self.assertIsInstance(ds2, QA_DataStruct_Index_day)
Exemple #4
0
 def test_getAdv_diffQA(self):
     """和QA返回的数据对比一致性
     """
     code = '000001'
     days = 365 * 1.2
     start = datetime.datetime.now() - datetime.timedelta(days)
     end = datetime.datetime.now() - datetime.timedelta(0)
     df = qm.getAdv(code, start, end)
     self.assertTrue(len(df) > 0, "返回数据数量应该大于0。")
     df2 = QA_fetch_index_day_adv(code, start, end)
     self.assertTrue(
         len(df.data) == len(df2.data),
         "和QA返回的数据,长度不一致{} {}".format(len(df.data), len(df2.data)))
     # 两种方式检测numpy数据一致性
     obo = self.differOneByOne(df.data, df2.data)
     self.assertTrue(df.data.equals(df2.data), "和QA返回的数据不一致{}".format(obo))
Exemple #5
0
 def test_getMin_diffQA(self):
     code = '000001'
     days = 20 * 1.2
     start = str(datetime.datetime.now() - datetime.timedelta(days))
     end = str(datetime.datetime.now() - datetime.timedelta(0))
     df = qm.get(code, start, end, frequence='1min')
     df2 = QA_fetch_index_min(code,
                              start,
                              end=end,
                              format='pd',
                              frequence='1min')
     # todo df的长度比df2长。未找出原因
     data1, data2 = df, df2
     self.assertTrue(
         len(data1) == len(data2),
         "和QA返回的分钟线数据长度不一致:{}:{}".format(len(data1), len(data2)))
     if len(data1) > len(data2):
         print("array1f的长度比array2长")
         data1 = data1[-len(data2):]
     elif len(data1) < len(data2):
         print("array2的长度比array1长")
         data2 = data2[-len(data1):]
     obo = self.differOneByOne(data1, data2)
     self.assertTrue(data1.equals(data2), "和QA返回的分钟线数据不一致:{}".format(obo))