{"ticker": {"uuid": "875abcbc-38da-4ca2-ac70-2ed714f65dbc", "symbol": "KLR", "name": "Keller Group plc", "exchange": "LSE", "asset_type": "equity"}, "latest_week": "2026-06-12", "summary": "KLR closed the latest completed week at 2,640 GBP. The 4-week return is 13.9% and the 12-week return is 33.4%. Trend Signal is active, Market Dynamics is 0.94.", "description": "Keller Group plc provides specialist geotechnical services in North America, Europe, the Middle East, and the Asia-Pacific. The company offers ground engineering solutions, including ground improvement services, grouting, deep foundations, earth retention, marine, and instrumentation and monitoring services, as well as post-tension systems and industrial services. It also provides bearing capacity/ settlement control, low carbon construction, containment, excavation support, stabilization, marine structures, seepage control, slope stabilization, and monitoring solutions. In addition, it provides environmental remediation and demolition. The company provides its services to the construction sector in commercial, industrial, infrastructure, institutional/public buildings, power, and residential markets. Keller Group plc was founded in 1860 and is headquartered in London, the United Kingdom.", "setup_signature": "Leadership continuation", "composite_score": "78", "kpis": [{"label": "Latest Close", "value": "2,640 GBP", "hint": "2026-06-12"}, {"label": "1W Return", "value": "9.2%", "tone": "positive", "hint": "latest completed week"}, {"label": "4W Return", "value": "13.9%", "tone": "positive", "hint": "short-term follow-through"}, {"label": "12W Return", "value": "33.4%", "tone": "positive", "hint": "quarterly tape"}, {"label": "Trend Breadth", "value": "71.2%", "hint": "37 of 52 weeks active"}, {"label": "Volume Ratio", "value": "0.8x", "hint": "vs 13-week average"}], "classification": {"exchange": "LSE", "country": "GB", "sector": "Industrials", "industry": "Engineering & Construction", "currency": "GBP", "market_cap": "1.6B"}, "price": {"trend_line": "1,985 GBP", "fair_value": "1,374 GBP", "vs_trend": "33.0%", "vs_fair_value": "92.1%", "high_52": "2,644 GBP", "low_52": "1,238 GBP", "drawdown": "-0.2%", "range_position": "99.7%"}, "momentum": {"returns": [{"label": "1W", "value": 9.181141439205955, "value_label": "9.2%", "tone": "positive", "width": 26.23183268344559}, {"label": "4W", "value": 13.916241602450649, "value_label": "13.9%", "tone": "positive", "width": 39.76069029271614}, {"label": "12W", "value": 33.362554416102405, "value_label": "33.4%", "tone": "positive", "width": 95.32158404600686}, {"label": "26W", "value": 64.01109336990828, "value_label": "64.0%", "tone": "positive", "width": 100}, {"label": "52W", "value": 73.06234832265139, "value_label": "73.1%", "tone": "positive", "width": 100}], "trend_streak": 33, "active_weeks": 37, "active_breadth": "71.2%", "peer": {"scope": "GB Industrials", "count": 169, "rank": 6, "percentile": 97.02380952380952, "avg_weekly_return": -0.5217109706605855}}, "setup": {"scores": [{"label": "Trend", "value": 84.13461538461539, "value_label": "84", "width": 84.13461538461539, "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": 64.96055665338582, "value_label": "65", "width": 64.96055665338582, "tone": "neutral", "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": 35.04698940185696, "value_label": "35", "width": 35.04698940185696, "tone": "neutral", "description": "Participation compared with the 13-week volume baseline."}, {"label": "Risk Control", "value": 81.55246372632394, "value_label": "82", "width": 81.55246372632394, "tone": "positive", "description": "Drawdown and recent weekly volatility pressure."}], "timeline": [{"week": "27 Feb", "return": -0.24752458468532745, "return_label": "-0.2%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 4}, {"week": "6 Mar", "return": 4.714637342132204, "return_label": "4.7%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 39.28864451776837}, {"week": "13 Mar", "return": 0.7109058408922493, "return_label": "0.7%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 5.924215340768744}, {"week": "20 Mar", "return": -6.82353085750706, "return_label": "-6.8%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 56.86275714589216}, {"week": "27 Mar", "return": -2.828279856200133, "return_label": "-2.8%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 23.568998801667775}, {"week": "3 Apr", "return": 2.4947970787015823, "return_label": "2.5%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 20.78997565584652}, {"week": "10 Apr", "return": 8.722114238592189, "return_label": "8.7%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 72.68428532160158}, {"week": "17 Apr", "return": 2.891786963813051, "return_label": "2.9%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 24.098224698442092}, {"week": "24 Apr", "return": -0.18131915200156765, "return_label": "-0.2%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 4}, {"week": "1 May", "return": 1.453221192495068, "return_label": "1.5%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 12.110176604125567}, {"week": "8 May", "return": 7.520140834368264, "return_label": "7.5%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 62.667840286402196}, {"week": "15 May", "return": -3.497079620028453, "return_label": "-3.5%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 29.142330166903776}, {"week": "22 May", "return": 1.7256243713387516, "return_label": "1.7%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 14.380203094489596}, {"week": "29 May", "return": 0.44609442462763627, "return_label": "0.4%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 4}, {"week": "5 Jun", "return": 2.1114864864864864, "return_label": "2.1%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 17.59572072072072}, {"week": "12 Jun", "return": 9.181141439205955, "return_label": "9.2%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 76.50951199338296}]}, "groups": {"sector": {"scope": "GB Industrials", "count": 100, "avg_weekly_return": -0.23609763603093434, "avg_four_week_return": 3.3994647111144762, "avg_twelve_week_return": 13.186462629632116, "trend_breadth": 42.0, "positive_md_breadth": 55.00000000000001, "positive_rs_breadth": 36.0, "week_rank": 2, "four_week_rank": 14, "twelve_week_rank": 15, "top_peers": [{"id": 28041, "symbol": "EZJ", "name": "easyJet plc", "exchange": "LSE", "url": "/terminal/0e98ed81-29e9-4061-acdd-dad07a467426/report/", "weekly_return": 5.999573305077631, "weekly_return_label": "6.0%", "weekly_return_tone": "positive", "four_week_return": 45.26437610931867, "four_week_return_label": "45.3%", "four_week_return_tone": "positive", "twelve_week_return": 41.4027125327594, "twelve_week_return_label": "41.4%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": true}, {"id": 29044, "symbol": "IES", "name": "Invinity Energy Systems plc", "exchange": "LSE", "url": "/terminal/390787ca-3872-47b5-8252-c3d1a96ee5c2/report/", "weekly_return": -20.51282051282051, "weekly_return_label": "-20.5%", "weekly_return_tone": "negative", "four_week_return": 38.39285714285715, "four_week_return_label": "38.4%", "four_week_return_tone": "positive", "twelve_week_return": 82.35294117647058, "twelve_week_return_label": "82.4%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 27629, "symbol": "DIA", "name": "Dialight plc", "exchange": "LSE", "url": "/terminal/7446a95f-b61d-4009-93cb-4c448662067e/report/", "weekly_return": -2.8871391076115485, "weekly_return_label": "-2.9%", "weekly_return_tone": "negative", "four_week_return": 27.586206896551722, "four_week_return_label": "27.6%", "four_week_return_tone": "positive", "twelve_week_return": 34.05797101449276, "twelve_week_return_label": "34.1%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 29819, "symbol": "LUCE", "name": "Luceco plc", "exchange": "LSE", "url": "/terminal/68d790a2-5c82-4408-8d67-c5381d145c5d/report/", "weekly_return": 6.61764705882353, "weekly_return_label": "6.6%", "weekly_return_tone": "positive", "four_week_return": 23.931623931623932, "four_week_return_label": "23.9%", "four_week_return_tone": "positive", "twelve_week_return": 79.050915677805, "twelve_week_return_label": "79.1%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 28612, "symbol": "HAS", "name": "Hays plc", "exchange": "LSE", "url": "/terminal/72d1a616-999a-4335-8b46-944b69cf4528/report/", "weekly_return": 6.221197977500048, "weekly_return_label": "6.2%", "weekly_return_tone": "positive", "four_week_return": 23.015346897931956, "four_week_return_label": "23.0%", "four_week_return_tone": "positive", "twelve_week_return": 17.079368253968255, "twelve_week_return_label": "17.1%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}]}, "industry": {"scope": "GB Engineering & Construction", "count": 17, "avg_weekly_return": 1.0518301284298357, "avg_four_week_return": 2.0728284945609077, "avg_twelve_week_return": 11.060050465087771, "trend_breadth": 47.05882352941176, "positive_md_breadth": 47.05882352941176, "positive_rs_breadth": 47.05882352941176, "week_rank": 1, "four_week_rank": 1, "twelve_week_rank": 4, "top_peers": [{"id": 29614, "symbol": "KLR", "name": "Keller Group plc", "exchange": "LSE", "url": "/terminal/875abcbc-38da-4ca2-ac70-2ed714f65dbc/report/", "weekly_return": 9.181141439205955, "weekly_return_label": "9.2%", "weekly_return_tone": "positive", "four_week_return": 13.916241602450649, "four_week_return_label": "13.9%", "four_week_return_tone": "positive", "twelve_week_return": 33.362554416102405, "twelve_week_return_label": "33.4%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 31416, "symbol": "TGP", "name": "Tekmar Group plc", "exchange": "LSE", "url": "/terminal/6d26afba-5ff5-4311-99d1-664038dd31c2/report/", "weekly_return": 1.694915254237288, "weekly_return_label": "1.7%", "weekly_return_tone": "positive", "four_week_return": 13.20754716981132, "four_week_return_label": "13.2%", "four_week_return_tone": "positive", "twelve_week_return": 42.857142857142854, "twelve_week_return_label": "42.9%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 28711, "symbol": "HILS", "name": "Hill & Smith PLC", "exchange": "LSE", "url": "/terminal/bb251687-c972-4515-b384-9c3e7a2e4f34/report/", "weekly_return": 1.7889087656529516, "weekly_return_label": "1.8%", "weekly_return_tone": "positive", "four_week_return": 11.582600918214439, "four_week_return_label": "11.6%", "four_week_return_tone": "positive", "twelve_week_return": 37.12560027406304, "twelve_week_return_label": "37.1%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 26795, "symbol": "BAB", "name": "Babcock International Group PLC", "exchange": "LSE", "url": "/terminal/fa6c09a3-de57-416a-a2e1-2fcdb9d137a9/report/", "weekly_return": -0.0966183574879227, "weekly_return_label": "-0.1%", "weekly_return_tone": "negative", "four_week_return": 8.045977011494253, "four_week_return_label": "8.0%", "four_week_return_tone": "positive", "twelve_week_return": -18.901960784313726, "twelve_week_return_label": "-18.9%", "twelve_week_return_tone": "negative", "trend_active": false, "positive_md": false, "positive_rs": false}, {"id": 26832, "symbol": "BBY", "name": "Balfour Beatty plc", "exchange": "LSE", "url": "/terminal/96fae723-278c-43c5-90b9-bb14750dc56e/report/", "weekly_return": 3.2615384615384615, "weekly_return_label": "3.3%", "weekly_return_tone": "positive", "four_week_return": 4.2883778744561845, "four_week_return_label": "4.3%", "four_week_return_tone": "positive", "twelve_week_return": 12.63064483581378, "twelve_week_return_label": "12.6%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": false, "positive_rs": true}]}}, "dynamics": {"market_dynamics": "0.94", "market_dynamics_tone": "positive", "md_4_change": "-23.5%", "relative_strength": "42.23", "rs_4_change": "33.4%", "expectation": "Positive", "expectation_probability": "60.97%"}, "volume": {"latest": "881.0K", "average_13": "1.1M", "average_52": "773.9K", "ratio_13": "0.8x", "ratio_52": "1.1x"}, "risk": {"volatility_13": "4.5%", "volatility_52": "3.8%", "downside_weeks": 19, "upside_weeks": 33, "downside_breadth": "36.5%", "average_gain": "3.3%", "average_loss": "-2.7%"}, "signals": [{"label": "Trend Signal", "value": "Active", "tone": "positive"}, {"label": "Market Dynamics", "value": "No fresh buy", "tone": "neutral"}, {"label": "Price vs Trend", "value": "33.0%", "tone": "positive"}, {"label": "Volume", "value": "0.8x", "tone": "neutral"}], "opportunities": ["Trend Signal is active with a 33-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.", "Latest weekly return ranks in the strongest part of its sector group."], "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": "2,640 GBP", "weekly_return": 9.181141439205955, "weekly_return_label": "9.2%", "weekly_return_tone": "positive", "trend_line": "1,985 GBP", "fair_value": "1,374 GBP", "market_dynamics": "0.94", "relative_strength": "42.23", "volume": "881.0K", "trend_signal": "On"}, {"week": "2026-06-05", "close": "2,418 GBP", "weekly_return": 2.1114864864864864, "weekly_return_label": "2.1%", "weekly_return_tone": "positive", "trend_line": "1,949 GBP", "fair_value": "1,362 GBP", "market_dynamics": "0.90", "relative_strength": "32.72", "volume": "622.3K", "trend_signal": "On"}, {"week": "2026-05-29", "close": "2,368 GBP", "weekly_return": 0.44609442462763627, "weekly_return_label": "0.4%", "weekly_return_tone": "positive", "trend_line": "1,917 GBP", "fair_value": "1,350 GBP", "market_dynamics": "0.98", "relative_strength": "30.35", "volume": "994.0K", "trend_signal": "On"}, {"week": "2026-05-22", "close": "2,357 GBP", "weekly_return": 1.7256243713387516, "weekly_return_label": "1.7%", "weekly_return_tone": "positive", "trend_line": "1,891 GBP", "fair_value": "1,339 GBP", "market_dynamics": "1.12", "relative_strength": "29.82", "volume": "1.1M", "trend_signal": "On"}, {"week": "2026-05-15", "close": "2,317 GBP", "weekly_return": -3.497079620028453, "weekly_return_label": "-3.5%", "weekly_return_tone": "negative", "trend_line": "1,866 GBP", "fair_value": "1,329 GBP", "market_dynamics": "1.22", "relative_strength": "31.66", "volume": "1.1M", "trend_signal": "On"}, {"week": "2026-05-08", "close": "2,401 GBP", "weekly_return": 7.520140834368264, "weekly_return_label": "7.5%", "weekly_return_tone": "positive", "trend_line": "1,838 GBP", "fair_value": "1,318 GBP", "market_dynamics": "1.25", "relative_strength": "36.65", "volume": "665.2K", "trend_signal": "On"}, {"week": "2026-05-01", "close": "2,234 GBP", "weekly_return": 1.453221192495068, "weekly_return_label": "1.5%", "weekly_return_tone": "positive", "trend_line": "1,809 GBP", "fair_value": "1,307 GBP", "market_dynamics": "1.18", "relative_strength": "26.34", "volume": "1.9M", "trend_signal": "On"}, {"week": "2026-04-24", "close": "2,202 GBP", "weekly_return": -0.18131915200156765, "weekly_return_label": "-0.2%", "weekly_return_tone": "negative", "trend_line": "1,786 GBP", "fair_value": "1,297 GBP", "market_dynamics": "1.04", "relative_strength": "25.02", "volume": "1.6M", "trend_signal": "On"}, {"week": "2026-04-17", "close": "2,206 GBP", "weekly_return": 2.891786963813051, "weekly_return_label": "2.9%", "weekly_return_tone": "positive", "trend_line": "1,760 GBP", "fair_value": "1,287 GBP", "market_dynamics": "0.84", "relative_strength": "22.54", "volume": "946.8K", "trend_signal": "On"}, {"week": "2026-04-10", "close": "2,144 GBP", "weekly_return": 8.722114238592189, "weekly_return_label": "8.7%", "weekly_return_tone": "positive", "trend_line": "1,733 GBP", "fair_value": "1,277 GBP", "market_dynamics": "0.88", "relative_strength": "20.35", "volume": "533.0K", "trend_signal": "On"}, {"week": "2026-04-03", "close": "1,972 GBP", "weekly_return": 2.4947970787015823, "weekly_return_label": "2.5%", "weekly_return_tone": "positive", "trend_line": "1,707 GBP", "fair_value": "1,268 GBP", "market_dynamics": "1.12", "relative_strength": "12.84", "volume": "1.2M", "trend_signal": "On"}, {"week": "2026-03-27", "close": "1,924 GBP", "weekly_return": -2.828279856200133, "weekly_return_label": "-2.8%", "weekly_return_tone": "negative", "trend_line": "1,685 GBP", "fair_value": "1,260 GBP", "market_dynamics": "1.36", "relative_strength": "15.64", "volume": "834.9K", "trend_signal": "On"}, {"week": "2026-03-20", "close": "1,980 GBP", "weekly_return": -6.82353085750706, "weekly_return_label": "-6.8%", "weekly_return_tone": "negative", "trend_line": "1,665 GBP", "fair_value": "1,252 GBP", "market_dynamics": "1.68", "relative_strength": "20.06", "volume": "1.4M", "trend_signal": "On"}, {"week": "2026-03-13", "close": "2,125 GBP", "weekly_return": 0.7109058408922493, "weekly_return_label": "0.7%", "weekly_return_tone": "positive", "trend_line": "1,644 GBP", "fair_value": "1,243 GBP", "market_dynamics": "1.77", "relative_strength": "25.15", "volume": "913.8K", "trend_signal": "On"}], "chart_url": "/terminal/875abcbc-38da-4ca2-ac70-2ed714f65dbc/", "api_path": "/terminal/875abcbc-38da-4ca2-ac70-2ed714f65dbc/report/api/"}