{"schema_version":1,"publisher":"Half on a Double","data_through":"2026-10-02","frequency":"end-of-day","methodology":"market-implied-carry-v1","generation":"market-implied-carry-analytics-20260917T000000Z","canonical_url":"https://halfonadouble.com/stock/CPRT","markdown_url":"https://halfonadouble.com/stock/CPRT.md","history_url":"https://halfonadouble.com/api/v1/history/CPRT.csv","advanced_analysis_url":"https://halfonadouble.com/api/v1/analysis/CPRT.json?date=2026-10-02","definitions_url":"https://halfonadouble.com/methodology.md","license_url":"https://halfonadouble.com/terms.md","disclaimer_url":"https://halfonadouble.com/disclaimer.md","symbol":"CPRT","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":27.219999313354492,"previous_close":27.290000915527344,"delta_neutral":28.12926113061185,"gamma_neutral":34.024999141693115,"gamma_max":35.51147607430738,"total_open_interest":104081,"previous_open_interest":103829,"listed_contracts":247,"listed_calls":158,"listed_puts":110,"gamma_max_distance_pct":30.460973439058765,"delta_neutral_distance_pct":3.3404182226090784,"gamma_neutral_distance_pct":25,"open_interest_change_1d_pct":0.24270675822747018,"call_open_interest":66927,"put_open_interest":37154,"put_call_open_interest_ratio":0.5551421698268263,"nearest_expiration_max_pain":30,"nearest_expiration_max_pain_expiry":"2026-10-16","nearest_expiration_max_pain_distance_pct":10.213081398872786,"all_expiration_max_pain":30,"net_gamma_exposure":-1018430.8446360278,"net_gamma_exposure_per_100k_open_interest":-978498.3278754314,"gamma_exposure_flip":34.024999141693115,"gamma_exposure_flip_distance_pct":25,"call_wall":30,"call_wall_distance_pct":10.213081398872786,"put_wall":27.5,"put_wall_distance_pct":1.028657948966721,"gamma_max_cross_direction":null,"delta_neutral_cross_direction":null,"open_interest_rank":620},"history_summary":{"first_date":"2020-12-01","last_date":"2026-10-02","session_count":1394,"trailing_window_sessions":252,"sessions_above_gamma_max_pct":3.571428571428571,"gamma_max_cross_count":8,"delta_neutral_cross_count":30,"gamma_max_prior_sessions_closer_pct":94.04761904761905,"gamma_max_prior_comparison_sessions":252,"delta_neutral_prior_sessions_closer_pct":51.98412698412699,"delta_neutral_prior_comparison_sessions":252,"open_interest_percentile_1y":90.47619047619048,"open_interest_change_1d_contracts":252,"open_interest_change_z_252":0.023573432337911246,"open_interest_change_z_comparison_sessions":252,"open_interest_change_5_sessions_pct":2.0421969058216827,"open_interest_change_21_sessions_pct":-9.182845425592252,"call_put_open_interest_changes":{"one_session":{"call_change_contracts":412,"put_change_contracts":-160,"call_growth_pct":0.6194091558295122,"put_growth_pct":-0.4287934823390685,"call_minus_put_growth_pp":1.0482026381685807},"five_sessions":{"call_change_contracts":1755,"put_change_contracts":328,"call_growth_pct":2.692874240471368,"put_growth_pct":0.8906750665290828,"call_minus_put_growth_pp":1.8021991739422851},"call_change_surprise":{"z_score":0.10125895138229203,"comparison_sessions":252},"put_change_surprise":{"z_score":-0.1390974953076551,"comparison_sessions":252},"call_minus_put_growth_surprise":{"z_score":0.20505100335059423,"comparison_sessions":252}}},"advanced_options":{"data_through":"2026-10-02","analysis_coverage":0.9444,"catalyst_score":55.14185110913443,"directional_score":28.11023622047244,"catalyst_reasons":["25Δ risk reversal -201.2 pp","OI change 0.02σ"],"features":{"symbol":"CPRT","price":27.22,"totalOi":104081,"analysisCoverage":0.9444,"avgIvPct":57.1,"ivRank":47.1,"iv52wHighPct":67.08,"iv52wLowPct":48.2,"frontDte":14,"frontAtmIvPct":33.6997,"backAtmIvPct":36.1084,"termPremiumPp":-2.4087,"expectedMoveFrontPct":6.6,"straddleFrontPct":5.14,"straddle30dPct":5.14,"riskReversalFrontPp":-201.21,"riskReversal30dPp":-201.21,"butterflyFrontPp":null,"butterfly30dPp":null,"putCallOiRatio":0.555,"putCallOiFrontRatio":0.978,"putCallVolumeFrontRatio":2.538,"optionVolume":1111,"volumeOiRatio":0.010674,"netDeltaNormalized":-0.035524,"dealerDeltaNormalized":0.035525,"gexPer100kOi":-304151.516607,"vannaPer100kOi":3690.394981,"charmPer100kOi":-184855.064805,"weekendDeltaShiftPer100kOi":-554564.233626,"ivSurfaceRangePp":108.1,"gammaFlipDistancePct":null,"maxPainDistancePct":10.213079,"peakCallDistancePct":10.213079,"peakPutDistancePct":1.028655},"complete_analysis_url":"https://halfonadouble.com/api/v1/analysis/CPRT.json?date=2026-10-02","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":31,"completed_path_count":31,"latest_cross_date":"2026-01-15","horizons":[{"sessions":1,"sample_size":31,"median_return_pct":-0.1471142681587434,"p25_return_pct":-0.6921934842661848,"p75_return_pct":0.6728362431045576,"above_zero_pct":41.935483870967744,"median_interval_low_pct":-0.44361898435973934,"median_interval_high_pct":0.47656031276053223,"median_interval_nominal_coverage_pct":92.92444540187716,"confidence_floor_pct":0},{"sessions":3,"sample_size":31,"median_return_pct":0.2955084237332706,"p25_return_pct":-0.8563934923488781,"p75_return_pct":1.1792401848176426,"above_zero_pct":64.51612903225806,"median_interval_low_pct":-0.18975524362813134,"median_interval_high_pct":0.8518231162343959,"median_interval_nominal_coverage_pct":92.92444540187716,"confidence_floor_pct":0},{"sessions":5,"sample_size":31,"median_return_pct":0.10103882225405147,"p25_return_pct":-2.2543541915401977,"p75_return_pct":1.8372970212107709,"above_zero_pct":51.61290322580645,"median_interval_low_pct":-0.8822172557269581,"median_interval_high_pct":1.2323052654025224,"median_interval_nominal_coverage_pct":92.92444540187716,"confidence_floor_pct":0},{"sessions":10,"sample_size":31,"median_return_pct":0.7505835473777811,"p25_return_pct":-2.7009271958584433,"p75_return_pct":4.173928847705588,"above_zero_pct":54.83870967741935,"median_interval_low_pct":-1.6766755641148157,"median_interval_high_pct":3.4914540168060837,"median_interval_nominal_coverage_pct":92.92444540187716,"confidence_floor_pct":0}]},{"direction":"below","event_count":30,"completed_path_count":30,"latest_cross_date":"2025-08-14","horizons":[{"sessions":1,"sample_size":30,"median_return_pct":0.18326718969573497,"p25_return_pct":-0.6343840135073969,"p75_return_pct":1.024589514415708,"above_zero_pct":53.333333333333336,"median_interval_low_pct":-0.4545468949769038,"median_interval_high_pct":0.5588431159355034,"median_interval_nominal_coverage_pct":90.1262853294611,"confidence_floor_pct":0},{"sessions":3,"sample_size":30,"median_return_pct":-0.14412472562381207,"p25_return_pct":-1.5429906516378238,"p75_return_pct":1.3439611478132218,"above_zero_pct":46.666666666666664,"median_interval_low_pct":-1.1827291140059093,"median_interval_high_pct":1.0595519792270913,"median_interval_nominal_coverage_pct":90.1262853294611,"confidence_floor_pct":0},{"sessions":5,"sample_size":30,"median_return_pct":0.4380417667153025,"p25_return_pct":-1.1656667291312095,"p75_return_pct":2.3217795789757636,"above_zero_pct":60,"median_interval_low_pct":-0.40797894273224555,"median_interval_high_pct":1.6683093147646266,"median_interval_nominal_coverage_pct":90.1262853294611,"confidence_floor_pct":0},{"sessions":10,"sample_size":30,"median_return_pct":0.4775757488909682,"p25_return_pct":-3.532808698285239,"p75_return_pct":4.533211182862185,"above_zero_pct":53.333333333333336,"median_interval_low_pct":-1.865201631566371,"median_interval_high_pct":4.03328929797524,"median_interval_nominal_coverage_pct":90.1262853294611,"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."}