예제 #1
0
def fb_init(rs0='/tfbDat/', fgid=''):
    #1
    xtfb = tfsys.zTopFoolball()
    xtfb.tim_now = arrow.now()
    xtfb.timStr_now = xtfb.tim_now.format('YYYY-MM-DD')
    xtfb.tim0, xtfb.tim0Str = xtfb.tim_now, xtfb.timStr_now
    print('now:', zt.tim_now_str())

    #2
    #xtfb.pools=[]
    xtfb.kcid = '1'  #官方,3=Bet365
    xtfb.funPre = tfsty.sta00_pre
    xtfb.funSta = tfsty.sta00_sta
    #
    xss = xtfb.timStr_now
    xtfb.poolTrdFN, xtfb.poolRetFN = 'log\poolTrd_' + xss + '.csv', 'log\poolRet_' + xss + '.csv'
    #3
    if rs0 != '':
        tfsys.rdat = rs0
        tfsys.rxdat = rs0 + 'xdat/'
        tfsys.rhtmOuzhi = rs0 + 'xhtm/htm_oz/'
        tfsys.rhtmYazhi = rs0 + 'xhtm/htm_az/'
        tfsys.rhtmShuju = rs0 + 'xhtm/htm_sj/'

    #4
    if fgid != '':
        tfsys.gidsFN = fgid
        #xtfb.gids=pd.read_csv(fgid,index_col=0,dtype=str,encoding='gbk')
        tfsys.gids = pd.read_csv(fgid,
                                 index_col=False,
                                 dtype=str,
                                 encoding='gb18030')
        fb_df_type_xed(tfsys.gids)
        tfsys.gidsNum = len(tfsys.gids.index)
        #-----tim.xxx
        xtfb.gid_tim0str, xtfb.gid_tim9str = tfsys.gids['tplay'].min(
        ), tfsys.gids['tplay'].max()
        tim0, tim9 = arrow.get(xtfb.gid_tim0str), arrow.get(xtfb.gid_tim9str)
        xtfb.gid_nday, xtfb.gid_nday_tim9 = zt.timNDay('', tim0), zt.timNDay(
            '', tim9)
        print('gid tim0: {0}, nday: {1}'.format(xtfb.gid_tim0str,
                                                xtfb.gid_nday))
        print('gid tim9: {0}, nday: {1}'.format(xtfb.gid_tim9str,
                                                xtfb.gid_nday_tim9))

    #
    return xtfb
예제 #2
0
def bt_init_tim(qx, tim0Str, tim9Str=''):
    qx.wrkTimFmt = zt.iff2(qx.priceDateFlag, 'YYYY-MM-DD',
                           'YYYY-MM-DD HH:mm:ss')
    if tim9Str == '': tim9Str = arrow.now().format(qx.wrkTimFmt)
    qx.btTim9 = arrow.get(tim9Str)
    if tim0Str == '':
        qx.btTim0 = qx.btTim9.shift(days=-29)
        tim0Str = qx.btTim0.format(qx.wrkTimFmt)
    else:
        qx.btTim0 = arrow.get(tim0Str)
    #
    qx.btTim0Str, qx.btTim9Str = tim0Str, tim9Str
    qx.btTimNum = zt.timNDay(qx.btTim9, qx.btTim0) + 1
    #print('\nqx.btTimNum-bt.init',qx.btTimNum)
    #
    #  btTimLst
    qx.btTimLst = []
    for xcod in qx.inxCodeLst:
        df = qx.inxPools[xcod]
        mlst = list(df.index)
        qx.btTimLst = list(set(qx.btTimLst + mlst))
    #
    for xcod in qx.stkCodeLst:
        df = qx.stkPools[xcod]
        mlst = list(df.index)
        qx.btTimLst = list(set(qx.btTimLst + mlst))
    #

    qx.btTimLst = list(
        map(lambda x: zt.iff2(x >= qx.btTim0Str, x, ''), qx.btTimLst))
    qx.btTimLst = list(
        map(lambda x: zt.iff2(x <= qx.btTim9Str, x, ''), qx.btTimLst))
    qx.btTimLst = list(set(qx.btTimLst))
    qx.btTimLst.remove('')
    qx.btTimLst.sort(reverse=True)
    qx.btTimNum = len(qx.btTimLst)
    #
    xtim0, xtim9 = qx.btTimLst[0], qx.btTimLst[-1]
    qx.btTim0Str, qx.btTim9Str = min(xtim0, xtim9), max(xtim0, xtim9)

    #
    return qx