Ejemplo n.º 1
0
    def test_putcallpair_has_repr(self):
        pair = PutCallPair()
        pair.addoption(self.option_contract_put)

        opt_contract_dict_call = {
            '_id': '577a573e4b01f47f84d0cbd5',
            'callorput': 'c',
            'cqgsymbol': 'P.US.EPH1427750',
            'expirationdate': datetime(2014, 3, 21, 0, 0),
            'idcontract': 4736,
            'idinstrument': 11,
            'idoption': 11558454,
            'optionmonth': 'H',
            'optionmonthint': 3,
            'optionname': 'P.US.EPH1427750',
            'optionyear': 2014,
            'strikeprice': 2775.0
        }
        option_contract_call = OptionContract(opt_contract_dict_call,
                                              self.fut_contract)

        pair.addoption(option_contract_call)
        self.assertEqual(
            pair.__repr__(),
            "{0} {1} / {2}".format(pair.strike, pair.call.name, pair.put.name))
Ejemplo n.º 2
0
    def test_putcallpair_addoption_call_error_onduplicate(self):
        pair = PutCallPair()
        pair.addoption(self.option_contract_put)

        opt_contract_dict_call = {
            '_id': '577a573e4b01f47f84d0cbd5',
            'callorput': 'c',
            'cqgsymbol': 'P.US.EPH1427750',
            'expirationdate': datetime(2014, 3, 21, 0, 0),
            'idcontract': 4736,
            'idinstrument': 11,
            'idoption': 11558454,
            'optionmonth': 'H',
            'optionmonthint': 3,
            'optionname': 'P.US.EPH1427750',
            'optionyear': 2014,
            'strikeprice': 2775.0
        }

        option_contract_call = OptionContract(opt_contract_dict_call,
                                              self.fut_contract)
        pair.addoption(option_contract_call)

        self.assertEqual(pair._put, self.option_contract_put)
        self.assertEqual(pair._call, option_contract_call)
        self.assertRaises(ValueError, pair.addoption, option_contract_call)
Ejemplo n.º 3
0
    def test_putcallpair_has_underlying(self):
        pair = PutCallPair()
        self.assertEqual(None, pair.underlying)
        pair.addoption(self.option_contract_put)
        self.assertEqual(self.fut_contract, pair.underlying)

        opt_contract_dict_call = {
            '_id': '577a573e4b01f47f84d0cbd5',
            'callorput': 'c',
            'cqgsymbol': 'P.US.EPH1427750',
            'expirationdate': datetime(2014, 3, 21, 0, 0),
            'idcontract': 4736,
            'idinstrument': 11,
            'idoption': 11558454,
            'optionmonth': 'H',
            'optionmonthint': 3,
            'optionname': 'P.US.EPH1427750',
            'optionyear': 2014,
            'strikeprice': 2775.0
        }
        option_contract_call = OptionContract(opt_contract_dict_call,
                                              self.fut_contract)

        pair = PutCallPair()
        pair.addoption(option_contract_call)
        self.assertEqual(self.fut_contract, pair.underlying)
Ejemplo n.º 4
0
 def test_putcallpair_has_p(self):
     pair = PutCallPair()
     self.assertEqual(None, pair.P)
     self.assertEqual(None, pair.p)
     pair.addoption(self.option_contract_put)
     self.assertEqual(self.option_contract_put, pair.P)
     self.assertEqual(self.option_contract_put, pair.p)
     self.assertEqual(self.option_contract_put, pair.put)
Ejemplo n.º 5
0
 def test_putcallpair_addoption_error_on_duclicate(self):
     pair = PutCallPair()
     pair.addoption(self.option_contract_put)
     self.assertRaises(ValueError, pair.addoption, self.option_contract_put)
Ejemplo n.º 6
0
 def test_putcallpair_addoption(self):
     pair = PutCallPair()
     pair.addoption(self.option_contract_put)
     self.assertEqual(pair._put, self.option_contract_put)
     self.assertEqual(pair._call, None)
Ejemplo n.º 7
0
 def test_putcallpair_addoption_expiration_set(self):
     pair = PutCallPair()
     self.assertEqual(None, pair._expiration)
     self.assertEqual(None, pair.expiration)
     pair.addoption(self.option_contract_put)
     self.assertEqual(pair.expiration, datetime(2014, 3, 21, 0, 0))
Ejemplo n.º 8
0
 def test_putcallpair_has_expiration(self):
     pair = PutCallPair()
     self.assertEqual(None, pair._expiration)
     self.assertEqual(None, pair.expiration)
     pair.addoption(self.option_contract_put)
Ejemplo n.º 9
0
 def test_putcallpair_has_strike(self):
     pair = PutCallPair()
     pair.addoption(self.option_contract_put)
     self.assertEqual(pair._put, self.option_contract_put)
     self.assertEqual(pair._call, None)
     self.assertEqual(pair.strike, 2775.0)