Esempio n. 1
0
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'数据清洗工作完成')
Esempio n. 2
0
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'数据清洗工作完成')
Esempio n. 3
0
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'数据清洗工作完成')
Esempio n. 4
0
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'数据清洗工作完成')
Esempio n. 5
0
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'数据清洗工作完成')
Esempio n. 6
0
    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
Esempio n. 7
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"])