Free Trial

On tap for Thursday: Aside from.....>

US DATA PREVIEW
US DATA PREVIEW: On tap for Thursday: Aside from weekly claims, Final Demand PPI
(0.1% est) for January; Retail Sales (0.0%) for December; business inventories
for November (0.2%). 
- Morgan Stanley economists "forecast a 0.3% month-over-month gain in December
core retail sales (which we define as retail sales and food services excluding
auto dealers, gas stations and home improvement stores)." MS said a large part
of their Retail Sales forecast is "driven by the food services category (i.e.
restaurants), and so the Bloomberg definition of the control group (which
excludes restaurants in addition to the categories above), is flat according to
our model." 
- RBS NatWest economists posits the December retail sales report "may be
stronger than it looks on the surface. Overall sales are unlikely to have shown
much growth in December (NWM forecast: +0.1%), restrained by a sharp decline in
gasoline station receipts (due to lower prices)." RBS adds "even our small
expected increase would be consistent with a gain in real PCE of around 4% in Q4
(relative to the Q3 average)."

To read the full story

Close

Why MNI

MNI is the leading provider

of intelligence and analysis on the Global Fixed Income, Foreign Exchange and Energy markets. We use an innovative combination of real-time analysis, deep fundamental research and journalism to provide unique and actionable insights for traders and investors. Our "All signal, no noise" approach drives an intelligence service that is succinct and timely, which is highly regarded by our time constrained client base.

Our Head Office is in London with offices in Chicago, Washington and Beijing, as well as an on the ground presence in other major financial centres across the world.
}); window.REBELMOUSE_TASKS_QUEUE.push(function(){ window.dataLayer.push({ 'event' : 'logedout', 'loggedOut' : 'loggedOut' }); }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ (function appendPosts () { var policyPosts = document.getElementsByClassName('policy-posts-wrapper')[0]; var policyPostsMenu = document.querySelector('.policy-posts-span'); policyPostsMenu.append(policyPosts); policyPosts.style.display = "block"; var empolicyPosts = document.getElementsByClassName('em-policy-posts-wrapper')[0]; var empolicyPostsMenu = document.querySelector('.em-policy-posts-span'); empolicyPostsMenu.append(empolicyPosts); empolicyPosts.style.display = "block"; var dataPosts = document.getElementsByClassName('data-posts-wrapper')[0]; var dataPostsMenu = document.querySelector('.data-posts-span'); dataPostsMenu.append(dataPosts); dataPosts.style.display = "block"; })(); }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ document.querySelectorAll(".my-mni").forEach(function(item){ item.href="/core/users/email_login/"; item.innerHTML="Log In"; }) }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ document.querySelector('.signup-form').addEventListener('submit', () => { window.dataLayer = window.dataLayer || []; dataLayer.push({ 'event' : 'submission_click', 'event_category': "Sign Up Button Clicks", 'event_label': "Posts" }); }) }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ REBELMOUSE_STDLIB.createElementChangeListener('.signup-form.authentication--form',function(item){ item.onsubmit=function(e){ ga('b.send', 'event', {eventCategory: 'Signup', eventAction: 'CompletedForm', eventLabel:'pageTitle', eventValue:15}); window.dataLayer = window.dataLayer || []; dataLayer.push({ 'event' : 'signup_click', 'event_category': "Signup", 'event_action': 'CompletedForm', 'event_label': 'pageTitle', 'event_value': 15 }); } }) }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ document.querySelectorAll("img").forEach(function (img) { img.addEventListener("contextmenu", function (e) { return false; }); }); document .querySelector(".site-logo img") .addEventListener("contextmenu", function (e) { return true; }); }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ document.querySelector('.signup-form').addEventListener('submit', () => { window.dataLayer = window.dataLayer || []; dataLayer.push({ 'event' : 'submission_click', 'event_category': "Sign Up Button Clicks", 'event_label': "Posts" }); }) }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ REBELMOUSE_STDLIB.createElementChangeListener('.signup-form.authentication--form',function(item){ item.onsubmit=function(e){ ga('b.send', 'event', {eventCategory: 'Signup', eventAction: 'CompletedForm', eventLabel:'pageTitle', eventValue:15}); window.dataLayer = window.dataLayer || []; dataLayer.push({ 'event' : 'signup_click', 'event_category': "Signup", 'event_action': 'CompletedForm', 'event_label': 'pageTitle', 'event_value': 15 }); } }) }); window.REBELMOUSE_TASKS_QUEUE.push(function(){ let posts = document.querySelectorAll(".all-content-wrapper .widget:not(.stream-story-processed)"); window.check_story_posts(posts, "streamOfPosts"); }); window.REBELMOUSE_LOW_TASKS_QUEUE.push(function(){ function populateInputsWithAPAPI(c) { document.querySelectorAll('.signup-form input[name="country"]').forEach(el => { el.setAttribute("value", c.country_name); }); document.querySelectorAll('.signup-form .country_name').forEach(el => { el.setAttribute("value", c.country_name); }); let country_code = c && c.country_code ? c.country_code.toLowerCase() : "auto"; document.querySelectorAll('.signup-form .country_code').forEach(el => { el.setAttribute("value", country_code); }); document.querySelectorAll('.signup-form .selected_country').forEach(el => { el.setAttribute("value", country_code); }); } const fetch = function (err, res) { var r = new XMLHttpRequest(); r.open("GET", err, !0), (r.responseType = "json"), (r.onload = function () { var err = r.status; res(200 === err ? null : err, r.response); }), r.send(); }; function setupCountry() { if (window.preventDuplicateExec) { return; } window.preventDuplicateExec = true; window.REBELMOUSE_STDLIB.onElementInViewport({ threshold: 0, firstOnly: true, oneTime: true, selector: ".signup-form", onIntersect: (entry) => { // when you need to get access to that data you call it in that way: let ipapiData = localStorage.getItem("ipapiData"); if (!ipapiData) { fetch("https://ipapi.co/json/", function (err, ipData) { console.log("populating inputs with data from IP API "); localStorage.setItem("ipapiData", JSON.stringify(ipData)); populateInputsWithAPAPI(ipData); }); } else { console.log( "populating inputs with data from IP API data stored in local storage" ); populateInputsWithAPAPI(JSON.parse(ipapiData)); } }, }); } setupCountry(); }); window.REBELMOUSE_LOW_TASKS_QUEUE.push(function(){ /* const sidebar = document.querySelector('.left-sidebar-container'); const stickyContent = document.querySelector('.sticky-content'); const siteContent = document.querySelector('.all-posts-stream'); if (sidebar && stickyContent && siteContent) { if (siteContent.clientHeight > sidebar.clientHeight) { console.log('grater -> ', siteContent.clientHeight + ' > ' + sidebar.clientHeight); stickyContent.style.height = (siteContent.clientHeight - sidebar.clientHeight) + 'px'; } } */ }); window.REBELMOUSE_LOW_TASKS_QUEUE.push(function(){ function populateInputsWithAPAPI(c) { document.querySelectorAll('.signup-form input[name="country"]').forEach(el => { el.setAttribute("value", c.country_name); }); document.querySelectorAll('.signup-form .country_name').forEach(el => { el.setAttribute("value", c.country_name); }); let country_code = c && c.country_code ? c.country_code.toLowerCase() : "auto"; document.querySelectorAll('.signup-form .country_code').forEach(el => { el.setAttribute("value", country_code); }); document.querySelectorAll('.signup-form .selected_country').forEach(el => { el.setAttribute("value", country_code); }); } const fetch = function (err, res) { var r = new XMLHttpRequest(); r.open("GET", err, !0), (r.responseType = "json"), (r.onload = function () { var err = r.status; res(200 === err ? null : err, r.response); }), r.send(); }; function setupCountry() { if (window.preventDuplicateExec) { return; } window.preventDuplicateExec = true; window.REBELMOUSE_STDLIB.onElementInViewport({ threshold: 0, firstOnly: true, oneTime: true, selector: ".signup-form", onIntersect: (entry) => { // when you need to get access to that data you call it in that way: let ipapiData = localStorage.getItem("ipapiData"); if (!ipapiData) { fetch("https://ipapi.co/json/", function (err, ipData) { console.log("populating inputs with data from IP API "); localStorage.setItem("ipapiData", JSON.stringify(ipData)); populateInputsWithAPAPI(ipData); }); } else { console.log( "populating inputs with data from IP API data stored in local storage" ); populateInputsWithAPAPI(JSON.parse(ipapiData)); } }, }); } setupCountry(); });