Beispiel #1
0
    def __saving_work(code, coll):
        QA_util_log_info('##JOB03 Now Saving STOCK_MIN ==== %s' % (str(code)))
        try:
            for type in ['1min', '5min', '15min', '30min', '60min']:
                ref_ = coll.find({'code': str(code)[0:6], 'type': type})
                end_time = str(now_time())[0:19]
                if ref_.count() > 0:
                    start_time = ref_[ref_.count() - 1]['datetime']

                    QA_util_log_info(
                        '##JOB03.%s Now Saving %s from %s to %s ==%s ' % ([
                            '1min', '5min', '15min', '30min', '60min'
                        ].index(type), str(code), start_time, end_time, type))
                    if start_time != end_time:
                        __data = QA_fetch_get_stock_min(
                            str(code), start_time, end_time, type)
                        if len(__data) > 1:
                            coll.insert_many(
                                QA_util_to_json_from_pandas(__data)[1::])
                else:
                    start_time = '2015-01-01'
                    QA_util_log_info(
                        '##JOB03.%s Now Saving %s from %s to %s ==%s ' % ([
                            '1min', '5min', '15min', '30min', '60min'
                        ].index(type), str(code), start_time, end_time, type))
                    if start_time != end_time:
                        __data = QA_fetch_get_stock_min(
                            str(code), start_time, end_time, type)
                        if len(__data) > 1:
                            coll.insert_many(
                                QA_util_to_json_from_pandas(__data))
        except Exception as e:
            QA_util_log_info(e)

            err.append(code)
Beispiel #2
0
 def test_get_min_diffQA(self):
     code = '000002'
     days = 30 * 1.2
     start = datetime.datetime.now() - datetime.timedelta(days)
     end = datetime.datetime.now() - datetime.timedelta(0)
     df = TDX.get(code, start, end, frequence='1min')
     df2 = QA_fetch_get_stock_min(code, start, end, frequence='1min')
     # todo df的长度比df2长。未找出原因
     if len(df) > len(df2):
         print("新的长度比QA方法长:{}, {}".format(len(df), len(df2)))
         df = df[-len(df2):]
     elif len(df) < len(df2):
         print("df2的长度比df长:{}, {}".format(len(df), len(df2)))
         df2 = df2[-len(df):]
     self.assertTrue(
         len(df) == len(df2),
         "和QA返回的分钟线数据长度不一致:{}:{}".format(len(df), len(df2)))
     obo = self.differOneByOne(df, df2)
     # todo  连续获取分钟数据时,不定时返回结果不想等。报错
     self.assertTrue(df.equals(df2), "和QA返回的分钟线数据不一致:{}".format(obo))
Beispiel #3
0
    def __saving_work(code, __coll):

        QA_util_log_info('##JOB05 Now Saving STOCK_MIN ==== %s' % (str(code)))
        try:

            for type in ['1min', '5min', '15min']:
                ref_ = __coll.find({'code': str(code)[0:6], 'type': type})
                end_time = str(datetime.datetime.now())[0:19]
                if ref_.count() > 0:
                    start_time = ref_[ref_.count() - 1]['datetime']
                else:
                    start_time = '2015-01-01'
                QA_util_log_info(
                    '##JOB05.%s Now Saving %s from %s to %s ==%s ' %
                    (['1min', '5min', '15min'
                      ].index(type), str(code), start_time, end_time, type))
                if start_time != end_time:
                    __coll.insert_many(
                        QA_util_to_json_from_pandas(
                            QA_fetch_get_stock_min(str(code), start_time,
                                                   end_time, type)[1::]))

        except:
            __err.append(code)
Beispiel #4
0
#%%
data = QA.QAFetch.QATdx.QA_fetch_get_stock_min('000007','2019-06-01 10:30:00','2019-06-10 10:30:00','1min')
data = pd.read_csv('D:\\Quant\\programe\\strategy_pool_adv\\strategy07\\backtest\\backtest03\\check_result\\min_data.csv')
#%%
QA.QA_fetch_stock_day('000001','2018-01-01','2019-01-01')
data  =QA.QA_fetch_stock_transaction('000048','2019-01-02 09:40:00','2019-05-15 09:55:00','pd')
data = QA.QA_fetch_stock_min('000001','2018-01-01','2019-01-01','pd')

data['2019-06-26 09:25:00':'2019-06-26 09:30:00']['volume'].sum()
#%%
start = '2017-06-15'
end = '2017-06-27'
freq = '30min'
from QUANTAXIS.QAFetch.QATdx import QA_fetch_get_stock_min,QA_fetch_get_stock_transaction
data =  QA_fetch_get_stock_min('000002',start,end,freq,True,True)
data1 =  QA_fetch_get_stock_min('000002',start,end,freq)

#data2 = QA_fetch_get_stock_transaction('000002','2018-12-26','2019-02-15 13:02:00','1min')
from QUANTAXIS.QAData.data_resample import QA_data_min_resample_stock,QA_data_stocktick_resample_1min,QA_data_min_resample


data1 = QA_data_stocktick_resample_1min(QA_fetch_get_stock_transaction('000002',start,end))
data3 = QA_data_min_resample_stock(data1,freq)
data3 = QA_data_min_resample(data1,freq)


data1[['datetime','code']]
#%%
data = QA.QAFetch.QATdx.QA_fetch_get_stock_transaction('000001','2015-06-05','2015-06-06')
data.index = pd.to_datetime(data.index)