def runDataChecking(): """运行数据清洗""" print(u'开始数据清洗工作') # 加载配置 setting = {} with open("DR_setting.json") as f: setting = json.load(f) volSize = get_VolSize() symbolMap = getSymbolMapping() print(symbolMap) # 遍历执行清洗 today = datetime.now() start = today - timedelta(10) # 清洗过去10天数据 end = start + timedelta(9) start = start.replace(hour=0, minute=0, second=0, microsecond=0) end = today.replace(hour=16, minute=0, second=0, microsecond=0) #start = datetime.strptime('2019-03-13 00:00:00', '%Y-%m-%d %H:%M:%S') #end = datetime.strptime('2019-07-01 16:00:00', '%Y-%m-%d %H:%M:%S') for l in setting['bar']: symbol = l[0] #fillMissingData(MINUTE_DB_NAME, symbol, start,volSize,symbolMap) findRepeatData(MINUTE_DB_NAME, symbol, start, end, volSize, symbolMap) print(u'数据清洗工作完成')
def runDataRefilling(): """运行数据清洗""" print(u'开始数据清洗工作') # 加载配置 setting = {} with open("DR_setting.json") as f: setting = json.load(f) volSize = get_VolSize() symbolMap = getSymbolMapping() #print(symbolMap) # 遍历执行清洗 today = datetime.now() start = today - timedelta(10) # 清洗过去10天数据 end = start + timedelta(9) start.replace(hour=0, minute=0, second=0, microsecond=0) start = datetime.strptime('2019-03-09 00:00:00', '%Y-%m-%d %H:%M:%S') end = datetime.strptime('2019-03-22 16:00:00', '%Y-%m-%d %H:%M:%S') for l in setting['bar']: symbol = l[0] print(symbol) #if symbol != 'MA909': # continue print('start') #fillMissingData(MINUTE_DB_NAME, symbol, start,volSize,symbolMap) fillMissingDailyData(MINUTE_DB_NAME, symbol, start, end, volSize, symbolMap) print(u'数据清洗工作完成')
def runDataCleaning(): """运行数据清洗""" print(u'开始数据清洗工作') # 加载配置 setting = {} with open("DR_setting.json") as f: setting = json.load(f) volSize = get_VolSize() # 遍历执行清洗 today = datetime.now() start = today - timedelta(10) # 清洗过去10天数据 start.replace(hour=0, minute=0, second=0, microsecond=0) for l in setting['tick']: symbol = l[0] cleanData(TICK_DB_NAME, symbol, start) for l in setting['bar']: symbol = l[0] cleanData(MINUTE_DB_NAME, symbol, start) fillCloseData(MINUTE_DB_NAME, symbol, start, volSize) print(u'数据清洗工作完成')
def runDataRefilling(): """运行数据清洗""" print(u'开始数据清洗工作') # 加载配置 setting = {} with open("DR_setting.json") as f: setting = json.load(f) volSize = get_VolSize() symbolMap = getSymbolMapping() print(symbolMap) # 遍历执行清洗 tofill = ["TS"] tofilllen = 100 today = datetime.now() start = today - timedelta(tofilllen) # 清洗过去10天数据 end = start + timedelta(9) start.replace(hour=0, minute=0, second=0, microsecond=0) #start = datetime.strptime('2019-04-24 00:00:00', '%Y-%m-%d %H:%M:%S') #end = datetime.strptime('2019-04-25 16:00:00', '%Y-%m-%d %H:%M:%S') for l in setting['bar']: symbol = l[0] tempstr = symbol tempstr = tempstr.rstrip(string.digits) print(tempstr) if tempstr in tofill: #fillMissingData(MINUTE_DB_NAME, symbol, start,volSize,symbolMap) fillMissingDailyData(MINUTE_DB_NAME, symbol, start,end,volSize,symbolMap) sleep(5) print(u'数据清洗工作完成')
def runDataRefilling(): """运行数据清洗""" print(u'开始数据清洗工作') # 加载配置 setting = {} with open("DR_setting.json") as f: setting = json.load(f) volSize = get_VolSize() symbolMap = getSymbolMapping() print(symbolMap) # 遍历执行清洗 today = datetime.now() start = today - timedelta(10) # 清洗过去10天数据 start.replace(hour=0, minute=0, second=0, microsecond=0) end = start + timedelta(5) for l in setting['bar']: symbol = l[0] fillMissingData(MINUTE_DB_NAME, symbol, start, volSize, symbolMap) #fillMissingDailyData(MINUTE_DB_NAME, symbol, start,end,volSize,symbolMap) print(u'数据清洗工作完成')
def __init__(self, ctaEngine, setting): """Constructor""" self.ctaEngine = ctaEngine # 设置策略的参数 if setting: d = self.__dict__ for key in self.paramList: if key in setting: d[key] = setting[key] if len(CtaTemplate.cust_Setting) > 0: pass else: CtaTemplate.cust_Setting = get_CustSetting() if len(CtaTemplate.vol_Size) > 0: pass else: CtaTemplate.vol_Size = get_VolSize() self.base_interval = 6 self.base_countdown = 0
# encoding: UTF-8 from __future__ import print_function import sqlite3 import pandas as pd from vnpy.trader.vtFunction import getJsonPath from vnpy.trader.vtUtility import get_VolSize result = pd.read_csv("./pal_templt.csv") tr = result volSize = get_VolSize() #print(volSize) def match_transaction(data, result): #print("hello") data[ "closestatus"] = 0 # 0 not process yet;1 match closed;2 partial match, partial close data["qty"] = data["orderqty"] data.loc[data.orderoffset == u'平昨', 'orderoffset'] = u'平仓' #print(data[['contract','orderoffset']]) #data["qty"]=data.apply(lambda r:judgeLevel(r),axis=1) #data[data["orderdirection"]=="空"]["qty"] = data[data["orderdirection"]=="空"]["qty"]*(-1) #data.to_csv("./test.csv") opens = data[data["orderoffset"] == u"开仓"] opens = opens.reset_index(drop=True) closes = data[data["orderoffset"] == u"平仓"] closes = closes.reset_index(drop=True) closes.sort_values(by=['contract', 'ordertime'], axis=0, ascending=True) #print("123",opens) partial = [] for index, row in opens.iterrows(): #print(index, row["qty"])