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)
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))
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)
#%% 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)