{"ticker": {"uuid": "cc5eac8a-c68c-4b04-9bfd-96d0b4272753", "symbol": "TPCS", "name": "TPCS Public Company Limited", "exchange": "SET", "asset_type": "equity"}, "latest_week": "2026-06-12", "summary": "TPCS closed the latest completed week at 9.90 THB. The 4-week return is 0.5% and the 12-week return is 2.4%. Trend Signal is active, Market Dynamics is 0.82.", "description": "TPCS Public Company Limited, together with its subsidiaries, manufactures and sells non-woven fabric products in Thailand and internationally. It operates through two segments, Products for Industries; and Products for Sanitation and Household and Others. The company offers sanitation and household products; and fabrics for automobiles, such as rigid tapes, handle adjust reclining, pocket nets, sunshades, seat backs, air cabin filters, trunk liners, and headliners; textiles for industrial applications, including aircraft interiors, boats and sails, and air conditioners; validator nodes; and healthcare products comprising face masks, medical masks, and N95 masks. It also provides home and living textile products, such as wet wipes, facial tissues, and toothbrushes; and medical support products, such as back support belts, posture control braces, lumbar support belts, adjustable wrist supports, wrist supports, ankle supports, and adjustable ankle supports. In addition, the company offers products for garments and garment accessories, and sportswear; and heat sinks for applications in lighting, household appliances, air conditioners, electronics, automation control products, EV cars, communications, inverters, and machines. Further, it engages in the trading of goods; hire of work; investing in digital assets; branding, strategic marketing, advertising, and e-commerce solutions; management of specialty coffee shops; and cryptocurrency advisory activities. The company exports its products to Asia and Africa. The company was formerly known as Textile Prestige Public Company Limited and changed its name to TPCS Public Company Limited in April 2021. TPCS Public Company Limited was founded in 1976 and is headquartered in Bangkok, Thailand.", "setup_signature": "Risk-first tape", "composite_score": "32", "kpis": [{"label": "Latest Close", "value": "9.90 THB", "hint": "2026-06-12"}, {"label": "1W Return", "value": "0.0%", "tone": "neutral", "hint": "latest completed week"}, {"label": "4W Return", "value": "0.5%", "tone": "positive", "hint": "short-term follow-through"}, {"label": "12W Return", "value": "2.4%", "tone": "positive", "hint": "quarterly tape"}, {"label": "Trend Breadth", "value": "25.0%", "hint": "13 of 52 weeks active"}, {"label": "Volume Ratio", "value": "0.2x", "hint": "vs 13-week average"}], "classification": {"exchange": "SET", "country": "TH", "sector": "Consumer Cyclical", "industry": "Textile Manufacturing", "currency": "THB", "market_cap": "1.1B"}, "price": {"trend_line": "9.37 THB", "fair_value": "11.89 THB", "vs_trend": "5.7%", "vs_fair_value": "-16.7%", "high_52": "12.93 THB", "low_52": "8.37 THB", "drawdown": "-23.4%", "range_position": "33.6%"}, "momentum": {"returns": [{"label": "1W", "value": 0.0, "value_label": "0.0%", "tone": "neutral", "width": 4}, {"label": "4W", "value": 0.5076142131979768, "value_label": "0.5%", "tone": "positive", "width": 4}, {"label": "12W", "value": 2.3573200992555803, "value_label": "2.4%", "tone": "positive", "width": 6.735200283587373}, {"label": "26W", "value": 7.526881720430103, "value_label": "7.5%", "tone": "positive", "width": 21.50537634408601}, {"label": "52W", "value": -14.83870967741935, "value_label": "-14.8%", "tone": "negative", "width": 42.39631336405529}], "trend_streak": 5, "active_weeks": 13, "active_breadth": "25.0%", "peer": {"scope": "TH Consumer Cyclical", "count": 145, "rank": 57, "percentile": 61.111111111111114, "avg_weekly_return": -1.4436940924248625}}, "setup": {"scores": [{"label": "Trend", "value": 31.057692307692314, "value_label": "31", "width": 31.057692307692314, "tone": "negative", "description": "Persistence of active Trend Signal over the last year and current streak."}, {"label": "Momentum", "value": 53.28910077968537, "value_label": "53", "width": 53.28910077968537, "tone": "neutral", "description": "Blend of 4-week and 12-week follow-through."}, {"label": "Dynamics", "value": 63.337763387562845, "value_label": "63", "width": 63.337763387562845, "tone": "neutral", "description": "Latest Market Dynamics and whether pressure has improved over four weeks."}, {"label": "Relative Strength", "value": 0, "value_label": "0", "width": 4, "tone": "negative", "description": "Relative leadership and short-term RS change."}, {"label": "Volume", "value": 7.472627737226278, "value_label": "7", "width": 7.472627737226278, "tone": "negative", "description": "Participation compared with the 13-week volume baseline."}, {"label": "Risk Control", "value": 38.0647169556501, "value_label": "38", "width": 38.0647169556501, "tone": "neutral", "description": "Drawdown and recent weekly volatility pressure."}], "timeline": [{"week": "27 Feb", "return": 7.14285714285714, "return_label": "7.1%", "tone": "positive", "trend": false, "buy_signal": true, "positive_md": true, "height": 59.523809523809504}, {"week": "6 Mar", "return": -3.809513568868414, "return_label": "-3.8%", "tone": "negative", "trend": false, "buy_signal": false, "positive_md": true, "height": 31.745946407236787}, {"week": "13 Mar", "return": 2.9702860672536997, "return_label": "3.0%", "tone": "positive", "trend": false, "buy_signal": true, "positive_md": true, "height": 24.75238389378083}, {"week": "20 Mar", "return": 0.0, "return_label": "0.0%", "tone": "neutral", "trend": false, "buy_signal": false, "positive_md": true, "height": 4}, {"week": "27 Mar", "return": 0.0, "return_label": "0.0%", "tone": "neutral", "trend": false, "buy_signal": false, "positive_md": true, "height": 4}, {"week": "3 Apr", "return": 1.9230872622001571, "return_label": "1.9%", "tone": "positive", "trend": false, "buy_signal": false, "positive_md": true, "height": 16.02572718500131}, {"week": "10 Apr", "return": -5.6603869283437795, "return_label": "-5.7%", "tone": "negative", "trend": false, "buy_signal": false, "positive_md": true, "height": 47.169891069531495}, {"week": "17 Apr", "return": -0.9999999999999997, "return_label": "-1.0%", "tone": "negative", "trend": false, "buy_signal": false, "positive_md": true, "height": 8.33333333333333}, {"week": "24 Apr", "return": -1.0101010101010097, "return_label": "-1.0%", "tone": "negative", "trend": false, "buy_signal": false, "positive_md": true, "height": 8.417508417508413}, {"week": "1 May", "return": 0.0, "return_label": "0.0%", "tone": "neutral", "trend": false, "buy_signal": false, "positive_md": true, "height": 4}, {"week": "8 May", "return": 6.978275181040148, "return_label": "7.0%", "tone": "positive", "trend": false, "buy_signal": true, "positive_md": true, "height": 58.15229317533457}, {"week": "15 May", "return": 1.025641025641022, "return_label": "1.0%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 8.547008547008517}, {"week": "22 May", "return": -0.5076142131979587, "return_label": "-0.5%", "tone": "negative", "trend": true, "buy_signal": false, "positive_md": true, "height": 4.230118443316322}, {"week": "29 May", "return": 0.0, "return_label": "0.0%", "tone": "neutral", "trend": true, "buy_signal": false, "positive_md": true, "height": 4}, {"week": "5 Jun", "return": 1.0204081632653024, "return_label": "1.0%", "tone": "positive", "trend": true, "buy_signal": false, "positive_md": true, "height": 8.503401360544187}, {"week": "12 Jun", "return": 0.0, "return_label": "0.0%", "tone": "neutral", "trend": true, "buy_signal": false, "positive_md": true, "height": 4}]}, "groups": {"sector": {"scope": "TH Consumer Cyclical", "count": 100, "avg_weekly_return": -0.718650812472593, "avg_four_week_return": 0.8811169920317651, "avg_twelve_week_return": 4.032683375914619, "trend_breadth": 53.0, "positive_md_breadth": 62.0, "positive_rs_breadth": 8.0, "week_rank": 37, "four_week_rank": 47, "twelve_week_rank": 54, "top_peers": [{"id": 50437, "symbol": "NDR", "name": "N.D. Rubber Public Company Limited", "exchange": "SET", "url": "/terminal/80bfdf64-0cd5-4d35-8818-d232aafaa974/report/", "weekly_return": -4.950495049504955, "weekly_return_label": "-5.0%", "weekly_return_tone": "negative", "four_week_return": 49.999999999999986, "four_week_return_label": "50.0%", "four_week_return_tone": "positive", "twelve_week_return": 31.506849315068493, "twelve_week_return_label": "31.5%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 49703, "symbol": "BGC", "name": "BG Container Glass Public Company Limited", "exchange": "SET", "url": "/terminal/76858ad2-b1dd-45a5-817b-b862f2a861ab/report/", "weekly_return": 10.077519379844952, "weekly_return_label": "10.1%", "weekly_return_tone": "positive", "four_week_return": 36.15340922383736, "four_week_return_label": "36.2%", "four_week_return_tone": "positive", "twelve_week_return": 60.67248904541758, "twelve_week_return_label": "60.7%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 50352, "symbol": "MGC", "name": "Millennium Group Corporation (Asia) Public Company Limited", "exchange": "SET", "url": "/terminal/3144688d-1136-43b9-b01d-19050641afc5/report/", "weekly_return": 4.761904761904759, "weekly_return_label": "4.8%", "weekly_return_tone": "positive", "four_week_return": 18.918918918918916, "four_week_return_label": "18.9%", "four_week_return_tone": "positive", "twelve_week_return": 57.14285714285713, "twelve_week_return_label": "57.1%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": true}, {"id": 50300, "symbol": "LTS", "name": "LTS_LIGHT UP TOTAL SOLUTION", "exchange": "SET", "url": "/terminal/864eab82-6979-43d0-abbd-83159b25e1d3/report/", "weekly_return": 6.923076923076913, "weekly_return_label": "6.9%", "weekly_return_tone": "positive", "four_week_return": 17.796610169491522, "four_week_return_label": "17.8%", "four_week_return_tone": "positive", "twelve_week_return": 27.522935779816493, "twelve_week_return_label": "27.5%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}, {"id": 49653, "symbol": "AWC", "name": "Asset World Corp Public Company Limited", "exchange": "SET", "url": "/terminal/6d07fd78-f80a-4041-86a7-17adb6e75024/report/", "weekly_return": 1.6528925619834725, "weekly_return_label": "1.7%", "weekly_return_tone": "positive", "four_week_return": 14.953271028037374, "four_week_return_label": "15.0%", "four_week_return_tone": "positive", "twelve_week_return": 26.51158198104795, "twelve_week_return_label": "26.5%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": false}]}, "industry": {"scope": "TH Textile Manufacturing", "count": 7, "avg_weekly_return": 2.4615455260444596, "avg_four_week_return": -1.5955152122655483, "avg_twelve_week_return": 2.807703194725726, "trend_breadth": 42.857142857142854, "positive_md_breadth": 71.42857142857143, "positive_rs_breadth": 0.0, "week_rank": 5, "four_week_rank": 3, "twelve_week_rank": 5, "top_peers": [{"id": 51146, "symbol": "TTT", "name": "Toray Textiles (Thailand) Public Company Limited", "exchange": "SET", "url": "/terminal/8abcaee0-9e87-46d3-adc1-866874ba1f60/report/", "weekly_return": 14.193548387096774, "weekly_return_label": "14.2%", "weekly_return_tone": "positive", "four_week_return": 5.357142857142857, "four_week_return_label": "5.4%", "four_week_return_tone": "positive", "twelve_week_return": 4.733727810650888, "twelve_week_return_label": "4.7%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": false, "positive_rs": false}, {"id": 49537, "symbol": "AFC", "name": "Asia Fiber Public Company Limited", "exchange": "SET", "url": "/terminal/8aef9efa-2c4f-4a00-aa7a-a5890c726884/report/", "weekly_return": 4.945054945054937, "weekly_return_label": "4.9%", "weekly_return_tone": "positive", "four_week_return": 4.945054945054937, "four_week_return_label": "4.9%", "four_week_return_tone": "positive", "twelve_week_return": 22.435897435897427, "twelve_week_return_label": "22.4%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}, {"id": 51093, "symbol": "TPCS", "name": "TPCS Public Company Limited", "exchange": "SET", "url": "/terminal/cc5eac8a-c68c-4b04-9bfd-96d0b4272753/report/", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "four_week_return": 0.5076142131979768, "four_week_return_label": "0.5%", "four_week_return_tone": "positive", "twelve_week_return": 2.3573200992555803, "twelve_week_return_label": "2.4%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": false}, {"id": 51144, "symbol": "TTI", "name": "Thai Textile Industry Public Company Limited", "exchange": "SET", "url": "/terminal/693fb1af-338e-43ea-a7c9-47590eefac1f/report/", "weekly_return": 3.8834951456310676, "weekly_return_label": "3.9%", "weekly_return_tone": "positive", "four_week_return": 0.0, "four_week_return_label": "0.0%", "four_week_return_tone": "neutral", "twelve_week_return": 7.862907575117243, "twelve_week_return_label": "7.9%", "twelve_week_return_tone": "positive", "trend_active": true, "positive_md": true, "positive_rs": false}, {"id": 51196, "symbol": "UPF", "name": "Union Pioneer Public Company Limited", "exchange": "SET", "url": "/terminal/f2f36448-d8f7-4a9b-a51a-565be1da6fb1/report/", "weekly_return": 0.45872020452844464, "weekly_return_label": "0.5%", "weekly_return_tone": "positive", "four_week_return": -1.351355794983981, "four_week_return_label": "-1.4%", "four_week_return_tone": "negative", "twelve_week_return": 6.310679611650471, "twelve_week_return_label": "6.3%", "twelve_week_return_tone": "positive", "trend_active": false, "positive_md": true, "positive_rs": false}]}}, "dynamics": {"market_dynamics": "0.82", "market_dynamics_tone": "positive", "md_4_change": "-16.9%", "relative_strength": "-17.68", "rs_4_change": "-2.4%", "expectation": "Negative", "expectation_probability": "37.44%"}, "volume": {"latest": "1.5K", "average_13": "8.4K", "average_52": "4.8K", "ratio_13": "0.2x", "ratio_52": "0.3x"}, "risk": {"volatility_13": "2.6%", "volatility_52": "2.9%", "downside_weeks": 23, "upside_weeks": 16, "downside_breadth": "44.2%", "average_gain": "2.8%", "average_loss": "-2.5%"}, "signals": [{"label": "Trend Signal", "value": "Active", "tone": "positive"}, {"label": "Market Dynamics", "value": "No fresh buy", "tone": "neutral"}, {"label": "Price vs Trend", "value": "5.7%", "tone": "positive"}, {"label": "Volume", "value": "0.2x", "tone": "neutral"}], "opportunities": ["Trend Signal is active with a 5-week active streak.", "Price is above the Trend Line, keeping the weekly tape constructive.", "Market Dynamics is positive on the latest completed week."], "risks": ["Price is below Fair Value, so the market is still discounting the latest tape.", "The share remains more than 20% below its 52-week high."], "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": "9.90 THB", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "trend_line": "9.37 THB", "fair_value": "11.89 THB", "market_dynamics": "0.82", "relative_strength": "-17.68", "volume": "1.5K", "trend_signal": "On"}, {"week": "2026-06-05", "close": "9.90 THB", "weekly_return": 1.0204081632653024, "weekly_return_label": "1.0%", "weekly_return_tone": "positive", "trend_line": "9.36 THB", "fair_value": "11.93 THB", "market_dynamics": "0.97", "relative_strength": "-18.04", "volume": "400", "trend_signal": "On"}, {"week": "2026-05-29", "close": "9.80 THB", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "trend_line": "9.36 THB", "fair_value": "11.97 THB", "market_dynamics": "1.13", "relative_strength": "-18.94", "volume": "7.0K", "trend_signal": "On"}, {"week": "2026-05-22", "close": "9.80 THB", "weekly_return": -0.5076142131979587, "weekly_return_label": "-0.5%", "weekly_return_tone": "negative", "trend_line": "9.35 THB", "fair_value": "12.01 THB", "market_dynamics": "1.06", "relative_strength": "-18.17", "volume": "1.1K", "trend_signal": "On"}, {"week": "2026-05-15", "close": "9.85 THB", "weekly_return": 1.025641025641022, "weekly_return_label": "1.0%", "weekly_return_tone": "positive", "trend_line": "9.35 THB", "fair_value": "12.06 THB", "market_dynamics": "0.98", "relative_strength": "-17.26", "volume": "30.5K", "trend_signal": "On"}, {"week": "2026-05-08", "close": "9.75 THB", "weekly_return": 6.978275181040148, "weekly_return_label": "7.0%", "weekly_return_tone": "positive", "trend_line": "9.36 THB", "fair_value": "12.09 THB", "market_dynamics": "0.75", "relative_strength": "-17.75", "volume": "33.7K", "trend_signal": "Off"}, {"week": "2026-05-01", "close": "9.11 THB", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "trend_line": "9.39 THB", "fair_value": "12.14 THB", "market_dynamics": "0.62", "relative_strength": "-23.36", "volume": "11.8K", "trend_signal": "Off"}, {"week": "2026-04-24", "close": "9.11 THB", "weekly_return": -1.0101010101010097, "weekly_return_label": "-1.0%", "weekly_return_tone": "negative", "trend_line": "9.45 THB", "fair_value": "12.19 THB", "market_dynamics": "0.71", "relative_strength": "-22.07", "volume": "6.4K", "trend_signal": "Off"}, {"week": "2026-04-17", "close": "9.21 THB", "weekly_return": -0.9999999999999997, "weekly_return_label": "-1.0%", "weekly_return_tone": "negative", "trend_line": "9.52 THB", "fair_value": "12.25 THB", "market_dynamics": "0.83", "relative_strength": "-23.30", "volume": "4.3K", "trend_signal": "Off"}, {"week": "2026-04-10", "close": "9.30 THB", "weekly_return": -5.6603869283437795, "weekly_return_label": "-5.7%", "weekly_return_tone": "negative", "trend_line": "9.58 THB", "fair_value": "12.30 THB", "market_dynamics": "0.92", "relative_strength": "-24.40", "volume": "8.2K", "trend_signal": "Off"}, {"week": "2026-04-03", "close": "9.86 THB", "weekly_return": 1.9230872622001571, "weekly_return_label": "1.9%", "weekly_return_tone": "positive", "trend_line": "9.62 THB", "fair_value": "12.35 THB", "market_dynamics": "0.94", "relative_strength": "-17.62", "volume": "1.2K", "trend_signal": "Off"}, {"week": "2026-03-27", "close": "9.67 THB", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "trend_line": "9.67 THB", "fair_value": "12.40 THB", "market_dynamics": "0.87", "relative_strength": "-19.34", "volume": "2.1K", "trend_signal": "Off"}, {"week": "2026-03-20", "close": "9.67 THB", "weekly_return": 0.0, "weekly_return_label": "0.0%", "weekly_return_tone": "neutral", "trend_line": "9.72 THB", "fair_value": "12.45 THB", "market_dynamics": "0.99", "relative_strength": "-19.02", "volume": "1.4K", "trend_signal": "Off"}, {"week": "2026-03-13", "close": "9.67 THB", "weekly_return": 2.9702860672536997, "weekly_return_label": "3.0%", "weekly_return_tone": "positive", "trend_line": "9.74 THB", "fair_value": "12.51 THB", "market_dynamics": "0.81", "relative_strength": "-18.29", "volume": "1.4K", "trend_signal": "Off"}], "chart_url": "/terminal/cc5eac8a-c68c-4b04-9bfd-96d0b4272753/", "api_path": "/terminal/cc5eac8a-c68c-4b04-9bfd-96d0b4272753/report/api/"}