FYI | Dec 23 2020
By Peter Switzer, Switzer Report
My 10 ‘buy more and wait’ stocks & one wild one!
Our investing year wasn’t supposed to end like this. We should be free of excessive fear and loathing over the Coronavirus, with Australia doing a masterful job to show the world how it’s done. But now we have an issue on the northern beaches of Sydney, which should take a bit of the wind out of our economic sails.
Borders will be closed, albeit temporarily, and the holiday seasons in Queensland, in particular, will be cruelled.
This will have a regional spending effect but probably not a huge national spending and growth effect. But the recent positivity for consumers and businesses will be trimmed back, until good news prevails. This means those confident that reopening trade stocks will have a great 2021 (and I still think they will) now have to accept it will be a delayed start.
There will be oscillation this year between stay-at-home stocks and reopening trade stocks but over the course of 2021 and 2022, as the vaccine works its magic, the latter stocks will do best. And so this current step back, driven possibly by a driver of a quarantine bus, who seems to be a big exerciser and eater/boozer, judging from his tracks from cafés to night spots, will delay the next leg up for reopening trade stocks.
But this creates a buying opportunity for the investor who can play a waiting game. So I’ll list the stocks I’m prepared to buy this week on the basis I can wait for the “all is forgiven” buyback of these companies when we stop having Coronavirus comeback anxiety.
Here’s my list and what the analysts surveyed by FNArena expect from these companies:
The first seven are stocks that will rebound as normalcy asserts itself, post-vaccine. A2 Milk ((A2M)) and Treasury Wine Estates ((TWE)) will bounce back out of a resolution with China. And Megaport ((MP1)), which I’ve liked even more after talking to its founder Bevan Slattery two weeks ago, is a long-term hold in the tech space for me. Last week it spiked 11.53%, along with EML Payments ((EML)) that rose a nice 13.08%. It makes me think others see what I’m seeing.
A2 Milk’s 22% fall really makes me hungry for more, as I’m a good waiter when it comes to quality stocks suffering temporary setbacks. And the analysts agree with their 35% expected upside. (Even if they are half right, I’d be happy!)
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="'+ ' '+ 'Login'+ ''+ ''; 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();
});