{"abstract":"Holders exercise worthless calls to capture a dividend they cannot receive profitably.","category":"Options payoff and settlement","checks":8,"contract":"Inputs call price, spot, strike, dividend and whether today is the last cum-dividend day. Exercise only on the last cum-dividend day, only if the call is in the money, and only if the dividend is strictly greater than the call's extrinsic value (price - intrinsic). Amounts compared exactly in cents. Return true/false.","contract_signature":"call_price, S, K, dividend, last_cum_day","evaluation_group":"w2-options_payoff_and_settlement-early-exercise-dividend","failed_approach":"Guarding on negative intrinsic never triggers because intrinsic is floored at zero.","family":"w2-options_payoff_and_settlement-early-exercise-dividend-in-the-money-guard","id":"FA-61781","implementations":{"attempt":{"sha256":"e9f43f6578d04fb8747731f9969642c76e0c770336139274888e883eeb4e68b0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(call_price, S, K, dividend, last_cum_day):\n    c = round(call_price * 100)\n    intrinsic = max(round(S * 100) - round(K * 100), 0)\n    if not last_cum_day or intrinsic < 0:\n        return False\n    extrinsic = c - intrinsic\n    return round(dividend * 100) > extrinsic\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression in-the-money guard 1', [0.25, 105.0, 110.0, 1.0, True], False], ['regression in-the-money guard 2', [1.0, 98.0, 110.0, 1.01, True], False], ['partial repair probe 1', [0.05, 98.0, 110.0, 0.060000000000000005, True], False], ['partial repair probe 2', [0.05, 98.0, 100.0, 0.25, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.5, True], False], ['boundary control 2', [10.5, 110.0, 100.0, 0.51, True], True], ['normal control 1', [1.0, 98.0, 100.0, 1.0, True], False], ['normal control 2', [1.5, 105.0, 110.0, 1.5, False], False]], [['regression in-the-money guard 1', [0.5, 100.0, 100.0, 0.51, True], False], ['regression in-the-money guard 2', [1.5, 98.0, 110.0, 1.51, True], False], ['partial repair probe 1', [0.05, 105.0, 110.0, 1.0, True], False], ['partial repair probe 2', [0.25, 100.0, 110.0, 1.0, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.51, True], True], ['boundary control 2', [10.5, 110.0, 100.0, 0.5, True], False], ['normal control 1', [1.5, 100.0, 110.0, 1.5, False], False], ['normal control 2', [10.5, 120.0, 110.0, 0.25, True], False]], [['regression in-the-money guard 1', [1.0, 98.0, 110.0, 1.01, True], False], ['regression in-the-money guard 2', [0.05, 100.0, 110.0, 0.25, True], False], ['partial repair probe 1', [1.0, 100.0, 100.0, 1.01, True], False], ['partial repair probe 2', [0.25, 100.0, 100.0, 0.26, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.5, True], False], ['boundary control 2', [10.5, 110.0, 100.0, 0.51, True], True], ['normal control 1', [1.0, 98.0, 100.0, 1.0, True], False], ['normal control 2', [5.05, 105.0, 100.0, 0.25, False], False]], [['regression in-the-money guard 1', [0.5, 98.0, 110.0, 1.0, True], False], ['regression in-the-money guard 2', [1.0, 100.0, 110.0, 1.01, True], False], ['partial repair probe 1', [0.05, 98.0, 100.0, 0.060000000000000005, True], False], ['partial repair probe 2', [1.0, 105.0, 110.0, 1.01, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.51, True], True], ['boundary control 2', [10.5, 110.0, 100.0, 0.5, True], False], ['normal control 1', [20.5, 120.0, 100.0, 0.25, False], False], ['normal control 2', [8.25, 98.0, 90.0, 0.25, False], False]], [['regression in-the-money guard 1', [0.5, 100.0, 110.0, 0.51, True], False], ['regression in-the-money guard 2', [1.0, 98.0, 100.0, 1.01, True], False], ['partial repair probe 1', [0.25, 98.0, 110.0, 0.26, True], False], ['partial repair probe 2', [0.5, 98.0, 100.0, 1.0, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.51, True], True], ['boundary control 2', [10.5, 110.0, 100.0, 0.5, True], False], ['normal control 1', [10.05, 120.0, 110.0, 0.05, False], False], ['normal control 2', [16.5, 105.0, 90.0, 1.0, True], False]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"8de42cbe4fcd2f643c8a24d6797686fc6ac70475aaefb60cd64903be04679cfa","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(call_price, S, K, dividend, last_cum_day):\n    c = round(call_price * 100)\n    intrinsic = max(round(S * 100) - round(K * 100), 0)\n    if not last_cum_day:\n        return False\n    extrinsic = c - intrinsic\n    return round(dividend * 100) > extrinsic\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression in-the-money guard 1', [0.25, 105.0, 110.0, 1.0, True], False], ['regression in-the-money guard 2', [1.0, 98.0, 110.0, 1.01, True], False], ['partial repair probe 1', [0.05, 98.0, 110.0, 0.060000000000000005, True], False], ['partial repair probe 2', [0.05, 98.0, 100.0, 0.25, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.5, True], False], ['boundary control 2', [10.5, 110.0, 100.0, 0.51, True], True], ['normal control 1', [1.0, 98.0, 100.0, 1.0, True], False], ['normal control 2', [1.5, 105.0, 110.0, 1.5, False], False]], [['regression in-the-money guard 1', [0.5, 100.0, 100.0, 0.51, True], False], ['regression in-the-money guard 2', [1.5, 98.0, 110.0, 1.51, True], False], ['partial repair probe 1', [0.05, 105.0, 110.0, 1.0, True], False], ['partial repair probe 2', [0.25, 100.0, 110.0, 1.0, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.51, True], True], ['boundary control 2', [10.5, 110.0, 100.0, 0.5, True], False], ['normal control 1', [1.5, 100.0, 110.0, 1.5, False], False], ['normal control 2', [10.5, 120.0, 110.0, 0.25, True], False]], [['regression in-the-money guard 1', [1.0, 98.0, 110.0, 1.01, True], False], ['regression in-the-money guard 2', [0.05, 100.0, 110.0, 0.25, True], False], ['partial repair probe 1', [1.0, 100.0, 100.0, 1.01, True], False], ['partial repair probe 2', [0.25, 100.0, 100.0, 0.26, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.5, True], False], ['boundary control 2', [10.5, 110.0, 100.0, 0.51, True], True], ['normal control 1', [1.0, 98.0, 100.0, 1.0, True], False], ['normal control 2', [5.05, 105.0, 100.0, 0.25, False], False]], [['regression in-the-money guard 1', [0.5, 98.0, 110.0, 1.0, True], False], ['regression in-the-money guard 2', [1.0, 100.0, 110.0, 1.01, True], False], ['partial repair probe 1', [0.05, 98.0, 100.0, 0.060000000000000005, True], False], ['partial repair probe 2', [1.0, 105.0, 110.0, 1.01, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.51, True], True], ['boundary control 2', [10.5, 110.0, 100.0, 0.5, True], False], ['normal control 1', [20.5, 120.0, 100.0, 0.25, False], False], ['normal control 2', [8.25, 98.0, 90.0, 0.25, False], False]], [['regression in-the-money guard 1', [0.5, 100.0, 110.0, 0.51, True], False], ['regression in-the-money guard 2', [1.0, 98.0, 100.0, 1.01, True], False], ['partial repair probe 1', [0.25, 98.0, 110.0, 0.26, True], False], ['partial repair probe 2', [0.5, 98.0, 100.0, 1.0, True], False], ['boundary control 1', [10.5, 110.0, 100.0, 0.51, True], True], ['boundary control 2', [10.5, 110.0, 100.0, 0.5, True], False], ['normal control 1', [10.05, 120.0, 110.0, 0.05, False], False], ['normal control 2', [16.5, 105.0, 90.0, 1.0, True], False]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic toy contract stated explicitly in the contract field; no claim of conformance to any exchange or clearing rulebook. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-options_payoff_and_settlement-early-exercise-dividend-in-the-money-guard","generated_at":"2026-09-29T14:46:58.451127+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Option expiry, exercise and settlement engines move cash and shares; a wrong branch misstates obligations.","root_cause":"The intrinsic == 0 guard is missing.","sha256":"21a4c4c1afb507b6ca16ae984fa765590232eb7e1eb34fcfe9f4ece7e65a26d6","title":"Early call exercise before an ex-dividend date: out-of-the-money calls can be exercised · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":40.633,"exit_code":1,"observations":[{"actual":true,"check":"regression in-the-money guard 1","expected":false,"passed":false},{"actual":true,"check":"regression in-the-money guard 2","expected":false,"passed":false},{"actual":true,"check":"partial repair probe 1","expected":false,"passed":false},{"actual":true,"check":"partial repair probe 2","expected":false,"passed":false},{"actual":false,"check":"boundary control 1","expected":false,"passed":true},{"actual":true,"check":"boundary control 2","expected":true,"passed":true},{"actual":false,"check":"normal control 1","expected":false,"passed":true},{"actual":false,"check":"normal control 2","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression in-the-money guard 1\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"regression in-the-money guard 2\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.759,"exit_code":1,"observations":[{"actual":true,"check":"regression in-the-money guard 1","expected":false,"passed":false},{"actual":true,"check":"regression in-the-money guard 2","expected":false,"passed":false},{"actual":true,"check":"partial repair probe 1","expected":false,"passed":false},{"actual":true,"check":"partial repair probe 2","expected":false,"passed":false},{"actual":false,"check":"boundary control 1","expected":false,"passed":true},{"actual":true,"check":"boundary control 2","expected":true,"passed":true},{"actual":false,"check":"normal control 1","expected":false,"passed":true},{"actual":false,"check":"normal control 2","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression in-the-money guard 1\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"regression in-the-money guard 2\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}