#!/usr/bin/python import sys from zipline.utils import parse_args, run_pipeline def main(job_id,D): parsed={} parsed['symbols']='SPY' parsed['start']='2014-01-01' parsed['end']='2014-12-31' parsed['algofile']= '/home/quant/pta/py/algos/BBANDS-zipday.py' parsed['capital_base']='100000' parsed['data_frequency']='daily' parsed['conf_file']= None parsed['source']='yahoo' parsed['output']= None parsed['risk']= None # Below what we expect spearmint to pass us # parsed['algo_params']=[47,88.7,7.7] # D={} # D['timeperiod']=10 # D['nbdevup']=1.00 # D['nbdevdn']=1.00 parsed['algo_params']=D perf = run_pipeline(print_algo=False, **parsed) StartV=perf['portfolio_value'][ 0] EndV=perf['portfolio_value'][-1] # spearmint wants to minimize so return negative profit BBANDS=(StartV-EndV) return BBANDS if __name__ == "__main__": # Below will be overridden by spearmint when it runs main(47, {'timeperiod':10,'nbdevup':1.00,'nbdevdn':1.00})