Late Friday, a US appeals court ruled that many of President Donald Trump’s tariffs were illegal. However, they will remain in place until October.
Attention now turns to Friday’s US jobs report, a key release ahead of the Fed’s mid-September meeting, where markets expect a rate cut.
US markets will be closed Monday for the Labor Day holiday.
In the UK, Bank of England officials will testify to Parliament’s Treasury Select Committee on Wednesday regarding the August Monetary Stability Report. On Thursday, the BoE will publish its August Decision Maker Panel survey. Daiwa noted that with inflation rebounding since April and expected to peak near 4.0% y/y in September, the survey will be closely watched for signs of upward pressure on business costs and wage expectations.
In Europe, flash euro area inflation data will be the main highlight for investors.
Energy base effects are expected to nudge euro area headline inflation higher, according to SocGen. The bank noted that with national reports published last week, around 78% of the euro area figure was already known ahead of the release. “From these reports, we expect headline inflation to rise by 0.1pp to 2.3% y/y. However, our unrounded forecast is 2.07% y/y, so there remains a slight risk the figure rounds down to 2.0%,” analysts said. SocGen expects core inflation to remain steady at 2.3% y/y.
Speakers: BoJ’s Himino | ECB’s Muller
Wednesday 3 September
01:30 - Australia Q2 GDP Consensus: Q/Q 0.5% (prev 0.2%)
Analysts at Commonwealth Bank of Australia said they expected the data to confirm a gradual upswing is underway, estimating quarterly growth of 0.4% in Q2, based on the partial data released so far. “We will update our estimate on Tuesday, following the final partial data. Household consumption is expected to be a small positive contributor. Public demand is anticipated to see a rebound after the shock fall last quarter. The external sector is also likely to add to growth but will largely be offset by a decline in inventories.”
SocGen said, “While clearly not nearly as important in shaping perceptions of the labour market, the JOLTS report for July merits attention, with job openings, quits and layoffs all providing important information […], to date, the survey does not point to a sudden and severe deterioration.”
23:30- Japan Jul Labour Cash Earnings Consensus: Y/Y -0.6% (prev -1.3%)
ING noted that household spending and labour cash earnings data will be released on Friday. “Both are expected to improve amid solid wage growth and cooling inflation. If we’re right, market expectations on the Bank of Japan's rate hike in October will only increase.”
Speakers: RBA’s Hauser | ECB’s Ciplollone | Fed’s Williams
“For July, we expect a 0.7% m/m increase in factory orders, rebounding from a 1% drop in June. Factory orders increased strongly in Q2, up 3.1% q/q, picking up from a weak Q1,” posited SocGen. “With inventory levels adjusting after a period of front-loading in activity and high uncertainty, it is possible that there will be a lack of clear trends in orders over the coming months. Exporting companies in the manufacturing sectors should gradually see tariffs eating into their margins, something that could either unleash a period of increased investment or further job layoffs.” The back said it expected both domestic and foreign orders to have improved in July, with foreign orders possibly having started to see some weakening in demand in H2 due to the tariffs.
Barclays points out that these were delayed from earlier in the month due to concerns about data quality, so it will be hard to take a strong signal from them. “However, our data science nowcasting model suggests a relatively weak 0.1% m/m growth in retail sales volumes, leading to a 0.8pp deceleration in the y/y rate, to 0.9%,” wrote bank analysts in a note.
12:30 - US Aug Nonfarm Payrolls Consensus: 75.0k (prev 73.0k)
Analysts at HSBC told US labour market data would be a key focal point. “Previous releases for nonfarm payrolls showed sharp downward revisions to both government and private sector data. Overall, we are seeing early signs of a slowdown in the US labour market. In August, we expect nonfarm payrolls to rise by 70k, after 73k in July. This will likely result in a slightly higher unemployment rate of 4.3%, which chimes with our expectation of a September policy rate cut. Financial markets will also be watching for any revisions to the two previous months. Average hourly earnings are likely to rise at a similar pace of 0.3% m/m in August, with the y/y rate falling to 3.7% from 3.9%.”
12:30 - Canada Aug Labour Market Report
Consensus: Net Change 10.0k (prev -40.8k)
TD Securities predicted monthly job growth of just 5k in August after the -41k print the prior month, which would see the 6-month trend hold near 5k/month and push the UE rate back to its cycle highs of 7.0%. “The goods sector should exert a drag with S&P's manufacturing PMI hinting at further layoffs, while wages should also give back some recent strength with a 0.2pp deceleration to 3.3% y/y.”
Speakers: Fed’s Goolsbee
All Times GMT
/*jshint esversion: 6 */
var socket;
var assigned_server = 3001;
var distributor_server = 3010;
var publisher_channel = '';
var broadcaster_channel = '';
var remote_ip = '';
var session_info = {};
var logging_interval;
var logging_interval_time = 120000;
var socket_emits = 0;
var session_start_time;
var reconnectionDelayGrowFactor = 1.2;
var reconnection_delay = 1000;
var playing = false;
var connected_to_assigned = false;
var socket_close_timeout;
var player_disconnected_annoucement_play_delay = 1500;
var player_disconnected_annoucement_play_timeout = null;
self.onmessage = function (msg) {
switch(msg.data.action) {
case 'Reactivate': reactivate(); break;
case 'ConnectDistributor': connect_to_distributor(msg); break;
case 'SessionStaticInfo': session_static_info(msg); break;
case 'SessionInfo': update_session_info(msg.data); break;
case 'PauseLogging': clearTimeout(logging_interval); break;
case 'RestartLogging': postMessage({action: 'RequestSessionStaticInfo' }); break;
case 'JoinPublisherChannel': join_publisher_channel(msg.data); break;
case 'JoinPlayerChannel': join_player_channel(msg.data); break;
case 'CheckChannelStatus': check_channel_status(msg.data); break;
case 'PlayerLogResponse': player_log_response(msg.data); break;
case 'CloseSocket': close_socket(); break;
case 'RequestMessageSearch': request_message_search(msg.data); break;
case 'RequestMoreMessages': request_more_messages(msg.data); break;
case 'PlayerDisconnectedAnnoucementTimeoutStart': player_disconnected_annoucement_timeout_start(); break;
case 'PlayerDisconnectedAnnoucementTimeoutClear': player_disconnected_annoucement_timeout_clear(); break;
}
};
function player_disconnected_annoucement_timeout_clear() {
clearTimeout(player_disconnected_annoucement_play_timeout);
player_disconnected_annoucement_play_timeout = null;
}
function player_disconnected_annoucement_timeout_start() {
player_disconnected_annoucement_play_timeout = setTimeout(function() { send_play_disconnect_annoucement(); }, player_disconnected_annoucement_play_delay );
}
function send_play_disconnect_annoucement() {
postMessage({action: "PlayDisconnectAnnoucement"});
}
function reactivate() {
playing = false;
connect_to_assigned_server();
}
function player_log_response(data) {
var data_array = {};
data_array.type = 'PlayerLogResponse';
data_array.respond_to_socket_final = data.respond_to_socket_final;
data_array.respond_to_socket = data.respond_to_socket;
data_array.player_socket_id = data.player_socket_id;
data_array.logs = data.logs;
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
}
function request_message_search(data) {
var data_array = {};
data_array.type = 'request_message_search';
data_array.publisher_channel = data.publisher_channel;
data_array.search_term = data.search_term;
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
}
function request_more_messages(data) {
var data_array = {};
data_array.type = 'request_more_messages';
data_array.publisher_channel = data.publisher_channel;
data_array.last_record_id = data.last_record_id;
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
}
function check_channel_status(data) {
var data_array = {};
data_array.type = 'check_channel_status';
data_array.app_name = data.app_name;
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1 && connected_to_assigned) { socket.send(msg_string); }
else { setTimeout(function() { check_channel_status(data); },500); }
}
function check_channel_status_response(data) {
postMessage({ action: 'CheckChannelStatusReponse', stream_status: data.stream_status.status, onair: data.stream_status.onair, connected: data.stream_status.connected });
}
function join_publisher_channel(data) {
var data_array = {};
data_array.type = 'join_publisher_channel';
if (typeof data.api_key !== 'undefined') { data_array.api_key = data.api_key; }
else {
data_array.publisher_channel = data.publisher_channel;
data_array.username = data.username;
data_array.subscriber_group = data.subscriber_group;
data_array.display_name = data.display_name;
data_array.single_sign_on = data.single_sign_on;
data_array.remote_ip = data.remote_ip;
data_array.http_referrer = data.http_referrer;
data_array.current_page = data.current_page;
data_array.php_session_id = data.php_session_id;
data_array.from_react = data.from_react;
}
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) {
socket.send(msg_string); }
postMessage({action: 'PublisherChannelJoined' });
}
function session_static_info(msg) {
set_static_session_info(msg.data);
start_log();
}
function connect_to_distributor(msg) {
publisher_channel = msg.data.publisher_channel;
remote_ip = msg.data.remote_ip;
socket = new WebSocket("wss://ws.livesquawk.com/ws"+distributor_server);
socket.onopen = function(event) { request_server_assignment(); };
socket.onmessage = function(event) {
var msg_string = event.data.toString();
var data = JSON.parse(msg_string);
switch(data.type) {
case 'server_assignment_response': server_assignment_response(data); break;
}
};
}
function session_info_interval() {
postMessage({action: 'RequestSessionInfo' });
logging_interval = setTimeout(session_info_interval,logging_interval_time);
}
function server_assignment_response(data) {
assigned_server = data.selected_server;
socket.close();
connect_to_assigned_server();
}
function request_server_assignment() {
var data_array = {};
data_array.type = 'request_server_assignment';
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
}
function connect_to_assigned_server() {
socket = new WebSocket("wss://ws.livesquawk.com/ws"+assigned_server);
socket.onopen = function(event) {
postMessage({ action: 'VisibleConsole',console_string: "Connected to server "+assigned_server });
console.log("Connected to server "+assigned_server);
postMessage({ action: 'ConnectedToAssigned' });
connected_to_assigned = true;
if (playing) {
postMessage({ action: 'RejoinPlayerChannel' });
}
};
socket.onmessage = function(event) {
var msg_string = event.data.toString();
var data = JSON.parse(msg_string);
if (data.type != 'server_ping') { /* console.log(data.type); */ }
switch(data.type) {
case 'reconnect': postMessage({ action: 'VisibleConsole',console_string: "Reconnected" }); break;
case 'reload': postMessage({ action: 'Reload' }); break;
case 'start_log_response': start_log_response(data); break;
case 'application_refresh_start': application_refresh_start(data); break;
case 'application_refresh_stop': application_refresh_stop(data); break;
case 'player_log_request':
case 'check_channel_status_response': check_channel_status_response(data); break;
case 'PlayerLogRequest':
case 'new_tweet':
case 'new_latest_news':
case 'delete_report':
case 'add_report':
case 'add_ref_doc':
case 'calendar_change':
case 'calendar_insert':
case 'calendar_delete':
case 'new_note':
case 'AppStart':
case 'AppStop':
case 'BroadcasterStarted':
case 'BroadcasterStopped':
case 'added_cme_report':
case 'updated_cme_report':
case 'added_cme_commentary':
case 'updated_cme_commentary':
case 'server_assignment_response':
case 'initial_messages':
case 'message_categories':
case 'more_messages':
case 'matched_messages':
pass_straight_to_post_message(data);
break;
case 'output':
case 'server_ping':
case 'reconnect':
case 'disconnect':
break;
}
};
socket.onerror = function(event) {
postMessage({ action: 'VisibleConsole',console_string: "LS Socket Error" + event.type });
console.log(event);
postMessage({ action: 'LSSocketConnectionError' });
};
socket.onclose = function(event) {
console.log('Socket is closed. Reconnect will be attempted in 1 second.', event.reason);
socket_close_timeout = setTimeout(connect_to_assigned_server, reconnection_delay);
reconnection_delay = reconnection_delay*reconnectionDelayGrowFactor;
connected_to_assigned = false;
};
}
function close_socket() {
clearTimeout(socket_close_timeout);
socket_close_timeout = null;
socket.onclose = function(event) {};
socket.onmessage = function(event) {};
socket.onerror = function(event) {};
socket.close(1000);
console.log('Socket Closed');
}
function pass_straight_to_post_message(data) {
data.action = data.type;
postMessage(data);
}
function join_player_channel(data) {
var data_array = {};
data_array.type = 'join_player_channel';
data_array.player_channel = data.player_channel;
data_array.remote_ip = data.remote_ip;
data_array.username = data.username;
data_array.app_name = data.app_name;
data_array.onair_status = data.onair_status;
data_array.http_referrer = data.http_referrer;
data_array.current_page = data.current_page;
data_array.php_session_id = data.php_session_id;
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
postMessage({action: 'PlayerChannelJoined' });
playing = true;
}
function start_log_response(data) {
session_info.session_id = data.log_record_id;
session_info_interval();
}
function application_refresh_start(data) {
if (data.app_name == session_info.application_name) { postMessage({action: 'ApplicationRefreshStart' }); }
}
function application_refresh_stop(data) {
if (data.app_name == session_info.application_name) { postMessage({action: 'ApplicationRefreshStop' }); }
}
function set_static_session_info(data) {
session_info.browser_codename = data.browser_codename;
session_info.browser_name = data.browser_name;
session_info.user_agent = data.user_agent;
session_info.browser_version = data.browser_version;
session_info.cookies_enabled = data.cookies_enabled;
session_info.platform = data.platform;
session_info.player_version = data.player_version;
session_info.stream = data.stream;
session_info.connection_protocol = data.protocol;
session_info.delay_target = data.delay_target;
session_info.session_email = data.session_email;
session_info.remote_ip = data.remote_ip;
session_info.php_session_id = data.php_session_id;
session_info.application_name = data.application_name;
session_info.http_referrer = data.http_referrer;
}
function start_log() {
var session_start_date = new Date();
session_start_time = session_start_date.getTime();
var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
var session_start_date_string = session_start_date.getDate() + " " + months[session_start_date.getMonth()] + " " + session_start_date.getFullYear();
var data_array = {};
data_array.type = 'webrtc_start_log';
data_array.remote_ip = session_info.remote_ip;
data_array.username = session_info.session_email;
data_array.php_session_id = session_info.php_session_id;
data_array.webrtc_protocol = '';
data_array.session_start_time = (session_start_time/1000).toFixed(0);
data_array.stream_name = session_info.stream;
data_array.session_start_date = session_start_date_string;
var msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
}
function update_session_info(data) {
var data_array = {};
var msg_string = '';
var current_date = new Date();
var current_time = current_date.getTime();
session_info.protocol = data.protocol;
session_info.curr_delay = (data.effective_latency / 1000).toFixed(2);
session_info.session_length = current_time - session_start_time;
session_info.ping_time = data.ping_time;
session_info.jitter = data.jitter;
session_info.packet_loss = data.packet_loss;
session_info.effective_latency = data.effective_latency;
session_info.mean_opinion_score = data.mean_opinion_score;
session_info.restarts = data.restarts;
if (socket_emits == 0) {
data_array = {};
data_array.type = 'webrtc_log_data_full';
data_array.connection_protocol = session_info.protocol;
data_array.threshold = 0;
data_array.curr_delay = session_info.curr_delay;
data_array.session_length = session_info.session_length;
data_array.date = current_time;
data_array.browser_codename = session_info.browser_codename;
data_array.browser_name = session_info.browser_name;
data_array.user_agent = session_info.user_agent;
data_array.browser_version = session_info.browser_version;
data_array.cookies_enabled = session_info.cookies_enabled;
data_array.platform = session_info.platform;
data_array.player_version = session_info.player_version;
data_array.stream = session_info.stream;
data_array.restarts = session_info.restarts;
data_array.delay_target = 0;
data_array.op_sys = '';
data_array.flash_version = '';
data_array.remote_ip = session_info.remote_ip;
data_array.http_referrer = session_info.http_referrer;
data_array.php_session_id = session_info.php_session_id;
data_array.user_email = session_info.session_email;
data_array.webrtc_protocol = session_info.protocol;
data_array.ping_time = session_info.ping_time;
data_array.jitter = session_info.jitter;
data_array.packet_loss = session_info.packet_loss;
data_array.effective_latency = session_info.effective_latency;
data_array.mean_opinion_score = session_info.mean_opinion_score;
data_array.session_id = session_info.session_id;
msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
}
else {
data_array = {};
data_array.type = 'webrtc_log_data';
data_array.session_id = session_info.session_id;
data_array.php_session_id = session_info.php_session_id;
data_array.connection_protocol = session_info.protocol;
data_array.restarts = session_info.restarts;
data_array.threshold = 0;
data_array.curr_delay = session_info.curr_delay;
data_array.session_length = session_info.session_length;
data_array.date = current_time;
data_array.webrtc_protocol = session_info.protocol;
data_array.ping_time = session_info.ping_time;
data_array.jitter = session_info.jitter;
data_array.packet_loss = session_info.packet_loss;
data_array.effective_latency = session_info.effective_latency;
data_array.mean_opinion_score = session_info.mean_opinion_score;
data_array.stream = session_info.stream;
msg_string = JSON.stringify(data_array);
if (socket.readyState == 1) { socket.send(msg_string); }
}
socket_emits++;
if (socket_emits == 100) { socket_emits = 0; }
}
Late Friday, a US appeals court ruled that many of President Donald Trump’s tariffs were illegal. However, they will remain in place until October.
Attention now turns to Friday’s US jobs report, a key release ahead of the Fed’s mid-September meeting, where markets expect a rate cut.
US markets will be closed Monday for the Labor Day holiday.
In the UK, Bank of England officials will testify to Parliament’s Treasury Select Committee on Wednesday regarding the August Monetary Stability Report. On Thursday, the BoE will publish its August Decision Maker Panel survey. Daiwa noted that with inflation rebounding since April and expected to peak near 4.0% y/y in September, the survey will be closely watched for signs of upward pressure on business costs and wage expectations.
In Europe, flash euro area inflation data will be the main highlight for investors.
All Times Are GMT
Speakers: --|--
09:00 - Eurozone Aug HICP / Core CPI (Flash)
Consensus: Y/Y 2.0% (prev 2.0%)/ 2.2% (prev 2.3%)
Energy base effects are expected to nudge euro area headline inflation higher, according to SocGen. The bank noted that with national reports published last week, around 78% of the euro area figure was already known ahead of the release. “From these reports, we expect headline inflation to rise by 0.1pp to 2.3% y/y. However, our unrounded forecast is 2.07% y/y, so there remains a slight risk the figure rounds down to 2.0%,” analysts said. SocGen expects core inflation to remain steady at 2.3% y/y.
Speakers: BoJ’s Himino | ECB’s Muller
01:30 - Australia Q2 GDP
Consensus: Q/Q 0.5% (prev 0.2%)
Analysts at Commonwealth Bank of Australia said they expected the data to confirm a gradual upswing is underway, estimating quarterly growth of 0.4% in Q2, based on the partial data released so far. “We will update our estimate on Tuesday, following the final partial data. Household consumption is expected to be a small positive contributor. Public demand is anticipated to see a rebound after the shock fall last quarter. The external sector is also likely to add to growth but will largely be offset by a decline in inventories.”
14:00 - US Jul JOLTS Job Openings
Consensus: 7373k (prev 7437k)
SocGen said, “While clearly not nearly as important in shaping perceptions of the labour market, the JOLTS report for July merits attention, with job openings, quits and layoffs all providing important information […], to date, the survey does not point to a sudden and severe deterioration.”
Speakers: RBA’s Bullock | ECB’s Lagarde | BoE’s Bailey, Breeden, Lombardelli, Taylor, Greene | Fed’s Musalem
23:30- Japan Jul Labour Cash Earnings
Consensus: Y/Y -0.6% (prev -1.3%)
ING noted that household spending and labour cash earnings data will be released on Friday. “Both are expected to improve amid solid wage growth and cooling inflation. If we’re right, market expectations on the Bank of Japan's rate hike in October will only increase.”
Speakers: RBA’s Hauser | ECB’s Ciplollone | Fed’s Williams
06:00 - Germany Jul Industrial Orders
Consensus: M/M 0.5% (prev -1.0%)
“For July, we expect a 0.7% m/m increase in factory orders, rebounding from a 1% drop in June. Factory orders increased strongly in Q2, up 3.1% q/q, picking up from a weak Q1,” posited SocGen. “With inventory levels adjusting after a period of front-loading in activity and high uncertainty, it is possible that there will be a lack of clear trends in orders over the coming months. Exporting companies in the manufacturing sectors should gradually see tariffs eating into their margins, something that could either unleash a period of increased investment or further job layoffs.” The back said it expected both domestic and foreign orders to have improved in July, with foreign orders possibly having started to see some weakening in demand in H2 due to the tariffs.
06:00 - UK Jul Retail Sales
Consensus: M/M 0.4% (prev 0.9%)
Barclays points out that these were delayed from earlier in the month due to concerns about data quality, so it will be hard to take a strong signal from them. “However, our data science nowcasting model suggests a relatively weak 0.1% m/m growth in retail sales volumes, leading to a 0.8pp deceleration in the y/y rate, to 0.9%,” wrote bank analysts in a note.
12:30 - US Aug Nonfarm Payrolls
Consensus: 75.0k (prev 73.0k)
Analysts at HSBC told US labour market data would be a key focal point. “Previous releases for nonfarm payrolls showed sharp downward revisions to both government and private sector data. Overall, we are seeing early signs of a slowdown in the US labour market. In August, we expect nonfarm payrolls to rise by 70k, after 73k in July. This will likely result in a slightly higher unemployment rate of 4.3%, which chimes with our expectation of a September policy rate cut. Financial markets will also be watching for any revisions to the two previous months. Average hourly earnings are likely to rise at a similar pace of 0.3% m/m in August, with the y/y rate falling to 3.7% from 3.9%.”
12:30 - Canada Aug Labour Market Report
Consensus: Net Change 10.0k (prev -40.8k)
TD Securities predicted monthly job growth of just 5k in August after the -41k print the prior month, which would see the 6-month trend hold near 5k/month and push the UE rate back to its cycle highs of 7.0%. “The goods sector should exert a drag with S&P's manufacturing PMI hinting at further layoffs, while wages should also give back some recent strength with a 0.2pp deceleration to 3.3% y/y.”
Speakers: Fed’s Goolsbee