{"latest_run": "2026-07-31T20:50:00.033648+00:00", "coverage_count": 6120, "result_count": 1, "page": 1, "pages": 1, "filters": {"q": "", "ticker": "PRIM", "sector": "", "industry": "", "direction": "", "min_score": 0, "page": 1}, "summary": {"total": 1, "avg_conviction": 26.7, "avg_conviction_label": "26.7", "bullish": 0, "bearish": 0, "volatility": 0, "mixed": 1, "leader": "PRIM", "leader_score": "27", "leader_direction": "mixed", "leader_direction_label": "Mixed", "leader_tone": "neutral", "leader_read": "The strongest current read is mixed, so the options tape is not giving a clean direction yet."}, "charts": {"sectors": [{"ticker__sector": "Industrials", "count": 1, "avg_score": "26.70", "sector_label": "Industrials", "industry_label": "", "sector_url": "/structure/us/industrials/", "industry_url": "", "bar_width": 100.0}], "directions": [{"direction": "mixed", "count": 1, "bar_width": 100.0}], "score_bands": [{"slug": "80-plus", "label": "80+", "min": "80", "max": null, "title": "80+ conviction options signals", "summary": "The strongest current options reads, where pressure, participation, volatility context, and trend fit are most aligned.", "count": 0, "url": "/options/conviction/80-plus/", "bar_width": 0.0}, {"slug": "60-79", "label": "60-79", "min": "60", "max": "80", "title": "60-79 conviction options signals", "summary": "Strong options setups with meaningful evidence, usually worth deeper confirmation in the ticker detail and weekly chart.", "count": 0, "url": "/options/conviction/60-79/", "bar_width": 0.0}, {"slug": "40-59", "label": "40-59", "min": "40", "max": "60", "title": "40-59 conviction options signals", "summary": "Developing options reads where the tape is active, but one or more confirmation layers still need context.", "count": 0, "url": "/options/conviction/40-59/", "bar_width": 0.0}, {"slug": "under-40", "label": "<40", "min": null, "max": "40", "title": "Under 40 conviction options signals", "summary": "Early, mixed, or lower-conviction options reads that can still be useful as watchlist context.", "count": 1, "url": "/options/conviction/under-40/", "bar_width": 100.0}]}, "signals": [{"symbol": "PRIM", "name": "Primoris Services Corporation", "exchange": "NYSE", "country": "US", "currency": "USD", "sector": "Industrials", "industry": "Engineering & Construction", "sector_url": "https://sharemaestro.com/structure/us/industrials/", "industry_url": "https://sharemaestro.com/structure/us/industrials/engineering-construction/", "direction": "mixed", "direction_label": "Mixed", "tone": "neutral", "conviction_score": 26.7, "options_pressure_score": 13.62, "trend_confirmation_score": 36.38, "speculation_score": 8.76, "volatility_score": 96.0, "edge_label": "Options-market disagreement", "insight": "PRIM shows mixed options pressure with a 27/100 conviction score, put-call volume ratio of 0.91, expected move of 17.6%, and Sharemaestro trend signal inactive.", "fetched_at": "2026-08-01T19:23:21.833931+00:00", "snapshot": {"fetched_at": "2026-08-01T19:23:21.833931+00:00", "underlying_price": 84.41, "total_contracts": 488, "call_contracts": 244, "put_contracts": 244, "call_volume": 238, "put_volume": 217, "call_open_interest": 11123, "put_open_interest": 2779, "put_call_volume_ratio": 0.91176471, "put_call_open_interest_ratio": 0.24984267, "volume_open_interest_ratio": 0.0327291, "avg_implied_volatility": 0.91607625, "max_pain_strike": 80.0, "expected_move_percent": 17.59270229, "nearest_expiration": "2026-08-21"}, "market": {"latest_close": 84.41, "one_week_change": -2.4274650329441685, "one_week_change_label": "-2.4%", "relative_strength": -39.821996, "fair_value_gap_label": "+6.4%", "trend_signal": "0"}, "premium_flags": [{"label": "Priced move", "value": "17.6%", "detail": "Options are pricing a wider near-term move."}], "intent": {"slug": "earningsevent-positioning", "label": "Earnings/event positioning", "tone": "warning", "confidence": 80.4, "confidence_label": "80/100", "summary": "Options activity is concentrated around a live event window, so the cleanest read is event positioning rather than pure direction.", "evidence": [{"label": "Notional split", "value": "C 25% / P 75%", "detail": "Estimated gross traded notional uses volume \u00d7 contract multiplier \u00d7 midpoint, or last price when no valid midpoint is available."}, {"label": "Freshness", "value": "0.03", "detail": "Volume divided by open interest across the visible chain."}, {"label": "Trend fit", "value": "36/100", "detail": "Agreement between options pressure and Sharemaestro market context."}, {"label": "Event window", "value": "3 Aug", "detail": "Matched earnings event is 2 days away."}], "watchouts": ["Aggregate chain data does not identify trade aggressor or opening versus closing activity; call/put concentration is not proof of market direction."]}, "flow_divergence": {"label": "No clean flow/price divergence", "tone": "neutral", "score": 15.0, "score_label": "15/100", "summary": "The options read is mixed, so divergence is not strong enough to classify.", "metrics": [{"label": "Options pressure", "value": "+14"}, {"label": "1W price", "value": "-2.4%"}, {"label": "Call premium", "value": "25%"}, {"label": "Put premium", "value": "75%"}]}, "conviction_clusters": [{"label": "Puts \u00b7 91+ days \u00b7 ITM", "tone": "negative", "volume": 100, "open_interest": 472, "premium": 251500.0, "premium_label": "$251500", "premium_share": 47.86806305641865, "weighted_strike": 100.0, "avg_iv": 0.7941979411764706, "max_voi": 0.58479532, "why": "puts cluster with 100 contracts traded, $251500 estimated gross traded notional, and 48% of visible notional."}, {"label": "Puts \u00b7 91+ days \u00b7 OTM", "tone": "negative", "volume": 103, "open_interest": 566, "premium": 131155.0, "premium_label": "$131155", "premium_share": 24.96276664081347, "weighted_strike": 79.51456310679612, "avg_iv": 0.8339452173913043, "max_voi": 1.0, "why": "puts cluster with 103 contracts traded, $131155 estimated gross traded notional, and 25% of visible notional."}, {"label": "Calls \u00b7 91+ days \u00b7 OTM", "tone": "positive", "volume": 211, "open_interest": 2778, "premium": 116940.0, "premium_label": "$116940", "premium_share": 22.25722184420516, "weighted_strike": 150.92417061611374, "avg_iv": 0.7412451515151515, "max_voi": 0.27472527, "why": "calls cluster with 211 contracts traded, $116940 estimated gross traded notional, and 22% of visible notional."}, {"label": "Calls \u00b7 91+ days \u00b7 ITM", "tone": "positive", "volume": 4, "open_interest": 439, "premium": 9660.0, "premium_label": "$9660", "premium_share": 1.838590414015921, "weighted_strike": 70.0, "avg_iv": 0.8343721428571429, "max_voi": 0.57142857, "why": "calls cluster with 4 contracts traded, $9660 estimated gross traded notional, and 2% of visible notional."}, {"label": "Puts \u00b7 8-21 days \u00b7 ITM", "tone": "negative", "volume": 9, "open_interest": 377, "premium": 8330.0, "premium_label": "$8330", "premium_share": 1.5854511541151783, "weighted_strike": 88.05555555555556, "avg_iv": 1.388286111111111, "max_voi": 0.2, "why": "puts cluster with 9 contracts traded, $8330 estimated gross traded notional, and 2% of visible notional."}], "why_this_matters": "Earnings/event positioning matters because it connects the options headline to the actual evidence: $525402 of estimated gross traded notional, puts \u00b7 91+ days \u00b7 itm, and a no clean flow/price divergence backdrop. Use it as a research priority signal, then validate the chart, liquidity, event calendar, and risk before acting.", "detail_url": "https://sharemaestro.com/options/ticker/2191f6f2-6511-4b1d-a7e8-dae20c5c326d/", "research_links": {"chart": "/terminal/2191f6f2-6511-4b1d-a7e8-dae20c5c326d/", "report": "/terminal/2191f6f2-6511-4b1d-a7e8-dae20c5c326d/report/", "factor": "/factors/ticker/2191f6f2-6511-4b1d-a7e8-dae20c5c326d/", "insider": "/insider-activity/company/prim/"}}], "disclaimer": "Educational market research only. Not financial, investment, trading, tax, or legal advice."}