コード例 #1
0
    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)
コード例 #2
0
    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])