Skip to content

Commit

Permalink
working Q2 modif for multi-strat
Browse files Browse the repository at this point in the history
  • Loading branch information
[email protected] committed May 16, 2016
1 parent 045e33a commit cdbaf28
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 20 deletions.
36 changes: 20 additions & 16 deletions example/multi-strat_multi-instru/multi_strat_zipline.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,32 @@

if __name__ == '__main__':

fast_backtest = True
algo = TradingAlgorithm(initialize=initialize, handle_data=handle_data, capital_base = 10000, fast_backtest=fast_backtest)

instrument = [''.join(w) for w in algo.instrument.values()]
# fast_backtest = True
# algo = TradingAlgorithm(initialize=initialize, handle_data=handle_data, capital_base = 10000, fast_backtest=fast_backtest)
algo = TradingAlgorithm(initialize=initialize, handle_data=handle_data)

# instrument = [''.join(w) for w in algo.instrument.values()]
instrument = ['SPY', 'TLT']
startDate = datetime(2004, 1, 1, 0, 0, 0, 0, pytz.utc)
endDate = datetime(2015, 1, 1, 0, 0, 0, 0, pytz.utc)

data = load_from_yahoo(stocks=instrument, indexes={},start=algo.startDate, end=algo.endDate)
data = load_from_yahoo(stocks=instrument, indexes={},start=startDate, end=endDate)
data = data.dropna()

'''
Setting Analytics and Log System
'''
log_level = 2 # 2-INFO; 3=WARNING .... check AnalyticsManager module
algo.portfolio_manager.order_manager.set_dumpanalytics(False)
algo.portfolio_manager.order_manager.set_log_option(logconsole=False, logfile=False, level=log_level)

idx = algo.portfolio_manager.list_strategies.index('tlt strategy')
algo.portfolio_manager.strategies[idx].set_log_option(logconsole=False, logfile=False, level=log_level)
algo.portfolio_manager.strategies[idx].set_dumpanalytics(True)

idx = algo.portfolio_manager.list_strategies.index('spy strategy')
algo.portfolio_manager.strategies[idx].set_log_option(logconsole=False, logfile=True, level=log_level)
algo.portfolio_manager.strategies[idx].set_dumpanalytics(False)
# log_level = 2 # 2-INFO; 3=WARNING .... check AnalyticsManager module
# algo.portfolio_manager.order_manager.set_dumpanalytics(False)
# algo.portfolio_manager.order_manager.set_log_option(logconsole=False, logfile=False, level=log_level)
#
# idx = algo.portfolio_manager.list_strategies.index('tlt strategy')
# algo.portfolio_manager.strategies[idx].set_log_option(logconsole=False, logfile=False, level=log_level)
# algo.portfolio_manager.strategies[idx].set_dumpanalytics(True)
#
# idx = algo.portfolio_manager.list_strategies.index('spy strategy')
# algo.portfolio_manager.strategies[idx].set_log_option(logconsole=False, logfile=True, level=log_level)
# algo.portfolio_manager.strategies[idx].set_dumpanalytics(False)
#
# End Of Fetch and Load
#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,16 @@ def __init__(self, context, name = 'stupid momentum strategy on TLT', instrument
def abs_mom_up (self, data):
inst = self.instruments.values()[0]

prices = history(self.lookback, '1d', 'price')
# prices = history(self.lookback, '1d', 'price')
security_list = self.instruments.values()
prices = data.history(security_list, 'price', self.lookback, '1d')
NbNan = np.count_nonzero(np.isnan(prices))
if NbNan > 0:
return -1

mom = prices.mean()
if data[inst].price > mom[inst]:
# if data[inst].price > mom[inst]:
if data.current(inst, 'price') > mom[inst]:
return 1
else:
return 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,16 @@ def __init__(self, context, name = 'stupid momentum strategy on SPY', instrument
def abs_mom_up (self, data):
inst = self.instruments.values()[0]

prices = history(self.lookback, '1d', 'price')
# prices = history(self.lookback, '1d', 'price')
security_list = self.instruments.values()
prices = data.history(security_list, 'price', self.lookback, '1d')
NbNan = np.count_nonzero(np.isnan(prices))
if NbNan > 0:
return -1

mom = prices.mean()
if data[inst].price > mom[inst]:
# if data[inst].price > mom[inst]:
if data.current(inst, 'price') > mom[inst]:
return 1
else:
return 0
Expand Down

0 comments on commit cdbaf28

Please sign in to comment.