{"abstract":"Floating-strike calls ignore a minimum set at inception.","category":"Options payoff and settlement","checks":8,"contract":"Inputs kind, the observed path including initial and final prices, and strike. float-call pays final - min(path); float-put pays max(path) - final; fixed-call pays max(max(path) - K, 0); fixed-put pays max(K - min(path), 0). Round to 6.","evaluation_group":"w2-options_payoff_and_settlement-lookback-payoff","failed_approach":"Excluding the final observation instead can make the payoff negative.","family":"w2-options_payoff_and_settlement-lookback-payoff-floating-call-reference","id":"FA-61681","implementations":{"attempt":{"sha256":"973ca50610ac1a4c447e84bb0ef363c1c1a2107eb09fc613f218da9b00924fe3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kind, path, strike):\n    final = path[-1]\n    if kind == 'float-call':\n        pay = final - min(path[:-1])\n    elif kind == 'float-put':\n        pay = max(path) - final\n    elif kind == 'fixed-call':\n        pay = max(max(path) - strike, 0)\n    else:\n        pay = max(strike - min(path), 0)\n    return round(pay, 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression floating call reference 1', ['float-call', [81.0, 90.0, 100.0], 115], 19.0], ['regression floating call reference 2', ['float-call', [100.0, 110.0], 115], 10.0], ['partial repair probe 1', ['float-call', [100.0, 100.0, 90.0, 90.0, 90.0, 81.0], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0, 85.5], 115], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [100.0, 100.0, 95.0, 104.5], 100], 4.5], ['normal control 2', ['fixed-put', [100.0, 95.0, 90.25, 99.28, 89.35], 90], 0.65], ['normal control 3', ['fixed-call', [104.0, 100.0], 90], 14.0]], [['regression floating call reference 1', ['float-call', [100.0, 110.0, 110.0, 104.5, 104.5], 90], 4.5], ['regression floating call reference 2', ['float-call', [100.0, 104.0], 90], 4.0], ['partial repair probe 1', ['float-call', [100.0, 95.0, 90.25, 85.74, 81.45, 73.31], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 110.0, 114.4, 108.68, 97.81, 92.92], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [90.0, 100.0, 100.0, 100.0], 115], 0], ['normal control 2', ['fixed-put', [100.0, 90.0, 81.0], 115], 34.0], ['normal control 3', ['float-put', [100.0, 110.0, 110.0, 99.0, 102.96, 97.81, 101.72], 105], 8.28]], [['regression floating call reference 1', ['float-call', [94.05, 104.5, 110.0, 110.0, 100.0], 90], 5.95], ['regression floating call reference 2', ['float-call', [100.0, 110.0, 114.4, 118.98, 107.08, 111.36], 105], 11.36], ['partial repair probe 1', ['float-call', [100.0, 95.0, 90.25, 85.74], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0], 105], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-put', [92.48, 102.75, 98.8, 104.0, 104.0, 100.0], 105], 12.52], ['normal control 2', ['fixed-call', [100.0, 110.0, 121.0, 121.0, 114.95, 119.55], 90], 31.0], ['normal control 3', ['float-call', [100.0, 95.0, 104.5, 99.27, 103.24], 100], 8.24]], [['regression floating call reference 1', ['float-call', [100.0, 104.0, 114.4, 125.84, 113.26, 113.26], 90], 13.26], ['regression floating call reference 2', ['float-call', [90.0, 100.0, 100.0], 100], 10.0], ['partial repair probe 1', ['float-call', [100.0, 110.0, 99.0], 105], 0.0], ['partial repair probe 2', ['float-call', [100.0, 104.0, 98.8, 93.86], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [100.0, 104.0, 98.8], 115], 0], ['normal control 2', ['float-call', [100.0, 100.0, 110.0, 121.0], 115], 21.0], ['normal control 3', ['float-put', [100.0, 104.0, 93.6, 102.96, 102.96, 113.26], 90], 0.0]], [['regression floating call reference 1', ['float-call', [100.0, 104.0], 90], 4.0], ['regression floating call reference 2', ['float-call', [100.0, 104.0, 104.0, 114.4, 102.96, 102.96, 113.26], 105], 13.26], ['partial repair probe 1', ['float-call', [100.0, 100.0, 100.0, 90.0, 85.5, 81.22], 90], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-put', [100.0, 104.0, 98.8, 108.68, 119.55], 100], 1.2], ['normal control 2', ['float-put', [100.0, 100.0], 105], 0.0], ['normal control 3', ['fixed-call', [100.0, 110.0], 115], 0]]]\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":"26af8078ba445ec3f2247536ae2bfc4960dbeaec83f53ff2ca357a5738e91f6c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kind, path, strike):\n    final = path[-1]\n    if kind == 'float-call':\n        pay = final - min(path[1:])\n    elif kind == 'float-put':\n        pay = max(path) - final\n    elif kind == 'fixed-call':\n        pay = max(max(path) - strike, 0)\n    else:\n        pay = max(strike - min(path), 0)\n    return round(pay, 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression floating call reference 1', ['float-call', [81.0, 90.0, 100.0], 115], 19.0], ['regression floating call reference 2', ['float-call', [100.0, 110.0], 115], 10.0], ['partial repair probe 1', ['float-call', [100.0, 100.0, 90.0, 90.0, 90.0, 81.0], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0, 85.5], 115], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [100.0, 100.0, 95.0, 104.5], 100], 4.5], ['normal control 2', ['fixed-put', [100.0, 95.0, 90.25, 99.28, 89.35], 90], 0.65], ['normal control 3', ['fixed-call', [104.0, 100.0], 90], 14.0]], [['regression floating call reference 1', ['float-call', [100.0, 110.0, 110.0, 104.5, 104.5], 90], 4.5], ['regression floating call reference 2', ['float-call', [100.0, 104.0], 90], 4.0], ['partial repair probe 1', ['float-call', [100.0, 95.0, 90.25, 85.74, 81.45, 73.31], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 110.0, 114.4, 108.68, 97.81, 92.92], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [90.0, 100.0, 100.0, 100.0], 115], 0], ['normal control 2', ['fixed-put', [100.0, 90.0, 81.0], 115], 34.0], ['normal control 3', ['float-put', [100.0, 110.0, 110.0, 99.0, 102.96, 97.81, 101.72], 105], 8.28]], [['regression floating call reference 1', ['float-call', [94.05, 104.5, 110.0, 110.0, 100.0], 90], 5.95], ['regression floating call reference 2', ['float-call', [100.0, 110.0, 114.4, 118.98, 107.08, 111.36], 105], 11.36], ['partial repair probe 1', ['float-call', [100.0, 95.0, 90.25, 85.74], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0], 105], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-put', [92.48, 102.75, 98.8, 104.0, 104.0, 100.0], 105], 12.52], ['normal control 2', ['fixed-call', [100.0, 110.0, 121.0, 121.0, 114.95, 119.55], 90], 31.0], ['normal control 3', ['float-call', [100.0, 95.0, 104.5, 99.27, 103.24], 100], 8.24]], [['regression floating call reference 1', ['float-call', [100.0, 104.0, 114.4, 125.84, 113.26, 113.26], 90], 13.26], ['regression floating call reference 2', ['float-call', [90.0, 100.0, 100.0], 100], 10.0], ['partial repair probe 1', ['float-call', [100.0, 110.0, 99.0], 105], 0.0], ['partial repair probe 2', ['float-call', [100.0, 104.0, 98.8, 93.86], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [100.0, 104.0, 98.8], 115], 0], ['normal control 2', ['float-call', [100.0, 100.0, 110.0, 121.0], 115], 21.0], ['normal control 3', ['float-put', [100.0, 104.0, 93.6, 102.96, 102.96, 113.26], 90], 0.0]], [['regression floating call reference 1', ['float-call', [100.0, 104.0], 90], 4.0], ['regression floating call reference 2', ['float-call', [100.0, 104.0, 104.0, 114.4, 102.96, 102.96, 113.26], 105], 13.26], ['partial repair probe 1', ['float-call', [100.0, 100.0, 100.0, 90.0, 85.5, 81.22], 90], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-put', [100.0, 104.0, 98.8, 108.68, 119.55], 100], 1.2], ['normal control 2', ['float-put', [100.0, 100.0], 105], 0.0], ['normal control 3', ['fixed-call', [100.0, 110.0], 115], 0]]]\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"},"fixed":{"sha256":"2bca49e161c00a5749eca63d644d3f53513dbb17b27dc7612514578f6eb979ad","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kind, path, strike):\n    final = path[-1]\n    if kind == 'float-call':\n        pay = final - min(path)\n    elif kind == 'float-put':\n        pay = max(path) - final\n    elif kind == 'fixed-call':\n        pay = max(max(path) - strike, 0)\n    else:\n        pay = max(strike - min(path), 0)\n    return round(pay, 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression floating call reference 1', ['float-call', [81.0, 90.0, 100.0], 115], 19.0], ['regression floating call reference 2', ['float-call', [100.0, 110.0], 115], 10.0], ['partial repair probe 1', ['float-call', [100.0, 100.0, 90.0, 90.0, 90.0, 81.0], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0, 85.5], 115], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [100.0, 100.0, 95.0, 104.5], 100], 4.5], ['normal control 2', ['fixed-put', [100.0, 95.0, 90.25, 99.28, 89.35], 90], 0.65], ['normal control 3', ['fixed-call', [104.0, 100.0], 90], 14.0]], [['regression floating call reference 1', ['float-call', [100.0, 110.0, 110.0, 104.5, 104.5], 90], 4.5], ['regression floating call reference 2', ['float-call', [100.0, 104.0], 90], 4.0], ['partial repair probe 1', ['float-call', [100.0, 95.0, 90.25, 85.74, 81.45, 73.31], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 110.0, 114.4, 108.68, 97.81, 92.92], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [90.0, 100.0, 100.0, 100.0], 115], 0], ['normal control 2', ['fixed-put', [100.0, 90.0, 81.0], 115], 34.0], ['normal control 3', ['float-put', [100.0, 110.0, 110.0, 99.0, 102.96, 97.81, 101.72], 105], 8.28]], [['regression floating call reference 1', ['float-call', [94.05, 104.5, 110.0, 110.0, 100.0], 90], 5.95], ['regression floating call reference 2', ['float-call', [100.0, 110.0, 114.4, 118.98, 107.08, 111.36], 105], 11.36], ['partial repair probe 1', ['float-call', [100.0, 95.0, 90.25, 85.74], 115], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0], 105], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-put', [92.48, 102.75, 98.8, 104.0, 104.0, 100.0], 105], 12.52], ['normal control 2', ['fixed-call', [100.0, 110.0, 121.0, 121.0, 114.95, 119.55], 90], 31.0], ['normal control 3', ['float-call', [100.0, 95.0, 104.5, 99.27, 103.24], 100], 8.24]], [['regression floating call reference 1', ['float-call', [100.0, 104.0, 114.4, 125.84, 113.26, 113.26], 90], 13.26], ['regression floating call reference 2', ['float-call', [90.0, 100.0, 100.0], 100], 10.0], ['partial repair probe 1', ['float-call', [100.0, 110.0, 99.0], 105], 0.0], ['partial repair probe 2', ['float-call', [100.0, 104.0, 98.8, 93.86], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-call', [100.0, 104.0, 98.8], 115], 0], ['normal control 2', ['float-call', [100.0, 100.0, 110.0, 121.0], 115], 21.0], ['normal control 3', ['float-put', [100.0, 104.0, 93.6, 102.96, 102.96, 113.26], 90], 0.0]], [['regression floating call reference 1', ['float-call', [100.0, 104.0], 90], 4.0], ['regression floating call reference 2', ['float-call', [100.0, 104.0, 104.0, 114.4, 102.96, 102.96, 113.26], 105], 13.26], ['partial repair probe 1', ['float-call', [100.0, 100.0, 100.0, 90.0, 85.5, 81.22], 90], 0.0], ['partial repair probe 2', ['float-call', [100.0, 90.0], 100], 0.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['normal control 1', ['fixed-put', [100.0, 104.0, 98.8, 108.68, 119.55], 100], 1.2], ['normal control 2', ['float-put', [100.0, 100.0], 105], 0.0], ['normal control 3', ['fixed-call', [100.0, 110.0], 115], 0]]]\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-lookback-payoff-floating-call-reference","generated_at":"2026-09-29T14:46:57.448861+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.","repair":"Include every observation, including the initial fixing.","root_cause":"The minimum is taken over path[1:].","sha256":"bb2317f35ab3b866d46d0092a4a1c205df642853dcb4054425146199522df3d5","title":"Lookback option payoff: the initial fixing is excluded from the minimum · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.661,"exit_code":1,"observations":[{"actual":19.0,"check":"regression floating call reference 1","expected":19.0,"passed":true},{"actual":10.0,"check":"regression floating call reference 2","expected":10.0,"passed":true},{"actual":-9.0,"check":"partial repair probe 1","expected":0.0,"passed":false},{"actual":-4.5,"check":"partial repair probe 2","expected":0.0,"passed":false},{"actual":20.0,"check":"boundary control 1","expected":20.0,"passed":true},{"actual":4.5,"check":"normal control 1","expected":4.5,"passed":true},{"actual":0.65,"check":"normal control 2","expected":0.65,"passed":true},{"actual":14.0,"check":"normal control 3","expected":14.0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression floating call reference 1\", \"actual\": 19.0, \"expected\": 19.0, \"passed\": true}, {\"check\": \"regression floating call reference 2\", \"actual\": 10.0, \"expected\": 10.0, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": -9.0, \"expected\": 0.0, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": -4.5, \"expected\": 0.0, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": 20.0, \"expected\": 20.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 4.5, \"expected\": 4.5, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.65, \"expected\": 0.65, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 14.0, \"expected\": 14.0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.343,"exit_code":1,"observations":[{"actual":10.0,"check":"regression floating call reference 1","expected":19.0,"passed":false},{"actual":0.0,"check":"regression floating call reference 2","expected":10.0,"passed":false},{"actual":0.0,"check":"partial repair probe 1","expected":0.0,"passed":true},{"actual":0.0,"check":"partial repair probe 2","expected":0.0,"passed":true},{"actual":20.0,"check":"boundary control 1","expected":20.0,"passed":true},{"actual":4.5,"check":"normal control 1","expected":4.5,"passed":true},{"actual":0.65,"check":"normal control 2","expected":0.65,"passed":true},{"actual":14.0,"check":"normal control 3","expected":14.0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression floating call reference 1\", \"actual\": 10.0, \"expected\": 19.0, \"passed\": false}, {\"check\": \"regression floating call reference 2\", \"actual\": 0.0, \"expected\": 10.0, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0, \"expected\": 0.0, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 0.0, \"expected\": 0.0, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 20.0, \"expected\": 20.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 4.5, \"expected\": 4.5, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.65, \"expected\": 0.65, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 14.0, \"expected\": 14.0, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.187,"exit_code":0,"observations":[{"actual":19.0,"check":"regression floating call reference 1","expected":19.0,"passed":true},{"actual":10.0,"check":"regression floating call reference 2","expected":10.0,"passed":true},{"actual":0.0,"check":"partial repair probe 1","expected":0.0,"passed":true},{"actual":0.0,"check":"partial repair probe 2","expected":0.0,"passed":true},{"actual":20.0,"check":"boundary control 1","expected":20.0,"passed":true},{"actual":4.5,"check":"normal control 1","expected":4.5,"passed":true},{"actual":0.65,"check":"normal control 2","expected":0.65,"passed":true},{"actual":14.0,"check":"normal control 3","expected":14.0,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression floating call reference 1\", \"actual\": 19.0, \"expected\": 19.0, \"passed\": true}, {\"check\": \"regression floating call reference 2\", \"actual\": 10.0, \"expected\": 10.0, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0, \"expected\": 0.0, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 0.0, \"expected\": 0.0, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 20.0, \"expected\": 20.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 4.5, \"expected\": 4.5, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.65, \"expected\": 0.65, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 14.0, \"expected\": 14.0, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}