def test_close_short_call(self): path = Path('tests/test_data/normalized/TSLA') training = pd.read_csv(path / 'training.csv', parse_dates=['date'], date_parser=from_small_date) call = Option('call', TSLA, 420, datetime(2020, 7, 17)) portfolio = Portfolio(cash=133535, securities={call: -1}) sim = Simulator(TSLA, portfolio, path, training) sim._buy(datetime(2020, 7, 14)) self.assertEqual(0, portfolio.securities[call]) self.assertEqual(0, portfolio.cash)
def test_close_no_op(self): path = Path('tests/test_data/normalized/TSLA') training = pd.read_csv(path / 'training.csv', parse_dates=['date'], date_parser=from_small_date) portfolio = Portfolio(cash=0, securities={TSLA: 100}) sim = Simulator(TSLA, portfolio, path, training) # no contracts to close, no-op sim._buy(None) self.assertEqual(100, portfolio.securities[TSLA])