Skip to content

Commit

Permalink
Merge pull request #180 from YasserHassan/env-feed-fix
Browse files Browse the repository at this point in the history
Fix inconsistent feed column order when creating TradingEnvironment instances
  • Loading branch information
mwbrulhardt committed Feb 3, 2020
2 parents 9fd7269 + a2c7170 commit 6c7d66a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
14 changes: 8 additions & 6 deletions tensortrade/data/stream/feed.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,16 @@ def has_next(self) -> bool:
return all(node.has_next() for node in self.process)

def __add__(self, other):
if isinstance(other, DataFeed):
nodes = list(set(self.inputs + other.inputs))
feed = DataFeed(nodes)
if not isinstance(other, DataFeed):
raise TypeError(f'can only concatenate DataFeed (not "{type(other).__name__}") to DataFeed.')

for listener in self.listeners + other.listeners:
feed.attach(listener)
nodes = self.inputs + other.inputs
feed = DataFeed(nodes)

return feed
for listener in self.listeners + other.listeners:
feed.attach(listener)

return feed

def reset(self):
for node in self.process:
Expand Down
4 changes: 2 additions & 2 deletions tensortrade/environments/trading_environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ def compile(self):

if not self.feed:
self.feed = create_internal_feed(self.portfolio)

self.feed = self.feed + create_internal_feed(self.portfolio)
else:
self.feed = self.feed + create_internal_feed(self.portfolio)

initial_obs = self.feed.next()
n_features = len(initial_obs.keys()) if self.use_internal else len(self._external_keys)
Expand Down

0 comments on commit 6c7d66a

Please sign in to comment.