Example #1
0
def getCode(fileName=None, excludeFileName='zxgExclude.txt'):
    """返回代码 及代码对应的数据

    Args:
        fileName:
        excludeFileName:

    Returns:

    """
    if fileName is None:
        fileName = '/tmp/code.pickle'
    try:
        code = decompress_pickle(fileName)
    except Exception as e:
        code = list(qa.QA_fetch_index_list_adv()['code'][:])
        codeexclude = read_zxg(excludeFileName)
        # 排除某些股票
        code = setdiff_sorted(code, codeexclude)
        compressed_pickle(fileName, code)

    days = 365 * 1.2
    # days = 365 * 10
    start = datetime.datetime.now() - datetime.timedelta(days)
    end = datetime.datetime.now() - datetime.timedelta(0)
    fileName = '/tmp/data{}.pickle'.format(days)
    data2 = getIndexCalret(fileName, code, start, end)
    return code, data2
Example #2
0
 def getIndexCalret(self, readFromfile, code, startDate, endDate):
     try:
         # 获取指数数据
         dataCalret = decompress_pickle(readFromfile)
     except Exception as e:
         data = qa.QA_fetch_index_day_adv(code, startDate, endDate)
         df = data.add_func(cal_ret)
         compressed_pickle(readFromfile, data.data)
         dataCalret = decompress_pickle(readFromfile)
         data2 = dataCalret
     return dataCalret
Example #3
0
    def setUp(self) -> None:
        fileName = '/tmp/code.pickle'
        try:
            self.code = decompress_pickle(fileName)
        except Exception as e:
            self.code = list(qa.QA_fetch_index_list_adv()['code'][:])
            compressed_pickle(fileName, self.code)

        days = 365 * 1.2
        # days = 365 * 10
        self.start = datetime.datetime.now() - datetime.timedelta(days)
        self.end = datetime.datetime.now() - datetime.timedelta(0)
        fileName = '/tmp/data{}.pickle'.format(days)
        self.data2 = self.getIndexCalret(fileName, self.code, self.start, self.end)
Example #4
0
    def test_cal_ret(self):
        # code = '000300'
        fileName = '/tmp/code.pickle'
        try:
            code = decompress_pickle(fileName)
        except Exception as e:
            code = list(
                qa.QAFetch.QATdx.QA_fetch_get_stock_list('index')['code'][:])
            compressed_pickle(fileName, code)
        days = 600
        rpsday = [20, 50]
        start = datetime.datetime.now() - datetime.timedelta(days)
        end = datetime.datetime.now() - datetime.timedelta(10)

        # 获取指数数据
        data = qa.QA_fetch_index_day_adv(code, start, end)
        fileName = '/tmp/data.pickle'
        full_pickle(fileName, data.data)
        data2 = loosen_pickle(fileName)
        self.assertTrue(data.data.equals(data2))
        qadata = qa.QAData(data2)
Example #5
0
def getIndexCalret(fileName, code, startDate, endDate):
    """从本地缓存获取指数。若本地没有,则从数据库读取,并且在本地保存一份

    Args:
        fileName:文件名
        code:代码
        startDate:起始日期
        endDate:截止日期

    Returns:

    """
    try:
        # 获取指数数据
        dataCalret = decompress_pickle(fileName)
    except Exception as e:
        data = qa.QA_fetch_index_day_adv(code, startDate, endDate)
        df = data.add_func(cal_ret)
        compressed_pickle(fileName, data.data)
        dataCalret = decompress_pickle(fileName)
        data2 = dataCalret
    return dataCalret