def main(): args = parseCommandLine() experimentFolder = args.e dataFolder = args.d generatorsFolder = args.g attribute.initializeInstDetails(args.iT,args.sP,args.oT) args.sequence = "lp" # insideFeatureCommandList = getCommandListForInsideFeatures( experimentFolder,dataFolder,generatorsFolder,args.tickSize ) # utility.runCommandList(insideFeatureCommandList,args) # # intermediateFeatureCommandList = getCommandListForIntermediateFeatures(experimentFolder,dataFolder,generatorsFolder,args.tickSize) # utility.runCommandList(intermediateFeatureCommandList,args) # commandList = getCommandList(experimentFolder,dataFolder,generatorsFolder,args.tickSize) return utility.runCommandList(commandList,args)
def main(): args = parseCommandLine() experimentFolder = args.e dataFolder = args.d generatorsFolder = args.g attribute.initializeInstDetails(args.iT, args.sP, args.oT) args.sequence = "lp" # insideFeatureCommandList = getCommandListForInsideFeatures( experimentFolder,dataFolder,generatorsFolder,args.tickSize ) # utility.runCommandList(insideFeatureCommandList,args) # # intermediateFeatureCommandList = getCommandListForIntermediateFeatures(experimentFolder,dataFolder,generatorsFolder,args.tickSize) # utility.runCommandList(intermediateFeatureCommandList,args) # commandList = getCommandList(experimentFolder, dataFolder, generatorsFolder, args.tickSize) return utility.runCommandList(commandList, args)
lListOfTrainingDirectories = attribute.getListOfTrainingDirectoriesNames(args.dt,args.td,args.iT) lListOfTrainPredictDirectories = lListOfTrainingDirectories if args.pd is None: predictionDirectory = attribute.getListOfTrainingDirectoriesNames(2,lListOfTrainPredictDirectories[-1],args.iT)[-1] else: predictionDirectory = args.pd lListOfTrainPredictDirectories.append(predictionDirectory) if(args.sequence == "dp"): experimentFolder = args.e dataFolder = args.td generatorsFolder = args.g commandList = [] for directories in lListOfTrainPredictDirectories: commandList.append(["aGenForE.py","-e",experimentFolder,"-d",directories,"-g",args.g,"-run",args.run,"-sequence",args.sequence,'-tickSize',args.tickSize,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP]) utility.runCommandList( commandList ,args) print dp.printGroupStatus() else: if args.sequence == 'lp': # to run it in local parallel mode pool = multiprocessing.Pool() # this will return the number of CPU's results = map(scriptWrapperForFeatureGeneration,lListOfTrainPredictDirectories) else: results = map(scriptWrapperForFeatureGeneration,lListOfTrainPredictDirectories) utility.runCommand(["rGenForE.py","-e",args.e,"-a",algo,"-sequence",args.sequence,"-targetClass",args.targetClass,"-skipM",args.skipM,\ '-dt',args.dt,'-pd',predictionDirectory,"-td",args.td,"-skipP",args.skipP, '-wt' , args.wt,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP],args.run,args.sequence) utility.runCommand(["runAllRScriptsForE.py","-td",args.td,"-pd",predictionDirectory,"-dt",args.dt,"-e",args.e,"-a",algo,"-run",args.run,\ '-wt' , args.wt,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP,"-sequence",args.sequence],args.run,args.sequence) if args.targetClass == "multinomial" :
import rCodeGen, utility import attribute import aGenForE parser = argparse.ArgumentParser(description='This program will get results for all the subexperiments. \n' , formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('-td', required=True,help='Training directory') parser.add_argument('-dt',required=True,help='Number of days after start training day specified . Defaults to 1 ') parser.add_argument('-run', required=True,help='dry (only show dont execute) or real (show and execute)') parser.add_argument('-sequence', required=True,help='lp (Local parallel) / dp (Distributed parallel) / serial') parser.add_argument('-nComputers',required=True,help="Number of computers at which task has to be run present in the data set") parser.add_argument('-iT',required=False,help='Instrument name') parser.add_argument('-sP',required=False,help='Strike price of instrument') parser.add_argument('-oT',required=False,help='Options Type') args = parser.parse_args() attribute.initializeInstDetails(args.iT,args.sP,args.oT) if(args.sequence == "dp"): import dp allDataDirectories = attribute.getListOfTrainingDirectoriesNames( int(args.dt) , args.td ,args.iT) commandList = [] for directories in allDataDirectories: #src/removeDuplicatesFromOrderBook.py -d ob/data/ro/nsefut/20141126/ -iT SBIN -oT 0 -sP -1 commandList.append(["removeDuplicatesFromOrderBook.py", "-d", directories, "-iT", args.iT, "-oT", args.oT, "-sP", args.sP]) for chunkNum in range(0,len(commandList),int(args.nComputers)): lSubGenList = commandList[chunkNum:chunkNum+int(args.nComputers)] utility.runCommandList(lSubGenList,args) print dp.printGroupStatus()
#==========Generating Features for all required days ======================= if (args.sequence == "dp"): experimentFolder = args.e dataFolder = args.td generatorsFolder = args.g commandList = [] for directories in allDataDirectories: # commandList.append(["aGenForE.py","-e",experimentFolder,"-d",directories,"-g",args.g,"-run",args.run,"-sequence",args.sequence,'-tickSize',args.tickSize,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP]) pass for chunkNum in range(0, len(commandList), totalCommandsToBeScheduledAtOneGo): l_sub_aGenForECodeGenList = commandList[ chunkNum:chunkNum + totalCommandsToBeScheduledAtOneGo] utility.runCommandList(l_sub_aGenForECodeGenList, args) print dp.printGroupStatus() else: def scriptWrapperForFeatureGeneration(trainingDirectory): # utility.runCommand(["aGenForE.py","-e",args.e,"-d",trainingDirectory,"-g",args.g,"-run",args.run,"-sequence",args.sequence,'-tickSize',args.tickSize,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP],args.run,args.sequence) pass results = map(scriptWrapperForFeatureGeneration, allDataDirectories) #=======Finding number of feature in design file ==== config = ConfigObj(args.e + "/design.ini") targetAttributes = attribute.getTargetVariableKeys(config) one_feature_attributes = attribute.getFeatureVariableKeys( config,
else: predictionDirectory = args.pd lListOfTrainPredictDirectories.append(predictionDirectory) if (args.sequence == "dp"): experimentFolder = args.e dataFolder = args.td generatorsFolder = args.g commandList = [] for directories in lListOfTrainPredictDirectories: commandList.append([ "aGenForE.py", "-e", experimentFolder, "-d", directories, "-g", args.g, "-run", args.run, "-sequence", args.sequence, '-tickSize', args.tickSize, "-iT", args.iT, "-oT", args.oT, "-sP", args.sP ]) utility.runCommandList(commandList, args) print dp.printGroupStatus() else: if args.sequence == 'lp': # to run it in local parallel mode pool = multiprocessing.Pool() # this will return the number of CPU's results = map(scriptWrapperForFeatureGeneration, lListOfTrainPredictDirectories) else: results = map(scriptWrapperForFeatureGeneration, lListOfTrainPredictDirectories) utility.runCommand(["rGenForE.py","-e",args.e,"-a",algo,"-sequence",args.sequence,"-targetClass",args.targetClass,"-skipM",args.skipM,\ '-dt',args.dt,'-pd',predictionDirectory,"-td",args.td,"-skipP",args.skipP, '-wt' , args.wt,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP],args.run,args.sequence) utility.runCommand(["runAllRScriptsForE.py","-td",args.td,"-pd",predictionDirectory,"-dt",args.dt,"-e",args.e,"-a",algo,"-run",args.run,\
def main(): args = parseCommandLine() dataFolder = args.d generatorsFolder = args.g attribute.initializeInstDetails(args.iT,args.sP,args.oT,args.rev) args.sequence = "lp" experimentFolder = args.e + "/design.ini" insideFeatureCommandList = getCommandListForInsideFeatures( experimentFolder,dataFolder,generatorsFolder,args.tickSize ) utility.runCommandList(insideFeatureCommandList,args) intermediateFeatureCommandList = getCommandListForIntermediateFeatures(experimentFolder,dataFolder,generatorsFolder,args.tickSize) utility.runCommandList(intermediateFeatureCommandList,args) commandList = getCommandList(experimentFolder,dataFolder,generatorsFolder,args.tickSize) utility.runCommandList(commandList,args) try: experimentFolder = args.e + "/design1.ini" insideFeatureCommandList = getCommandListForInsideFeatures( experimentFolder,dataFolder,generatorsFolder,args.tickSize ) utility.runCommandList(insideFeatureCommandList,args) intermediateFeatureCommandList = getCommandListForIntermediateFeatures(experimentFolder,dataFolder,generatorsFolder,args.tickSize) utility.runCommandList(intermediateFeatureCommandList,args) commandList = getCommandList(experimentFolder,dataFolder,generatorsFolder,args.tickSize) return utility.runCommandList(commandList,args) except: return
lengthOfFeatures = len(one_feature_attributes) allDataDirectories = attribute.getListOfTrainingDirectoriesNames( int(args.nDays) , args.td ,args.iT) dataFolder = args.td generatorsFolder = args.g commandList = [] experimentFolder = args.e # Seperate into 2 different list one for aGen and another for operateOnAttribute for directories in allDataDirectories: commandList.append(["aGenForE.py","-e",experimentFolder,"-d",directories,"-g",args.g,"-run",args.run,"-sequence",args.sequence,'-tickSize',args.tickSize,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP]) for chunkNum in range(0,len(commandList),int(args.nComputers)): lSubGenList = commandList[chunkNum:chunkNum+int(args.nComputers)] utility.runCommandList(lSubGenList,args) print dp.printGroupStatus() entrylist = "" exitlist = "" for i in range(55,70,1): for j in range(50,i,1): exitlist = exitlist + str(j) + ";" entrylist = entrylist + str(i) + ";" exitlist = exitlist[:-1] entrylist = entrylist[:-1] ''' entrylist4 = "" exitlist4 = "" entrylist3 = ""
args.oT, "-sP", args.sP ], args.run, args.sequence) if (args.sequence == "dp"): import dp lTradingCommandList = [] for index in range(buyListLength): lTradingCommandList.append([ "./ob/quality/tradeE7BuySellMixMatchOptimized.py", "-es", sellExperimentList[index], "-eb", buyExperimentList[index], "-skipT", args.skipT, "-a", args.a, "-entryCL", args.entryCL, "-exitCL", args.exitCL, "-orderQty", args.orderQty, '-dt', args.dt, "-targetClass", args.targetClass, "-td", args.td, "-pd", args.pd, '-tickSize', args.tickSize, '-wt', args.wt, "-iT", args.iT, "-oT", args.oT, "-sP", args.sP ]) utility.runCommandList(lTradingCommandList, args) print dp.printGroupStatus() else: buyIndexList = range(buyListLength) if args.sequence == 'lp': # to run it in local parallel mode pool = multiprocessing.Pool() # this will return the number of CPU's results = pool.map(scriptWrapper, buyIndexList) else: results = map(scriptWrapper, buyIndexList)
buyExperimentList.append(experimentNames[buyExperimentIndex]) sellExperimentList.append(experimentNames[sellExperimentIndex]) buyListLength = len(buyExperimentList) print "List of Sub Experiments " , buyListLength def scriptWrapper(index): utility.runCommand(["./ob/quality/tradeE7BuySellMixMatchOptimized.py","-es",sellExperimentList[index],"-eb",buyExperimentList[index],"-skipT",args.skipT,"-a",args.a,"-entryCL",args.entryCL,"-exitCL",args.exitCL,"-orderQty",args.orderQty,'-dt',args.dt,"-targetClass",args.targetClass,"-td",args.td ,"-pd",args.pd,'-tickSize',args.tickSize,'-wt',args.wt,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP],args.run,args.sequence) if(args.sequence == "dp"): import dp lTradingCommandList= [] for index in range(buyListLength): lTradingCommandList.append(["./ob/quality/tradeE7BuySellMixMatchOptimized.py","-es",sellExperimentList[index],"-eb",buyExperimentList[index],"-skipT",args.skipT,"-a",args.a,"-entryCL",args.entryCL,"-exitCL",args.exitCL,"-orderQty",args.orderQty,'-dt',args.dt,"-targetClass",args.targetClass,"-td",args.td ,"-pd",args.pd,'-tickSize',args.tickSize,'-wt',args.wt,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP]) utility.runCommandList(lTradingCommandList,args) print dp.printGroupStatus() else: buyIndexList = range(buyListLength) if args.sequence == 'lp': # to run it in local parallel mode pool = multiprocessing.Pool() # this will return the number of CPU's results = pool.map(scriptWrapper,buyIndexList) else: results = map(scriptWrapper,buyIndexList)
print "Sub directories of experiment does not exist and it is ran for all sub combination. Make allSub = no , or generate sub combination " sys.exit(1) #==========Generating Features for all required days ======================= if(args.sequence == "dp"): experimentFolder = args.e dataFolder = args.td generatorsFolder = args.g commandList = [] for directories in allDataDirectories: # commandList.append(["aGenForE.py","-e",experimentFolder,"-d",directories,"-g",args.g,"-run",args.run,"-sequence",args.sequence,'-tickSize',args.tickSize,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP]) pass for chunkNum in range(0,len(commandList),totalCommandsToBeScheduledAtOneGo): l_sub_aGenForECodeGenList = commandList[chunkNum:chunkNum+totalCommandsToBeScheduledAtOneGo] utility.runCommandList( l_sub_aGenForECodeGenList ,args) print dp.printGroupStatus() else: def scriptWrapperForFeatureGeneration(trainingDirectory): # utility.runCommand(["aGenForE.py","-e",args.e,"-d",trainingDirectory,"-g",args.g,"-run",args.run,"-sequence",args.sequence,'-tickSize',args.tickSize,"-iT",args.iT,"-oT",args.oT,"-sP",args.sP],args.run,args.sequence) pass results = map(scriptWrapperForFeatureGeneration,allDataDirectories) #=======Finding number of feature in design file ==== config = ConfigObj(args.e+"/design.ini") targetAttributes = attribute.getTargetVariableKeys(config) one_feature_attributes = attribute.getFeatureVariableKeys(config , targetAttributes.keys()[0]) lengthOfFeatures = len(one_feature_attributes) #==========Finding Experiment(s) folder for which it is to be run
def main(): args = parseCommandLine() dataFolder = args.d generatorsFolder = args.g attribute.initializeInstDetails(args.iT, args.sP, args.oT, args.rev) args.sequence = "lp" experimentFolder = args.e + "/design.ini" insideFeatureCommandList = getCommandListForInsideFeatures( experimentFolder, dataFolder, generatorsFolder, args.tickSize) utility.runCommandList(insideFeatureCommandList, args) intermediateFeatureCommandList = getCommandListForIntermediateFeatures( experimentFolder, dataFolder, generatorsFolder, args.tickSize) utility.runCommandList(intermediateFeatureCommandList, args) commandList = getCommandList(experimentFolder, dataFolder, generatorsFolder, args.tickSize) utility.runCommandList(commandList, args) try: experimentFolder = args.e + "/design1.ini" insideFeatureCommandList = getCommandListForInsideFeatures( experimentFolder, dataFolder, generatorsFolder, args.tickSize) utility.runCommandList(insideFeatureCommandList, args) intermediateFeatureCommandList = getCommandListForIntermediateFeatures( experimentFolder, dataFolder, generatorsFolder, args.tickSize) utility.runCommandList(intermediateFeatureCommandList, args) commandList = getCommandList(experimentFolder, dataFolder, generatorsFolder, args.tickSize) return utility.runCommandList(commandList, args) except: return