{"ticker": {"uuid": "02a6a7b3-e5a3-45d8-ba8a-c33432a3bcd8", "symbol": "HAFNI", "name": "Hafnia Limited", "exchange": "OSL", "asset_type": "equity"}, "latest_week": "2026-06-12", "summary": "HAFNI closed the latest completed week at 70.35 NOK. The 4-week return is -12.7% and the 12-week return is 4.1%. Trend Signal is active, Market Dynamics is -0.27.", "description": "Hafnia Limited., an investment holding company, owns and operates oil product tankers in Bermuda. It operates through Long Range II, Long Range I, Medium Range (MR), and Handy Size segments. The company transports clean and dirty, refined oil products, vegetable oil, and easy chemicals to national and international oil companies, and chemical companies, as well as trading and utility companies. It also engages in ship owning, chartering, and provision of maritime services in the product and chemical tankers market. The company was formerly known as BW Tankers Limited and changed its name to Hafnia Limited. In January 2019. Hafnia Limited was founded in 2010 and is based in Singapore.", "setup_signature": "Balanced read", "composite_score": "41", "kpis": [{"label": "Latest Close", "value": "70.35 NOK", "hint": "2026-06-12"}, {"label": "1W Return", "value": "1.3%", "tone": "positive", "hint": "latest completed week"}, {"label": "4W Return", "value": "-12.7%", "tone": "negative", "hint": "short-term follow-through"}, {"label": "12W Return", "value": "4.1%", "tone": "positive", "hint": "quarterly tape"}, {"label": "Trend Breadth", "value": "69.2%", "hint": "36 of 52 weeks active"}, {"label": "Volume Ratio", "value": "0.6x", "hint": "vs 13-week average"}], "classification": {"exchange": "OSL", "country": "NO", "sector": "Industrials", "industry": "Marine Shipping", "currency": "NOK", "market_cap": "35.7B"}, "price": {"trend_line": "67.17 NOK", "fair_value": "65.24 NOK", "vs_trend": "4.7%", "vs_fair_value": "7.8%", "high_52": "86.35 NOK", "low_52": "48.29 NOK", "drawdown": "-18.5%", "range_position": "58.0%"}, "momentum": {"returns": [{"label": "1W", "value": 1.295897824156858, "value_label": "1.3%", "tone": "positive", "width": 4}, {"label": "4W", "value": -12.691436286849953, "value_label": "-12.7%", "tone": "negative", "width": 36.26124653385701}, {"label": "12W", "value": 4.06804745763454, "value_label": "4.1%", "tone": "positive", "width": 11.622992736098686}, {"label": "26W", "value": 23.230128900295, "value_label": "23.2%", "tone": "positive", "width": 66.37179685798571}, {"label": "52W", "value": 30.289297438603086, "value_label": "30.3%", "tone": "positive", "width": 86.54084982458025}], "trend_streak": 17, "active_weeks": 36, "active_breadth": "69.2%", "peer": {"scope": "NO Industrials", "count": 66, "rank": 18, "percentile": 73.84615384615385, "avg_weekly_return": -1.3061878876008703}}, "setup": {"scores": [{"label": "Trend", "value": 83.07692307692308, "value_label": "83", "width": 83.07692307692308, "tone": "positive", "description": "Persistence of active Trend Signal over the last year and current streak."}, {"label": "Momentum", "value": 24.470939252116196, "value_label": "24", "width": 24.470939252116196, "tone": "negative", "description": "Blend of 4-week and 12-week follow-through."}, {"label": "Dynamics", "value": 35.69195225710563, "value_label": "36", "width": 35.69195225710563, "tone": "neutral", "description": "Latest Market Dynamics and whether pressure has improved over four weeks."}, {"label": "Relative Strength", "value": 34.9892579929783, "value_label": "35", "width": 34.9892579929783, "tone": "neutral", "description": "Relative leadership and short-term RS change."}, {"label": "Volume", "value": 26.937374112686896, "value_label": "27", "width": 26.937374112686896, "tone": "negative", "description": "Participation compared with the 13-week volume baseline."}, {"label": "Risk Control", "value": 42.35247888907233, "value_label": "42", "width": 42.35247888907233, "tone": "neutral", "description": "Drawdown and recent weekly volatility pressure."}], "timeline": [{"week": "27 Feb", "return": 2.422143083597045, "return_label": "2.4%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 20.18452569664204}, {"week": "6 Mar", "return": -0.8698242349795384, "return_label": "-0.9%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 7.248535291496154}, {"week": "13 Mar", "return": -8.568180797945324, "return_label": "-8.6%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 71.40150664954436}, {"week": "20 Mar", "return": 5.230386215142783, "return_label": "5.2%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 43.586551792856525}, {"week": "27 Mar", "return": 8.63905942719112, "return_label": "8.6%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 71.99216189325934}, {"week": "3 Apr", "return": 2.6377613660740225, "return_label": "2.6%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 21.98134471728352}, {"week": "10 Apr", "return": 0.9513821783767192, "return_label": "1.0%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 7.928184819805993}, {"week": "17 Apr", "return": 1.4397885444742684, "return_label": "1.4%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 11.998237870618905}, {"week": "24 Apr", "return": 2.1935396829657585, "return_label": "2.2%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 18.279497358047987}, {"week": "1 May", "return": 3.724755345844908, "return_label": "3.7%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 31.0396278820409}, {"week": "8 May", "return": -0.7303661520169871, "return_label": "-0.7%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 6.0863846001415585}, {"week": "15 May", "return": -0.7970679097653435, "return_label": "-0.8%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 6.642232581377862}, {"week": "22 May", "return": -2.224963558136682, "return_label": "-2.2%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 18.54136298447235}, {"week": "29 May", "return": -9.797730090489907, "return_label": "-9.8%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 81.64775075408257}, {"week": "5 Jun", "return": -2.271882617507796, "return_label": "-2.3%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 18.932355145898303}, {"week": "12 Jun", "return": 1.295897824156858, "return_label": "1.3%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": false, "height": 10.799148534640484}]}, "groups": {"sector": {"scope": "NO Industrials", "count": 66, "avg_weekly_return": -1.3061878876008703, "avg_four_week_return": -3.601816741298328, "avg_twelve_week_return": 4.9272172372075715, "trend_breadth": 63.63636363636363, "positive_md_breadth": 51.515151515151516, "positive_rs_breadth": 40.909090909090914, "week_rank": 18, "four_week_rank": 60, "twelve_week_rank": 36, "top_peers": [{"id": 26390, "symbol": "ZAP", "name": "Zaptec ASA", "exchange": "OSL", "url": "/terminal/591ed652-6a55-436f-813d-3701561cd3f1/report/", "weekly_return": 2.4408466059386207, "weekly_return_label": "2.4%", "weekly_return_tone": "positive", "four_week_return": 17.211388942652864, "four_week_return_label": "17.2%", "four_week_return_tone": "positive", "twelve_week_return": 72.98746429382955, "twelve_week_return_label": "73.0%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 25961, "symbol": "DFENS", "name": "Fjord Defence Group ASA", "exchange": "OSL", "url": "/terminal/c3470b10-30c2-4192-9727-e4d060e3f41c/report/", "weekly_return": -3.9473684210526314, "weekly_return_label": "-3.9%", "weekly_return_tone": "negative", "four_week_return": 16.98717948717949, "four_week_return_label": "17.0%", "four_week_return_tone": "positive", "twelve_week_return": 21.682891052140292, "twelve_week_return_label": "21.7%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 26022, "symbol": "GOD", "name": "Goodtech ASA", "exchange": "OSL", "url": "/terminal/0f7b5812-3e82-4e35-814f-7c8085b04f2d/report/", "weekly_return": 0.7692307692307665, "weekly_return_label": "0.8%", "weekly_return_tone": "positive", "four_week_return": 16.96428571428572, "four_week_return_label": "17.0%", "four_week_return_tone": "positive", "twelve_week_return": 35.735654088357904, "twelve_week_return_label": "35.7%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 26034, "symbol": "HAUTO", "name": "H\u00f6egh Autoliners ASA", "exchange": "OSL", "url": "/terminal/062321fc-904b-4d55-a399-69a2a5bd1640/report/", "weekly_return": 8.719347914454744, "weekly_return_label": "8.7%", "weekly_return_tone": "positive", "four_week_return": 14.531427655792289, "four_week_return_label": "14.5%", "four_week_return_tone": "positive", "twelve_week_return": 24.10445710021285, "twelve_week_return_label": "24.1%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 26015, "symbol": "GEOS", "name": "Golden Energy Offshore Services ASA", "exchange": "OSL", "url": "/terminal/9ee5098d-3b32-44ec-8b10-4db9c704f5c7/report/", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "four_week_return": 13.043478260869579, "four_week_return_label": "13.0%", "four_week_return_tone": "positive", "twelve_week_return": 10.403397027600853, "twelve_week_return_label": "10.4%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}]}, "industry": {"scope": "NO Marine Shipping", "count": 23, "avg_weekly_return": 1.1140516366732853, "avg_four_week_return": -0.9072433465579554, "avg_twelve_week_return": 7.967255814246029, "trend_breadth": 78.26086956521739, "positive_md_breadth": 30.434782608695656, "positive_rs_breadth": 52.17391304347826, "week_rank": 11, "four_week_rank": 22, "twelve_week_rank": 13, "top_peers": [{"id": 26034, "symbol": "HAUTO", "name": "H\u00f6egh Autoliners ASA", "exchange": "OSL", "url": "/terminal/062321fc-904b-4d55-a399-69a2a5bd1640/report/", "weekly_return": 8.719347914454744, "weekly_return_label": "8.7%", "weekly_return_tone": "positive", "four_week_return": 14.531427655792289, "four_week_return_label": "14.5%", "four_week_return_tone": "positive", "twelve_week_return": 24.10445710021285, "twelve_week_return_label": "24.1%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 26015, "symbol": "GEOS", "name": "Golden Energy Offshore Services ASA", "exchange": "OSL", "url": "/terminal/9ee5098d-3b32-44ec-8b10-4db9c704f5c7/report/", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "four_week_return": 13.043478260869579, "four_week_return_label": "13.0%", "four_week_return_tone": "positive", "twelve_week_return": 10.403397027600853, "twelve_week_return_label": "10.4%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}, {"id": 26133, "symbol": "MPCC", "name": "MPC Container Ships ASA", "exchange": "OSL", "url": "/terminal/f846340d-93b5-468b-be74-8d44477cea31/report/", "weekly_return": 2.497114771528442, "weekly_return_label": "2.5%", "weekly_return_tone": "positive", "four_week_return": 12.71651880016898, "four_week_return_label": "12.7%", "four_week_return_tone": "positive", "twelve_week_return": 20.997737913729612, "twelve_week_return_label": "21.0%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 26374, "symbol": "WAWI", "name": "Wallenius Wilhelmsen ASA", "exchange": "OSL", "url": "/terminal/99556acf-cba5-47a7-865a-a4ad65439dbd/report/", "weekly_return": 5.900380842911875, "weekly_return_label": "5.9%", "weekly_return_tone": "positive", "four_week_return": 10.648514641336831, "four_week_return_label": "10.6%", "four_week_return_tone": "positive", "twelve_week_return": 16.036943174423897, "twelve_week_return_label": "16.0%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": false, "positive_rs": true}, {"id": 26208, "symbol": "ODFB", "name": "Odfjell SE", "exchange": "OSL", "url": "/terminal/1614a99b-8651-433a-972a-1bb6f56289b3/report/", "weekly_return": 1.8181818181818181, "weekly_return_label": "1.8%", "weekly_return_tone": "positive", "four_week_return": 4.283052061768117, "four_week_return_label": "4.3%", "four_week_return_tone": "positive", "twelve_week_return": -1.4084489684586081, "twelve_week_return_label": "-1.4%", "twelve_week_return_tone": "negative", "trend_active": false, "positive_md": false, "positive_rs": false}]}}, "dynamics": {"market_dynamics": "-0.27", "market_dynamics_tone": "negative", "md_4_change": "-118.5%", "relative_strength": "-1.91", "rs_4_change": "-116.1%", "expectation": "Positive", "expectation_probability": "55.67%"}, "volume": {"latest": "2.4M", "average_13": "3.7M", "average_52": "3.6M", "ratio_13": "0.6x", "ratio_52": "0.7x"}, "risk": {"volatility_13": "4.2%", "volatility_52": "4.5%", "downside_weeks": 23, "upside_weeks": 29, "downside_breadth": "44.2%", "average_gain": "3.7%", "average_loss": "-3.3%"}, "signals": [{"label": "Trend Signal", "value": "Active", "tone": "positive"}, {"label": "Market Dynamics", "value": "No fresh buy", "tone": "neutral"}, {"label": "Price vs Trend", "value": "4.7%", "tone": "positive"}, {"label": "Volume", "value": "0.6x", "tone": "neutral"}], "opportunities": ["Trend Signal is active with a 17-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."], "risks": ["Market Dynamics is negative, which weakens the current setup."], "watch_points": ["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": "70.35 NOK", "weekly_return": 1.295897824156858, "weekly_return_label": "1.3%", "weekly_return_tone": "positive", "trend_line": "67.17 NOK", "fair_value": "65.24 NOK", "market_dynamics": "-0.27", "relative_strength": "-1.91", "volume": "2.4M", "trend_signal": "On"}, {"week": "2026-06-05", "close": "69.45 NOK", "weekly_return": -2.271882617507796, "weekly_return_label": "-2.3%", "weekly_return_tone": "negative", "trend_line": "66.97 NOK", "fair_value": "65.13 NOK", "market_dynamics": "0.33", "relative_strength": "-3.47", "volume": "2.5M", "trend_signal": "On"}, {"week": "2026-05-29", "close": "71.06 NOK", "weekly_return": -9.797730090489907, "weekly_return_label": "-9.8%", "weekly_return_tone": "negative", "trend_line": "66.74 NOK", "fair_value": "65.02 NOK", "market_dynamics": "0.96", "relative_strength": "-0.94", "volume": "4.7M", "trend_signal": "On"}, {"week": "2026-05-22", "close": "78.78 NOK", "weekly_return": -2.224963558136682, "weekly_return_label": "-2.2%", "weekly_return_tone": "negative", "trend_line": "66.47 NOK", "fair_value": "64.90 NOK", "market_dynamics": "1.40", "relative_strength": "7.66", "volume": "3.0M", "trend_signal": "On"}, {"week": "2026-05-15", "close": "80.58 NOK", "weekly_return": -0.7970679097653435, "weekly_return_label": "-0.8%", "weekly_return_tone": "negative", "trend_line": "65.91 NOK", "fair_value": "64.73 NOK", "market_dynamics": "1.45", "relative_strength": "11.82", "volume": "2.1M", "trend_signal": "On"}, {"week": "2026-05-08", "close": "81.22 NOK", "weekly_return": -0.7303661520169871, "weekly_return_label": "-0.7%", "weekly_return_tone": "negative", "trend_line": "65.18 NOK", "fair_value": "64.55 NOK", "market_dynamics": "1.42", "relative_strength": "15.73", "volume": "4.0M", "trend_signal": "On"}, {"week": "2026-05-01", "close": "81.82 NOK", "weekly_return": 3.724755345844908, "weekly_return_label": "3.7%", "weekly_return_tone": "positive", "trend_line": "64.44 NOK", "fair_value": "64.37 NOK", "market_dynamics": "1.36", "relative_strength": "14.22", "volume": "2.8M", "trend_signal": "On"}, {"week": "2026-04-24", "close": "78.88 NOK", "weekly_return": 2.1935396829657585, "weekly_return_label": "2.2%", "weekly_return_tone": "positive", "trend_line": "63.81 NOK", "fair_value": "64.17 NOK", "market_dynamics": "1.25", "relative_strength": "11.99", "volume": "3.3M", "trend_signal": "On"}, {"week": "2026-04-17", "close": "77.19 NOK", "weekly_return": 1.4397885444742684, "weekly_return_label": "1.4%", "weekly_return_tone": "positive", "trend_line": "63.24 NOK", "fair_value": "64.02 NOK", "market_dynamics": "1.27", "relative_strength": "11.51", "volume": "4.7M", "trend_signal": "On"}, {"week": "2026-04-10", "close": "76.09 NOK", "weekly_return": 0.9513821783767192, "weekly_return_label": "1.0%", "weekly_return_tone": "positive", "trend_line": "62.69 NOK", "fair_value": "63.90 NOK", "market_dynamics": "1.18", "relative_strength": "6.45", "volume": "5.3M", "trend_signal": "On"}, {"week": "2026-04-03", "close": "75.38 NOK", "weekly_return": 2.6377613660740225, "weekly_return_label": "2.6%", "weekly_return_tone": "positive", "trend_line": "62.17 NOK", "fair_value": "63.78 NOK", "market_dynamics": "1.06", "relative_strength": "5.32", "volume": "1.9M", "trend_signal": "On"}, {"week": "2026-03-27", "close": "73.44 NOK", "weekly_return": 8.63905942719112, "weekly_return_label": "8.6%", "weekly_return_tone": "positive", "trend_line": "61.68 NOK", "fair_value": "63.65 NOK", "market_dynamics": "1.20", "relative_strength": "6.85", "volume": "5.6M", "trend_signal": "On"}, {"week": "2026-03-20", "close": "67.60 NOK", "weekly_return": 5.230386215142783, "weekly_return_label": "5.2%", "weekly_return_tone": "positive", "trend_line": "61.26 NOK", "fair_value": "63.55 NOK", "market_dynamics": "1.22", "relative_strength": "-0.43", "volume": "5.6M", "trend_signal": "On"}, {"week": "2026-03-13", "close": "64.24 NOK", "weekly_return": -8.568180797945324, "weekly_return_label": "-8.6%", "weekly_return_tone": "negative", "trend_line": "61.01 NOK", "fair_value": "63.48 NOK", "market_dynamics": "1.22", "relative_strength": "-4.17", "volume": "6.6M", "trend_signal": "On"}], "chart_url": "/terminal/02a6a7b3-e5a3-45d8-ba8a-c33432a3bcd8/", "api_path": "/terminal/02a6a7b3-e5a3-45d8-ba8a-c33432a3bcd8/report/api/"}