{"ticker": {"uuid": "1984be6a-45d3-4ec0-9045-8734add60624", "symbol": "CECO", "name": "CECO Environmental Corp.", "exchange": "NASDAQ", "asset_type": "equity"}, "latest_week": "2026-06-12", "summary": "CECO closed the latest completed week at 96.74 USD. The 4-week return is 19.7% and the 12-week return is 75.0%. Trend Signal is active, Market Dynamics is 0.97.", "description": "CECO Environmental Corporation. The company is headquartered in Dallas, Texas.", "setup_signature": "Leadership continuation", "composite_score": "83", "kpis": [{"label": "Latest Close", "value": "96.74 USD", "hint": "2026-06-12"}, {"label": "1W Return", "value": "24.0%", "tone": "positive", "hint": "latest completed week"}, {"label": "4W Return", "value": "19.7%", "tone": "positive", "hint": "short-term follow-through"}, {"label": "12W Return", "value": "75.0%", "tone": "positive", "hint": "quarterly tape"}, {"label": "Trend Breadth", "value": "88.5%", "hint": "46 of 52 weeks active"}, {"label": "Volume Ratio", "value": "1.4x", "hint": "vs 13-week average"}], "classification": {"exchange": "NASDAQ", "country": "US", "sector": "Industrials", "industry": "Pollution & Treatment Controls", "currency": "USD", "market_cap": "2.7B"}, "price": {"trend_line": "66.72 USD", "fair_value": "34.24 USD", "vs_trend": "45.0%", "vs_fair_value": "182.5%", "high_52": "101.2 USD", "low_52": "27.50 USD", "drawdown": "-4.4%", "range_position": "93.9%"}, "momentum": {"returns": [{"label": "1W", "value": 23.993847731350932, "value_label": "24.0%", "tone": "positive", "width": 68.55385066100267}, {"label": "4W", "value": 19.668480950024726, "value_label": "19.7%", "tone": "positive", "width": 56.1956598572135}, {"label": "12W", "value": 74.99999999999999, "value_label": "75.0%", "tone": "positive", "width": 100}, {"label": "26W", "value": 58.69422572178477, "value_label": "58.7%", "tone": "positive", "width": 100}, {"label": "52W", "value": 248.6126126126126, "value_label": "248.6%", "tone": "positive", "width": 100}], "trend_streak": 11, "active_weeks": 46, "active_breadth": "88.5%", "peer": {"scope": "US Industrials", "count": 664, "rank": 18, "percentile": 97.43589743589743, "avg_weekly_return": 1.6472924370861337}}, "setup": {"scores": [{"label": "Trend", "value": 86.73076923076923, "value_label": "87", "width": 86.73076923076923, "tone": "positive", "description": "Persistence of active Trend Signal over the last year and current streak."}, {"label": "Momentum", "value": 100, "value_label": "100", "width": 100, "tone": "positive", "description": "Blend of 4-week and 12-week follow-through."}, {"label": "Dynamics", "value": 97.9485097690135, "value_label": "98", "width": 97.9485097690135, "tone": "positive", "description": "Latest Market Dynamics and whether pressure has improved over four weeks."}, {"label": "Relative Strength", "value": 100, "value_label": "100", "width": 100, "tone": "positive", "description": "Relative leadership and short-term RS change."}, {"label": "Volume", "value": 57.380966230054256, "value_label": "57", "width": 57.380966230054256, "tone": "neutral", "description": "Participation compared with the 13-week volume baseline."}, {"label": "Risk Control", "value": 58.69429663938543, "value_label": "59", "width": 58.69429663938543, "tone": "neutral", "description": "Drawdown and recent weekly volatility pressure."}], "timeline": [{"week": "27 Feb", "return": -23.267326732673265, "return_label": "-23.3%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 100}, {"week": "6 Mar", "return": -13.101736972704717, "return_label": "-13.1%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 100}, {"week": "13 Mar", "return": 3.7502379592613724, "return_label": "3.8%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 31.251982993844766}, {"week": "20 Mar", "return": 1.4311926605504608, "return_label": "1.4%", "tone": "positive", "trend": false, "buy_signal": false, "positive_md": false, "height": 11.926605504587172}, {"week": "27 Mar", "return": 10.256874095513751, "return_label": "10.3%", "tone": "positive", "trend": false, "buy_signal": false, "positive_md": false, "height": 85.47395079594793}, {"week": "2 Apr", "return": 2.018047579983588, "return_label": "2.0%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": false, "height": 16.8170631665299}, {"week": "10 Apr", "return": 3.3129623673206745, "return_label": "3.3%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": false, "height": 27.60801972767229}, {"week": "17 Apr", "return": 1.6033623910336259, "return_label": "1.6%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": false, "height": 13.361353258613548}, {"week": "24 Apr", "return": -0.5898575149379361, "return_label": "-0.6%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": false, "height": 4.9154792911494685}, {"week": "1 May", "return": 14.510287431609758, "return_label": "14.5%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": false, "height": 100}, {"week": "8 May", "return": 10.067294751009428, "return_label": "10.1%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": false, "height": 83.89412292507856}, {"week": "15 May", "return": -1.149425287356319, "return_label": "-1.1%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 9.578544061302658}, {"week": "22 May", "return": 1.0761999010390777, "return_label": "1.1%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 8.968332508658982}, {"week": "29 May", "return": -8.517929262024225, "return_label": "-8.5%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 70.98274385020189}, {"week": "5 Jun", "return": 4.3745819397993255, "return_label": "4.4%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 36.45484949832771}, {"week": "12 Jun", "return": 23.993847731350932, "return_label": "24.0%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 100}]}, "groups": {"sector": {"scope": "US Industrials", "count": 100, "avg_weekly_return": 1.3416835961300608, "avg_four_week_return": 3.9919056374990105, "avg_twelve_week_return": 12.883679276122864, "trend_breadth": 52.0, "positive_md_breadth": 45.0, "positive_rs_breadth": 48.0, "week_rank": null, "four_week_rank": null, "twelve_week_rank": null, "top_peers": [{"id": 1460, "symbol": "FDX", "name": "FedEx Corporation", "exchange": "NYSE", "url": "/terminal/58bbb408-f616-4154-8e5a-45305051ce09/report/", "weekly_return": 2.208459214501511, "weekly_return_label": "2.2%", "weekly_return_tone": "positive", "four_week_return": 38.19237623814953, "four_week_return_label": "38.2%", "four_week_return_tone": "positive", "twelve_week_return": -5.72384004458688, "twelve_week_return_label": "-5.7%", "twelve_week_return_tone": "negative", "trend_active": false, "positive_md": false, "positive_rs": true}, {"id": 861, "symbol": "CRS", "name": "Carpenter Technology Corporation", "exchange": "NYSE", "url": "/terminal/ab8d3913-8bd1-406f-9ec0-ceee1154b06f/report/", "weekly_return": 16.106286186931346, "weekly_return_label": "16.1%", "weekly_return_tone": "positive", "four_week_return": 37.307118577751694, "four_week_return_label": "37.3%", "four_week_return_tone": "positive", "twelve_week_return": 55.00890592406831, "twelve_week_return_label": "55.0%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 279, "symbol": "ATI", "name": "Allegheny Technologies Incorporated", "exchange": "NYSE", "url": "/terminal/0802cf34-ceb2-4495-9663-4626c3935957/report/", "weekly_return": 11.838620611934408, "weekly_return_label": "11.8%", "weekly_return_tone": "positive", "four_week_return": 28.69926079626507, "four_week_return_label": "28.7%", "four_week_return_tone": "positive", "twelve_week_return": 39.97179125528912, "twelve_week_return_label": "40.0%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 8693, "symbol": "UAL", "name": "United Airlines Holdings Inc", "exchange": "NASDAQ", "url": "/terminal/d4e9af52-c5f8-473a-9110-57dbcd7c3f9e/report/", "weekly_return": 9.259434408398743, "weekly_return_label": "9.3%", "weekly_return_tone": "positive", "four_week_return": 24.415724286483577, "four_week_return_label": "24.4%", "four_week_return_tone": "positive", "twelve_week_return": 28.42690383546414, "twelve_week_return_label": "28.4%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}, {"id": 7469, "symbol": "ODFL", "name": "Old Dominion Freight Line Inc", "exchange": "NASDAQ", "url": "/terminal/99ff4189-ce9b-4046-81bc-8230f52946fa/report/", "weekly_return": 1.310961784227236, "weekly_return_label": "1.3%", "weekly_return_tone": "positive", "four_week_return": 21.13621082974977, "four_week_return_label": "21.1%", "four_week_return_tone": "positive", "twelve_week_return": 33.61787733797304, "twelve_week_return_label": "33.6%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}]}, "industry": {"scope": "US Pollution & Treatment Controls", "count": 14, "avg_weekly_return": -5.955894582680301, "avg_four_week_return": -3.385010453678959, "avg_twelve_week_return": 7.579043172470214, "trend_breadth": 28.57142857142857, "positive_md_breadth": 57.14285714285714, "positive_rs_breadth": 7.142857142857142, "week_rank": 1, "four_week_rank": 2, "twelve_week_rank": 1, "top_peers": [{"id": 5657, "symbol": "DEVS", "name": "DevvStream Corp. Common Stock", "exchange": "NASDAQ", "url": "/terminal/06304d34-0f1b-4478-8279-40a500a50f4b/report/", "weekly_return": -55.1801413549388, "weekly_return_label": "-55.2%", "weekly_return_tone": "negative", "four_week_return": 37.56613756613757, "four_week_return_label": "37.6%", "four_week_return_tone": "positive", "twelve_week_return": -66.8070981743904, "twelve_week_return_label": "-66.8%", "twelve_week_return_tone": "negative", "trend_active": false, "positive_md": true, "positive_rs": false}, {"id": 5282, "symbol": "CECO", "name": "CECO Environmental Corp.", "exchange": "NASDAQ", "url": "/terminal/1984be6a-45d3-4ec0-9045-8734add60624/report/", "weekly_return": 23.993847731350932, "weekly_return_label": "24.0%", "weekly_return_tone": "positive", "four_week_return": 19.668480950024726, "four_week_return_label": "19.7%", "four_week_return_tone": "positive", "twelve_week_return": 74.99999999999999, "twelve_week_return_label": "75.0%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 5412, "symbol": "CLWT", "name": "Euro Tech Holdings Company Ltd", "exchange": "NASDAQ", "url": "/terminal/20574c90-f221-450e-9eb9-773ced8e167c/report/", "weekly_return": 4.065040650406507, "weekly_return_label": "4.1%", "weekly_return_tone": "positive", "four_week_return": 6.666666666666673, "four_week_return_label": "6.7%", "four_week_return_tone": "positive", "twelve_week_return": 9.40170940170941, "twelve_week_return_label": "9.4%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": false}, {"id": 4626, "symbol": "ADUR", "name": "Aduro Clean Technologies Inc. Common Stock", "exchange": "NASDAQ", "url": "/terminal/d31516ac-c249-42a1-9a72-26e6a509f93d/report/", "weekly_return": 1.2838801711840209, "weekly_return_label": "1.3%", "weekly_return_tone": "positive", "four_week_return": 3.197674418604648, "four_week_return_label": "3.2%", "four_week_return_tone": "positive", "twelve_week_return": 31.117266851338865, "twelve_week_return_label": "31.1%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": false}, {"id": 4850, "symbol": "ARQ", "name": "Arq Inc", "exchange": "NASDAQ", "url": "/terminal/d1c7922c-578b-4708-9608-edd4258a363d/report/", "weekly_return": 3.0769230769230793, "weekly_return_label": "3.1%", "weekly_return_tone": "positive", "four_week_return": 2.2900763358778646, "four_week_return_label": "2.3%", "four_week_return_tone": "positive", "twelve_week_return": 34.673366834170864, "twelve_week_return_label": "34.7%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}]}}, "dynamics": {"market_dynamics": "0.97", "market_dynamics_tone": "positive", "md_4_change": "380.7%", "relative_strength": "45.48", "rs_4_change": "48.9%", "expectation": "Positive", "expectation_probability": "56.39%"}, "volume": {"latest": "5.2M", "average_13": "3.8M", "average_52": "2.6M", "ratio_13": "1.4x", "ratio_52": "2.0x"}, "risk": {"volatility_13": "7.9%", "volatility_52": "7.9%", "downside_weeks": 15, "upside_weeks": 37, "downside_breadth": "28.8%", "average_gain": "6.0%", "average_loss": "-5.2%"}, "signals": [{"label": "Trend Signal", "value": "Active", "tone": "positive"}, {"label": "Market Dynamics", "value": "No fresh buy", "tone": "neutral"}, {"label": "Price vs Trend", "value": "45.0%", "tone": "positive"}, {"label": "Volume", "value": "1.4x", "tone": "neutral"}], "opportunities": ["Trend Signal is active with a 11-week active streak.", "Price is above the Trend Line, keeping the weekly tape constructive.", "Price is above Fair Value, showing premium demand versus the model.", "Market Dynamics is positive on the latest completed week."], "risks": ["No major top-level risk cluster is currently dominant."], "watch_points": ["Price is close to its 52-week high; watch for continuation or exhaustion.", "Trend Line remains the key weekly regime level.", "Market Dynamics is the pressure gauge to monitor for confirmation or fade.", "A volume ratio above 1.5x would show stronger participation in the next move."], "recent_rows": [{"week": "2026-06-12", "close": "96.74 USD", "weekly_return": 23.993847731350932, "weekly_return_label": "24.0%", "weekly_return_tone": "positive", "trend_line": "66.72 USD", "fair_value": "34.24 USD", "market_dynamics": "0.97", "relative_strength": "45.48", "volume": "5.2M", "trend_signal": "On"}, {"week": "2026-06-05", "close": "78.02 USD", "weekly_return": 4.3745819397993255, "weekly_return_label": "4.4%", "weekly_return_tone": "positive", "trend_line": "65.14 USD", "fair_value": "33.71 USD", "market_dynamics": "0.64", "relative_strength": "22.11", "volume": "6.1M", "trend_signal": "On"}, {"week": "2026-05-29", "close": "74.75 USD", "weekly_return": -8.517929262024225, "weekly_return_label": "-8.5%", "weekly_return_tone": "negative", "trend_line": "64.32 USD", "fair_value": "33.29 USD", "market_dynamics": "0.52", "relative_strength": "13.18", "volume": "6.2M", "trend_signal": "On"}, {"week": "2026-05-22", "close": "81.71 USD", "weekly_return": 1.0761999010390777, "weekly_return_label": "1.1%", "weekly_return_tone": "positive", "trend_line": "63.46 USD", "fair_value": "32.89 USD", "market_dynamics": "0.47", "relative_strength": "28.67", "volume": "3.2M", "trend_signal": "On"}, {"week": "2026-05-15", "close": "80.84 USD", "weekly_return": -1.149425287356319, "weekly_return_label": "-1.1%", "weekly_return_tone": "negative", "trend_line": "62.47 USD", "fair_value": "32.44 USD", "market_dynamics": "0.20", "relative_strength": "30.54", "volume": "3.0M", "trend_signal": "On"}, {"week": "2026-05-08", "close": "81.78 USD", "weekly_return": 10.067294751009428, "weekly_return_label": "10.1%", "weekly_return_tone": "positive", "trend_line": "61.41 USD", "fair_value": "32.00 USD", "market_dynamics": "-0.04", "relative_strength": "33.46", "volume": "6.1M", "trend_signal": "On"}, {"week": "2026-05-01", "close": "74.30 USD", "weekly_return": 14.510287431609758, "weekly_return_label": "14.5%", "weekly_return_tone": "positive", "trend_line": "60.34 USD", "fair_value": "31.55 USD", "market_dynamics": "-0.38", "relative_strength": "29.77", "volume": "5.5M", "trend_signal": "On"}, {"week": "2026-04-24", "close": "64.89 USD", "weekly_return": -0.5898575149379361, "weekly_return_label": "-0.6%", "weekly_return_tone": "negative", "trend_line": "59.54 USD", "fair_value": "31.15 USD", "market_dynamics": "-0.64", "relative_strength": "16.58", "volume": "2.0M", "trend_signal": "On"}, {"week": "2026-04-17", "close": "65.27 USD", "weekly_return": 1.6033623910336259, "weekly_return_label": "1.6%", "weekly_return_tone": "positive", "trend_line": "59.02 USD", "fair_value": "30.81 USD", "market_dynamics": "-0.66", "relative_strength": "21.53", "volume": "1.6M", "trend_signal": "On"}, {"week": "2026-04-10", "close": "64.24 USD", "weekly_return": 3.3129623673206745, "weekly_return_label": "3.3%", "weekly_return_tone": "positive", "trend_line": "58.47 USD", "fair_value": "30.47 USD", "market_dynamics": "-0.76", "relative_strength": "28.71", "volume": "2.2M", "trend_signal": "On"}, {"week": "2026-04-02", "close": "62.18 USD", "weekly_return": 2.018047579983588, "weekly_return_label": "2.0%", "weekly_return_tone": "positive", "trend_line": "57.94 USD", "fair_value": "30.14 USD", "market_dynamics": "-0.87", "relative_strength": "32.00", "volume": "2.0M", "trend_signal": "On"}, {"week": "2026-03-27", "close": "60.95 USD", "weekly_return": 10.256874095513751, "weekly_return_label": "10.3%", "weekly_return_tone": "positive", "trend_line": "57.44 USD", "fair_value": "29.83 USD", "market_dynamics": "-0.86", "relative_strength": "36.47", "volume": "3.2M", "trend_signal": "Off"}, {"week": "2026-03-20", "close": "55.28 USD", "weekly_return": 1.4311926605504608, "weekly_return_label": "1.4%", "weekly_return_tone": "positive", "trend_line": "56.92 USD", "fair_value": "29.52 USD", "market_dynamics": "-0.63", "relative_strength": "21.48", "volume": "3.4M", "trend_signal": "Off"}, {"week": "2026-03-13", "close": "54.50 USD", "weekly_return": 3.7502379592613724, "weekly_return_label": "3.8%", "weekly_return_tone": "positive", "trend_line": "56.68 USD", "fair_value": "29.26 USD", "market_dynamics": "0.03", "relative_strength": "18.70", "volume": "3.4M", "trend_signal": "On"}], "chart_url": "/terminal/1984be6a-45d3-4ec0-9045-8734add60624/", "api_path": "/terminal/1984be6a-45d3-4ec0-9045-8734add60624/report/api/"}