---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-5-3c55bc663feb> in <module>()
9 starting_days_ahead=STARTING_DAYS_AHEAD,
10 possible_fractions=POSSIBLE_FRACTIONS,
---> 11 verbose=False)
12 toc = time()
13 print('Epoch: {}'.format(i))
/home/miguel/udacity/Machine Learning Nanodegree/projects/capstone/capstone/recommender/simulator.py in simulate_period(data_df, symbol, agent, other_env, verbose, learn, starting_days_ahead, possible_fractions)
85 recorded_cash_value = {}
86 for i in range(N_iters):
---> 87 reward, new_state = env.get_consequences_from_fraction_index(fraction_index)
88
89 if verbose:
/home/miguel/udacity/Machine Learning Nanodegree/projects/capstone/capstone/recommender/environment.py in get_consequences_from_fraction_index(self, fraction_index)
110 def get_consequences_from_fraction_index(self, fraction_index):
111 target_fraction = self.actions_fractions.interval_to_value(fraction_index)
--> 112 return self.act_to_target(target_fraction)
113
114 def reward_final_value(self, old_pos_df, new_pos_df):
/home/miguel/udacity/Machine Learning Nanodegree/projects/capstone/capstone/recommender/environment.py in act_to_target(self, target_fraction)
106 shares_increase = wanted_shares - previous_shares
107 action = [Order([self.symbol, Order.BUY, shares_increase])]
--> 108 return self.get_consequences(action)
109
110 def get_consequences_from_fraction_index(self, fraction_index):
/home/miguel/udacity/Machine Learning Nanodegree/projects/capstone/capstone/recommender/environment.py in get_consequences(self, action)
86 new_positions_df = self.portfolio.get_positions()
87 reward = self.reward_fun(old_positions_df, new_positions_df)
---> 88 new_state = self.vector_to_state(self.extract_indicators(self.data_df[:self.portfolio.current_date]))
89 return reward, new_state
90
/home/miguel/udacity/Machine Learning Nanodegree/projects/capstone/capstone/recommender/environment.py in extract_indicators(self, data_df)
67 def extract_indicators(self, data_df):
68 """ Returns a vector state with the quantized index of all the indicators. """
---> 69 return tuple(map(lambda x: x.extract(data_df[self.symbol].unstack()), self.indicators.values()))
70
71 def initialize_states(self):
/home/miguel/udacity/Machine Learning Nanodegree/projects/capstone/capstone/recommender/environment.py in <lambda>(x)
67 def extract_indicators(self, data_df):
68 """ Returns a vector state with the quantized index of all the indicators. """
---> 69 return tuple(map(lambda x: x.extract(data_df[self.symbol].unstack()), self.indicators.values()))
70
71 def initialize_states(self):
/home/miguel/anaconda3/envs/cap_env/lib/python3.6/site-packages/pandas/core/series.py in unstack(self, level, fill_value)
2026 """
2027 from pandas.core.reshape.reshape import unstack
-> 2028 return unstack(self, level, fill_value)
2029
2030 # ----------------------------------------------------------------------
/home/miguel/anaconda3/envs/cap_env/lib/python3.6/site-packages/pandas/core/reshape/reshape.py in unstack(obj, level, fill_value)
457 unstacker = _Unstacker(obj.values, obj.index, level=level,
458 fill_value=fill_value)
--> 459 return unstacker.get_result()
460
461
/home/miguel/anaconda3/envs/cap_env/lib/python3.6/site-packages/pandas/core/reshape/reshape.py in get_result(self)
159 values, value_mask = self.get_new_values()
160 columns = self.get_new_columns()
--> 161 index = self.get_new_index()
162
163 # filter out missing levels
/home/miguel/anaconda3/envs/cap_env/lib/python3.6/site-packages/pandas/core/reshape/reshape.py in get_new_index(self)
280 if (lab == -1).any():
281 lev = lev.insert(len(lev), _get_na_value(lev.dtype.type))
--> 282 return lev.take(lab)
283
284 return MultiIndex(levels=self.new_index_levels, labels=result_labels,
/home/miguel/anaconda3/envs/cap_env/lib/python3.6/site-packages/pandas/core/indexes/datetimelike.py in take(self, indices, axis, allow_fill, fill_value, **kwargs)
392 def take(self, indices, axis=0, allow_fill=True,
393 fill_value=None, **kwargs):
--> 394 nv.validate_take(tuple(), kwargs)
395 indices = _ensure_int64(indices)
396
KeyboardInterrupt: