def test_integrate_expected_vaue_function(self):
        leg1 = {}
        leg1['option'] = {
            'type': 'Call',
            'strike': 100,
            'price': 5
        }
        leg1['direction'] = 'Long'
        option_position = [
            leg1
        ]
        pdf = lambda x: 1.0 / 15.0  # uniform
        result = integrate.quad(
            lambda x: option_position_metrics.expected_value_function(
                x, option_position, pdf),
            105,
            115)
        self.assertAlmostEqual(3.3333, result[0], 4)

        leg1['direction'] = 'Short'
        expected_result = -3.3333
        actual_result = integrate.quad(
            lambda x: option_position_metrics.expected_value_function(
                x, option_position, pdf),
            105,
            115)
        self.assertAlmostEqual(expected_result, actual_result[0], 4)
Exemple #2
0
    def test_expected_value_function(self):
        pdf = lambda x: 1.0 / 15.0  # uniform
        leg1 = {}
        leg1['option'] = {'type': 'Call', 'strike': 100, 'price': 5}
        leg1['direction'] = 'Long'
        option_position = [leg1]
        asset_price = 115
        expected_result = 2.0 / 3.0
        actual_result = option_position_metrics.expected_value_function(
            asset_price, option_position, pdf)
        self.assertAlmostEqual(expected_result, actual_result, 4)

        leg1['direction'] = 'Short'
        expected_result = -2.0 / 3.0
        actual_result = option_position_metrics.expected_value_function(
            asset_price, option_position, pdf)
        self.assertAlmostEqual(expected_result, actual_result, 4)
Exemple #3
0
    def test_integrate_expected_vaue_function(self):
        leg1 = {}
        leg1['option'] = {'type': 'Call', 'strike': 100, 'price': 5}
        leg1['direction'] = 'Long'
        option_position = [leg1]
        pdf = lambda x: 1.0 / 15.0  # uniform
        result = integrate.quad(
            lambda x: option_position_metrics.expected_value_function(
                x, option_position, pdf), 105, 115)
        self.assertAlmostEqual(3.3333, result[0], 4)

        leg1['direction'] = 'Short'
        expected_result = -3.3333
        actual_result = integrate.quad(
            lambda x: option_position_metrics.expected_value_function(
                x, option_position, pdf), 105, 115)
        self.assertAlmostEqual(expected_result, actual_result[0], 4)
    def test_expected_value_function(self):
        pdf = lambda x: 1.0 / 15.0  # uniform
        leg1 = {}
        leg1['option'] = {
            'type': 'Call',
            'strike': 100,
            'price': 5
        }
        leg1['direction'] = 'Long'
        option_position = [
            leg1
        ]
        asset_price = 115
        expected_result = 2.0 / 3.0
        actual_result = option_position_metrics.expected_value_function(asset_price, option_position, pdf)
        self.assertAlmostEqual(expected_result, actual_result, 4)

        leg1['direction'] = 'Short'
        expected_result = -2.0 / 3.0
        actual_result = option_position_metrics.expected_value_function(asset_price, option_position, pdf)
        self.assertAlmostEqual(expected_result, actual_result, 4)