def dbcontract_to_ibcontract(dbcontract): symbol = str(dbcontract.sym) localSym = str(dbcontract.local_sym) if str(dbcontract.secType) == 'CASH': symbol = str(dbcontract.sym) + str(dbcontract.cur) if str(dbcontract.secType) == 'FUT': year = str(dbcontract.contractMonth)[0:4] mon = str(dbcontract.contractMonth)[4:6] addSym = '' print symbol, year, int(mon) if int(mon) == 1: addSym = 'F' print addSym if int(mon) == 2: addSym = 'G' if int(mon) == 3: addSym = 'H' if int(mon) == 4: addSym = 'J' if int(mon) == 5: addSym = 'K' if int(mon) == 6: addSym = 'M' if int(mon) == 7: addSym = 'N' if int(mon) == 8: addSym = 'Q' if int(mon) == 9: addSym = 'U' if int(mon) == 10: addSym = 'V' if int(mon) == 11: addSym = 'X' if int(mon) == 12: addSym = 'Z' addSym += year[3:4] print addSym localSym += addSym print 'Found', localSym contract = Contract() contract.symbol = str(symbol) contract.secType = str(dbcontract.secType) contract.exchange = str(dbcontract.exch) contract.primaryExchange = str(dbcontract.exch) contract.currency = str(dbcontract.cur) contract.expiry = str(dbcontract.expiry) #contract.strike= # Strike Price contract.localSymbol = localSym return contract
def get_cash_contracts(): symList = dict() systemdata = pd.read_csv('./data/systems/system.csv') print systemdata.columns systemdata = systemdata.reset_index() for i in systemdata.index: #print 'Read: ',i system = systemdata.ix[i] #print system contract = Contract() symbol = system['ibsym'] if system['ibtype'] == 'CASH': symbol = system['ibsym'] + system['ibcur'] if system['ibtype'] != 'BITCOIN': contract.symbol = system['ibsym'] contract.secType = system['ibtype'] contract.exchange = system['ibexch'] contract.currency = system['ibcur'] if system['ibtype'] == 'FUT': contract.localSymbol = system['iblocalsym'] symList[symbol] = contract return symList.values()