Weekly Reports | 10:00 AM
By Mark Woodruff
Guide:
The FNArena database tabulates the views of seven major Australian and international stock brokers: Citi, Credit Suisse, Macquarie, Morgan Stanley, Morgans, Ord Minnett and UBS.
For the purpose of broker rating correlation, Outperform and Overweight ratings are grouped as Buy, Neutral is grouped with Hold and Underperform and Underweight are grouped as Sell to provide a Buy/Hold/Sell (B/H/S) ratio.
Ratings, consensus target price and forecast earnings tables are published at the bottom of this report.
Summary
Period: Monday November 9 to Friday November 13, 2020
Total Upgrades: 12
Total Downgrades: 17
Net Ratings Breakdown: Buy 51.64%; Hold 38.43%; Sell 9.92%
The week ending Friday the 13th of November did indeed turn out to be unlucky for ASX-listed stocks on the FNArena database. For the first time in nearly three months, downgrades (seventeen) held sway over upgrades (twelve). There appeared to be a vaccine-induced swing away from stocks that had previously benefited from virus concerns.
CSL received both a ratings upgrade and downgrade. Ord Minnett perceived a two-fold boost from a vaccine. Not only should plasma collections start to normalise by the end of FY21, but also the vaccines under manufacture have a higher probability of success. They are based upon similar antibody profiles as the leading overseas candidate.
Citi agreed with Ord Minnett on plasma collections and simultaneously downgraded the stock to Neutral from Buy, due to recent share price outperformance.
Treasury Wine Estates suffered the largest and only material percentage fall in target price for the week. Ord Minnett, like brokers in the prior week, is having difficulty pricing the risk of the reported ban on Australian exports of wine and the lack of progress on the anti-dumping investigation.
Seven West Media topped the table for largest percentage increase in target price for stocks in the FNArena database over the week. The company also earned an upgrade in rating due to a better ad market trajectory and impressive revenue growth from broadcaster video on demand (BVOD).
Coming second on the same table was Domain Holdings, with management seen by brokers to be executing on yield, depth and new product levers. This didn’t stop Credit Suisse downgrading the rating to Neutral from Buy, on the basis of limited upside to the stock from current prices.
Next was Graincorp, which received general applause from brokers in anticipation of a bumper crop. A positive outlook by management combined with strong leverage to a good harvest is surely a heady mix.
The vaccine effect was instrumental in a target price increase by Morgans for IDP Education. The broker also upgraded the company to an Add rating from a Hold. If international borders were to reopen quicker than expected, it would bolster student placement and IELTS testing volumes.
Enthusiasm for both Graincorp and Seven West Media was also apparent in the No1 and No2 spots for largest percentage earnings upgrades for the week, by brokers in the FNArena database.
Xero was next after the first half slowdown in growth was less than feared. Sales and marketing expenses also fell sharply, resulting in a strong boost to profits and cash.
Earnings upgrades accrued to Sims due to all metal operations achieving positive earnings, netting to a “solid” group effort. Finally, a combination of better sales and margin improvement drove forecast earnings revisions for News Corp.
Nearmap had the unfortunate distinction of largest percentage downgrade to earnings for the week. Morgan Stanley was expecting slightly higher revenue guidance from management and was averse to the company’s use of constant currency (which implies a -6% foreign exchange headwind).
Earnings forecasts for Senex Energy also declined after Morgan Stanley concluded there is better upside to an oil price recovery elsewhere, while conceding the growth story remains sound.
Total Neutral/Hold recommendations take up 51.64% of the total, versus 38.43% on Neutral/Hold, while Sell ratings account for the remaining 9.92%.
Upgrade
CSL LIMITED ((CSL)) Upgrade to Accumulate from Hold by Ord Minnett .B/H/S: 3/4/0
Encouraging news regarding a covid-19 vaccine provides a two-fold boost to the outlook for CSL, in the opinion of Ord Minnett.
Plasma collections should normalise by the end of FY21, allowing a potential boost to nearer-term sales from a larger inventory release, explains the broker.
The analyst believes the vaccine candidates the company is manufacturing now appear more likely to succeed, based on the similar antibody profiles. This is considered to raise the potential for a new multi-year revenue stream.
The company began production of the AstraZeneca/Uni Oxford vaccine this week at its Melbourne facility. The broker expects the company will be paid for these initial doses irrespective of whether the vaccine is successful.
Ord Minnett raises the target price to $330 from $290, leading the broker to upgrade the recommendation to
Accumulate from Hold.
See also CSL downgrade.
FLETCHER BUILDING LIMITED ((FBU)) Upgrade to Overweight from Equal-weight by Morgan Stanley .B/H/S: 1/4/0
Fletcher Building’s trading update for the four months ending October showed better revenue and operating income than last last year with improvement seen in margins across all business units.
Morgan Stanley believes the strong performance is an indication of the resilience of the New Zealand market and has increased its operating income forecast for FY21 by 66% with the estimate for FY22 increased by 46%.
Morgan Stanley upgrades its rating to Overweight from Equal-weight with the target rising to $5.91 from $3.66. Industry view is Cautious.
GRAINCORP LIMITED ((GNC)) Upgrade to Add from Hold by Morgans .B/H/S: 4/0/0
While the FY20 result for GrainCorp was a material improvement in earnings (EBITDA) on the previous corresponding period, it was below Morgans’ forecasts and consensus.
Highlights for the broker include the benefit of the crop production contract ($47m net gain) and the non-repeat of international trading losses (up $65m). Additionally, there was a stronger Grains division performance and higher oilseed crush volumes and margins.
The final dividend of 7 cents was a positive surprise to the analyst and highlighted the company’s positive outlook.
The FY21 outlook statements were materially stronger than Morgans expected with earnings growth in FY21. This was driven by a significantly larger 2020/21 East Coast winter crop and ongoing benefits from the company’s recent operating initiatives.
Morgans upgrades FY21, FY22 and FY23 earnings estimates by 12.9%, 20.7% and 9.5%, respectively.
The rating is upgraded to Add from Hold and the target price is increased to $4.79 from $4.18.
IDP EDUCATION LIMITED ((IEL)) Upgrade to Add from Hold by Morgans .B/H/S: 5/0/0
Morgans reiterates the upside from a vaccine for IDP Education is the potential for international borders to reopen quicker than expected. This would bolster student placement and IELTS testing volumes and earnings.
The broker believes the company will be materially better placed when normalised conditions prevail.
The analyst increases FY22 and FY23 EPS forecasts by around 3% and 12%, respectively. This is primarily driven by increased IELTS/Student Placement volume assumptions and slightly lower opex assumptions.
The rating is increased to Add from Hold and the target price is increased to $25.09 from $23.23.
MAGELLAN FINANCIAL GROUP LIMITED ((MFG)) Upgrade to Buy from Hold by Ord Minnett .B/H/S: 3/2/2
The flagship Global Fund has continued to perform well and Magellan Financial has added new growth avenues, including the investment in Barrenjoey.
In addition, Ord Minnett notes the company has generated its strongest institutional net inflow for a half year since 2015.
As the stock has remained flat since early July, the broker now envisages a valuation gap re-emerging and upgrades to Buy from Hold. Target is raised to $70.48 from $63.57.
NATIONAL TYRE & WHEEL LIMITED ((NTD)) Upgrade to Add from Hold by Morgans .B/H/S: 1/0/0
According to Morgans, persistently strong trading conditions and the acquisition of T4U has seen National Tyre & Wheel upgrade first half earnings (EBITDA) guidance.
The broker highlights this guidance does not include any material contribution to earnings from synergies arising from the August acquisition of Tyres4U.
The balance sheet has deleveraged far quicker than previously expected by the analyst, putting dividends firmly back on the agenda in the short term.
Given the deleveraging and potential synergy upside from T4U, the rating is upgraded to Add from Hold.
Morgans upgrades EPS forecasts by circa 50-85% in forecast years which sees the target price increased to $1.00 from $0.63.
The full story is for FNArena subscribers only. To read the full story plus enjoy a free two-week trial to our service SIGN UP HERE
If you already had your free trial, why not join as a paying subscriber? CLICK HERE
var fn_do_fb_login; var fn_check_login_state; var fn_get_fb_login_button; var fn_remove_fb_loading_btn; var fn_status_change_callback;
jQuery(document).ready(function(e){
window.fbAsyncInit = function() { FB.init({ appId : '2003222569780759', // dev version: 500318794096450 cookie : true, // Enable cookies to allow the server to access the session. xfbml : true, // Parse social plugins on this webpage. version : 'v4.0' // Use this Graph API version for this call. });
//check if all fb elements done rendering //========== fn_get_fb_login_button();
FB.Event.subscribe('xfbml.render', function(response) { fn_remove_fb_loading_btn(); }); //==========
FB.getLoginStatus(function(response) { // Called after the JS SDK has been initialized.
var fb_r = response;
if (fb_r && fb_r.status === 'connected') {
get_detail_data(fb_r.authResponse.userID); // Returns the login status.
// logout function // FB.logout(function(response) { // console.log('do logout'); // }); } }); };
(function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));
//fb functionality //======================================================= fn_check_login_state = function check_login_state() { // Called when a person is finished with the Login Button.
//everytime event login triggered, reset the form fn_reset_form();
FB.getLoginStatus(function(response) {
var status_change_callback = fn_status_change_callback(response);
if (status_change_callback) {
FB.api('/me', function(response) {
console.log(response);
});
}
});
}
//new function to do fb login - since might need a separate function //between checking and login fn_do_fb_login = function do_fb_login() { // Called when a person is finished with the Login Button.
//everytime event login triggered, reset the form fn_reset_form();
FB.getLoginStatus(function(response) {
e('.form_loading').show();
var status_change_callback = fn_status_change_callback(response);
if (status_change_callback) {
FB.api('/me', function(response) {
console.log(response); set_detail_data_to_form_and_submit(response.id);
});
} else {
FB.login(function(fb_l_r) {
if (fb_l_r.authResponse && fb_l_r.status == 'connected') {
console.log(fb_l_r.authResponse.userID); set_detail_data_to_form_and_submit(fb_l_r.authResponse.userID);
} else { e('.form_loading').hide(); }
});
}
});
}
fn_status_change_callback = function status_change_callback(response) { // Called with the results from FB.getLoginStatus().
var check_status;
console.log('status_change_callback'); console.log(response); // The current login status of the person.
if (response.status === 'connected') { // Logged into your webpage and Facebook.
get_detail_data(response.id); check_status = true;
} else { // Not logged into your webpage or we are unable to tell.
console.log('facebook is not logged in'); check_status = false;
}
return check_status;
}
function get_detail_data(fb_id) {
FB.api( '/'+fb_id+'/', {fields: 'id,first_name,last_name,email'}, function (fb_r) {
var fb_data_json = JSON.stringify(fb_r);
if (fb_r && !fb_r.error) {
e('#fb_data').html(fb_data_json);
}
} );
}
//it's kinda silly, but since fb is an async, cannot use passing parameter on a function like jquery //so instead put it on FB.api function set_detail_data_to_form_and_submit(fb_id) {
e('.form_loading').show();
FB.api( '/'+fb_id+'/', {fields: 'id,first_name,last_name,email'}, function (fb_r) {
var fb_data_json = JSON.stringify(fb_r);
if (fb_r && !fb_r.error) {
var fb_id = fb_r.id; var fb_firstname = fb_r.first_name; var fb_lastname = fb_r.last_name; var fb_email = fb_r.email;
e('.sns_facebook').val(1); e('.sns_facebook_id').val(fb_id);
e('#fb_data').html(fb_data_json); do_submit_form();
//no form_loading hide - we gonna lock the form IF it's success
} else {
e('.form_loading').hide();
}
} );
}
fn_get_fb_login_button = function get_fb_login_button() {
var html = '
'+ ' '; e('.fb_button_placeholder').html(html);}
fn_remove_fb_loading_btn = function remove_fb_loading_btn() {
e('.fb_loading_btn').hide(); e('.fb_login_wrapper').show();
}
fn_reset_form = function reset_form() {
e('.sns_facebook').val(''); e('.sns_facebook_id').val(''); e('.form_loading').hide();
}
function do_submit_form() {
var the_form = e('.formLogin:visible');
if (the_form.length) {
var target_form = the_form[0]; target_form.submit();
} else {
console.log('form not exist');
}
} //=======================================================
//initialize fn_reset_form();
});