{"schema_version":1,"publisher":"Half on a Double","data_through":"2026-10-16","frequency":"end-of-day","methodology":"market-implied-carry-v1","generation":"market-implied-carry-analytics-20260917T000000Z","canonical_url":"https://halfonadouble.com/stock/FPS","markdown_url":"https://halfonadouble.com/stock/FPS.md","history_url":"https://halfonadouble.com/api/v1/history/FPS.csv","advanced_analysis_url":"https://halfonadouble.com/api/v1/analysis/FPS.json?date=2026-10-16&public_schema=4","definitions_url":"https://halfonadouble.com/methodology.md","license_url":"https://halfonadouble.com/terms.md","disclaimer_url":"https://halfonadouble.com/disclaimer.md","symbol":"FPS","page_tier":"A","units":{"prices":"USD per share","open_interest":"option contracts","gamma_exposure":"modeled dollar-delta change per USD 1 underlying move","gamma_exposure_normalized":"modeled gamma exposure per 100,000 open option contracts","distances":"percent of close","forward_outcomes":"close-to-close percent return"},"snapshot":{"close":31.68000030517578,"previous_close":32.369998931884766,"delta_neutral":30.127254601989,"gamma_neutral":22.729704669822535,"gamma_max":39.779208787121185,"total_open_interest":101749,"previous_open_interest":136690,"listed_contracts":207,"listed_calls":130,"listed_puts":103,"gamma_max_distance_pct":25.56568309319801,"delta_neutral_distance_pct":-4.901343712844273,"gamma_neutral_distance_pct":-28.252195546510062,"open_interest_change_1d_pct":-25.562221084205135,"call_open_interest":70363,"put_open_interest":31386,"put_call_open_interest_ratio":0.44605829768486277,"nearest_expiration_max_pain":35,"nearest_expiration_max_pain_expiry":"2026-11-20","nearest_expiration_max_pain_distance_pct":10.479796915537932,"all_expiration_max_pain":35,"net_gamma_exposure":2567901.5764989355,"net_gamma_exposure_per_100k_open_interest":2523760.9966672254,"gamma_exposure_flip":22.729704669822535,"gamma_exposure_flip_distance_pct":-28.252195546510062,"call_wall":40,"call_wall_distance_pct":26.262625046329063,"put_wall":35,"put_wall_distance_pct":10.479796915537932,"gamma_max_cross_direction":null,"delta_neutral_cross_direction":null,"open_interest_rank":607},"history_summary":{"first_date":"2026-02-11","last_date":"2026-10-16","session_count":172,"trailing_window_sessions":172,"sessions_above_gamma_max_pct":26.900584795321635,"gamma_max_cross_count":15,"delta_neutral_cross_count":10,"gamma_max_prior_sessions_closer_pct":82.94117647058825,"gamma_max_prior_comparison_sessions":170,"delta_neutral_prior_sessions_closer_pct":13.529411764705882,"delta_neutral_prior_comparison_sessions":170,"open_interest_percentile_1y":88.37209302325581,"open_interest_change_1d_contracts":-34941,"open_interest_change_z_252":null,"open_interest_change_z_comparison_sessions":170,"open_interest_change_5_sessions_pct":-25.28674019355881,"open_interest_change_21_sessions_pct":-29.646326707000863,"call_put_open_interest_changes":{"one_session":{"call_change_contracts":-27081,"put_change_contracts":-7860,"call_growth_pct":-27.79134682484299,"put_growth_pct":-20.02751872802324,"call_minus_put_growth_pp":-7.763828096819751},"five_sessions":{"call_change_contracts":-27860,"put_change_contracts":-6577,"call_growth_pct":-28.364028791627216,"put_growth_pct":-17.324763585596504,"call_minus_put_growth_pp":-11.039265206030713},"call_change_surprise":{"z_score":null,"comparison_sessions":170},"put_change_surprise":{"z_score":null,"comparison_sessions":170},"call_minus_put_growth_surprise":{"z_score":null,"comparison_sessions":153}}},"advanced_options":{"data_through":"2026-10-16","analysis_coverage":0.9444,"catalyst_score":54.547750132228195,"directional_score":7.932709076762093,"catalyst_reasons":["IV rank 100"],"features":{"price":31.68,"totalOi":140519,"analysisCoverage":0.9444,"avgIvPct":268.7,"ivRank":100,"iv52wHighPct":268.7,"iv52wLowPct":76.7,"frontDte":35,"termPremiumPp":4.4471,"riskReversalFrontPp":3.53,"riskReversal30dPp":3.53,"butterflyFrontPp":null,"butterfly30dPp":null,"putCallOiRatio":0.399,"putCallOiFrontRatio":0.252,"putCallVolumeFrontRatio":0.189,"optionVolume":7270,"volumeOiRatio":0.051737,"netDeltaNormalized":0.041648,"dealerDeltaNormalized":-0.041648,"gexPer100kOi":1477470.612515,"vannaPer100kOi":2098.648581,"charmPer100kOi":-124685.629701,"weekendDeltaShiftPer100kOi":-374057.600751,"ivSurfaceRangePp":23.8,"gammaFlipDistancePct":-4.198232,"maxPainDistancePct":10.479798,"peakCallDistancePct":2.588384,"peakPutDistancePct":-5.30303},"complete_analysis_url":"https://halfonadouble.com/api/v1/analysis/FPS.json?date=2026-10-16&public_schema=4","interpretation":"Catalyst intensity ranks unusual option pricing and activity; it does not identify the event, predict direction or recommend a trade. Directional score summarizes relative positioning under documented model conventions."},"gamma_max_cross_outcomes":[{"direction":"above","event_count":7,"completed_path_count":6,"latest_cross_date":"2026-10-06","horizons":[{"sessions":1,"sample_size":7,"median_return_pct":-1.2778213644587089,"p25_return_pct":-2.556463066984316,"p75_return_pct":1.2096001199058182,"above_zero_pct":28.57142857142857,"median_interval_low_pct":-4.284986525239143,"median_interval_high_pct":9.242253750288643,"median_interval_nominal_coverage_pct":98.4375,"confidence_floor_pct":0},{"sessions":3,"sample_size":7,"median_return_pct":1.115624890281497,"p25_return_pct":-0.8854637587124403,"p75_return_pct":3.225259645989609,"above_zero_pct":71.42857142857143,"median_interval_low_pct":-3.192260564774485,"median_interval_high_pct":8.35246795254665,"median_interval_nominal_coverage_pct":98.4375,"confidence_floor_pct":0},{"sessions":5,"sample_size":7,"median_return_pct":4.76029380213463,"p25_return_pct":-0.9923685133947147,"p75_return_pct":10.815408705057994,"above_zero_pct":57.14285714285714,"median_interval_low_pct":-12.527207971767362,"median_interval_high_pct":14.466133448489593,"median_interval_nominal_coverage_pct":98.4375,"confidence_floor_pct":0},{"sessions":10,"sample_size":6,"median_return_pct":4.884992039747759,"p25_return_pct":-4.556154170328219,"p75_return_pct":15.79203748213947,"above_zero_pct":66.66666666666666,"median_interval_low_pct":-21.486985122207404,"median_interval_high_pct":21.86727227998997,"median_interval_nominal_coverage_pct":96.875,"confidence_floor_pct":0}]},{"direction":"below","event_count":8,"completed_path_count":6,"latest_cross_date":"2026-10-07","horizons":[{"sessions":1,"sample_size":8,"median_return_pct":-0.37697172511144683,"p25_return_pct":-2.187257269269083,"p75_return_pct":2.1568045111397707,"above_zero_pct":50,"median_interval_low_pct":-2.4759496902731715,"median_interval_high_pct":3.6258465675894413,"median_interval_nominal_coverage_pct":92.96875,"confidence_floor_pct":0},{"sessions":3,"sample_size":8,"median_return_pct":1.6215079915547936,"p25_return_pct":-0.3906527420500794,"p75_return_pct":2.4197747112439716,"above_zero_pct":75,"median_interval_low_pct":-5.188457535789781,"median_interval_high_pct":3.2895839076516165,"median_interval_nominal_coverage_pct":92.96875,"confidence_floor_pct":0},{"sessions":5,"sample_size":8,"median_return_pct":2.3004922425397423,"p25_return_pct":-6.882638616900168,"p75_return_pct":4.539510425000326,"above_zero_pct":62.5,"median_interval_low_pct":-13.057875412745013,"median_interval_high_pct":6.504512320825739,"median_interval_nominal_coverage_pct":92.96875,"confidence_floor_pct":0},{"sessions":10,"sample_size":6,"median_return_pct":1.8591933651385673,"p25_return_pct":-1.0968937823625762,"p75_return_pct":4.48560757664262,"above_zero_pct":66.66666666666666,"median_interval_low_pct":-25.090679523257286,"median_interval_high_pct":32.03342305132557,"median_interval_nominal_coverage_pct":96.875,"confidence_floor_pct":0}]}],"missing_value_semantics":"null means unavailable; it never means zero","interpretation":"These are descriptive end-of-day model outputs. Signed GEX uses the published call-positive, put-negative convention and is not observed dealer inventory. None of the fields are live prices, predictions or investment advice."}