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)
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)