From 5477004184394a332f360a263b46bd5d9f3a34f0 Mon Sep 17 00:00:00 2001 From: Juan Pablo Amoroso Date: Fri, 14 Feb 2020 18:41:43 -0300 Subject: [PATCH] Added Stock as a top level import --- backtester/__init__.py | 1 + backtester/strategy/strategy.py | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backtester/__init__.py b/backtester/__init__.py index 880d540..052efec 100644 --- a/backtester/__init__.py +++ b/backtester/__init__.py @@ -1,2 +1,3 @@ from . import datahandler from .backtester import Backtest +from .enums import Stock diff --git a/backtester/strategy/strategy.py b/backtester/strategy/strategy.py index ef01391..77950cc 100644 --- a/backtester/strategy/strategy.py +++ b/backtester/strategy/strategy.py @@ -5,8 +5,8 @@ from functools import reduce import pandas as pd import numpy as np -from backtester.datahandler import Schema -from backtester.enums import Direction, Signal, get_order +from ..datahandler import Schema +from ..enums import Direction, Signal, get_order from .strategy_leg import StrategyLeg Condition = namedtuple('Condition', 'fields legs tolerance') @@ -245,12 +245,11 @@ class Strategy: fields = self._signal_fields((~direction).value) options = options.rename(columns=fields) candidates = inventory_leg[['contract']].merge(options, how='left', on='contract') + # candidates.index needs to be the same as the inventory's so that the exit masks that are constructed # from it can be correctly applied to the inventory. candidates.index = inventory_index - - order = get_order(direction, Signal.EXIT) - candidates['order'] = order + candidates['order'] = get_order(direction, Signal.EXIT) # Change sign of cost for SELL orders if ~direction == Direction.SELL: