def vpup(): '提取持仓与价格变动超过一定幅度的期货合作信息' codes = pw.getCodes() dic = {} for code in codes: data = w.wsd(code, "close,pct_chg,oi,oi_chg", "ED-1TD").Data if isinstance((data[1][-1]), float): price = data[0][-1] price_chg = data[1][-1] oi = data[2][-1] oi_chg = data[3][-1] else: price = data[0][-2] price_chg = data[1][-2] oi = data[2][-2] oi_chg = data[3][-2] if oi != 0: oichg = oi_chg / oi else: oichg = 0 if abs(oichg) > 0.05 and abs(price_chg) > 1.5: dic[code] = ' '.join(['Oichg:%.2f%%' % (100 * oichg), 'Oi:%.0f' % oi, 'Pricechg:%.2f%%' % price_chg, 'Price:%.0f' % price]) else: pass return dic
'FU.SHF': '50', 'BU.SHF': '10', 'RU.SHF': '10', 'ZC.CZC': '100', 'AU.SHF': '1000', 'V.DCE': '5', 'NI.SHF': '1', 'CF.CZC': '5', 'C.DCE': '10', 'M.DCE': '10', 'WH.CZC': '20'} CODES = list(TRADEUNIT.keys()) codes = pw.getCodes() # print(codes) def totalAmount(codes, baseDate='20160706', backwardDays=0): tradeTotal = 0 baseDate = baseDate backDays = backwardDays backwardDays = 'ED-' + str(backwardDays) + "TD" for code in codes: data = w.wsd(code, "open,high,low,close,volume,oi,pct_chg", backwardDays, baseDate) dt = data.Data for i in range(backDays + 1): date = data.Times[i] o = dt[0][i]