Treasury Auctions Dominate as Europe Remains in Summer Lull
Global sovereign issuance remains relatively busy this week, dominated by the US Treasury's latest front-end and belly auction cycle. Citi expects USD211bn of Treasury supply across 2-year, 5-year and 7-year notes and a 2-year FRN, while euro-area issuance is expected at around EUR22-25bn. The UK DMO brings a single GBP4bn conventional gilt auction, with Japan, Australia and New Zealand also active.
The European calendar remains relatively subdued by historical standards as the summer slowdown persists, although UBS expects issuance to pick up significantly following the summer break.
USD211bn Treasury Slate Concentrated in the Belly
The US Treasury will auction USD211bn this week across four operations:
- Tuesday: USD69bn new 2-year note
- Wednesday: USD70bn new 5-year note and USD28bn reopening of the 2-year FRN
- Thursday: USD44bn new 7-year note
UBS reports USD183bn of nominal Treasury issuance, treating the USD28bn FRN separately, while Citi includes the floater to arrive at USD211bn overall.
From a duration perspective, Citi estimates around USD81mn/bp of DV01 across the week's Treasury auctions. The greatest burden lies in the belly, with approximately USD30.9mn/bp from the 5-year and USD28.8mn/bp from the 7-year, compared with USD15.1mn/bp from the 2-year.
Citi also calculates USD22.3bn of coupon payments and USD132.4bn of redemptions eligible for reinvestment, providing around USD154.7bn of cash-flow support against the week's gross supply.
Italy Leads EUR22-25bn European Calendar
Euro-area sovereign supply is expected at around EUR22-25bn, with Belgium, Germany and Italy accounting for the bulk of issuance. Citi additionally includes a small Finnish operation in its EUR25bn estimate.
The calendar includes:
- Monday – Belgium: EUR2.6-3bn across OLOs maturing in 2031, 2036 and 2045.
- Tuesday – Germany: EUR5bn September 2028 Schatz.
- Wednesday – Germany: EUR2bn across May 2041 and August 2048 Bunds.
- Friday – Italy: Conventional BTP and CCTeu supply, with UBS expecting EUR6-7bn of BTPs and EUR1-2bn of floaters.
Citi estimates approximately EUR14mn/bp of EGB DV01 supply, with the greatest duration exposure around the 10-year sector. Its maturity breakdown also highlights Germany's long-dated Bund auctions as an important contributor despite their relatively small nominal size.
European Cash Flows - Reinvestment Flows Cushion Gross Supply
Citi identifies EUR7.8bn of coupons and EUR13.2bn of redemptions eligible for reinvestment on its trade-date methodology, implying approximately EUR21bn of cash returning to investors. The redemption flow is concentrated in Italy.
UBS, using a different methodology, expects around EUR14bn of coupons and redemptions during the week and approximately EUR82bn over the next four weeks. Its breakdown shows EUR13.2bn of Italian redemptions alongside coupons from Italy and Belgium.
On UBS's conventional supply calculation, EUR18.5bn of gross issuance is offset by EUR1.1bn of coupons and EUR13.2bn of redemptions, leaving net issuance of just EUR4.2bn.
GBP4bn 7-Year Gilt Auction
The UK DMO will tap GBP4bn of the 4.125% March 2033 gilt on Tuesday, representing the country's only scheduled primary issuance this week.
Citi estimates the auction carries approximately GBP2.2mn/bp of DV01, concentrated entirely in the 7-year sector. Unlike the US and euro area, however, there are no gilt coupon or redemption flows eligible for reinvestment this week, leaving the auction without a corresponding cash-flow offset.
Japan Leads Regional Issuance
Japan has around JPY3.7tn of scheduled issuance, comprising a JPY250bn 10-year Climate Transition Bond on Monday, a JPY650bn liquidity enhancement operation on Wednesday and JPY2.8tn of 2-year JGBs on Friday.
Australia will issue AUD2bn, split between AUD1.2bn of the November 2031 ACGB on Tuesday and AUD800mn of the December 2035 ACGB on Friday. New Zealand is expected to sell around NZD450mn of NZGBs on Thursday.
Supply Snapshot
Bottom Line
This week's most important supply test is not necessarily the largest in nominal terms. US Treasury issuance falls to USD119bn, but the 10-year and 30-year auctions concentrate a sizeable amount of duration into the middle of the week, while the announcement of larger Treasury long-end buybacks could provide an offsetting technical influence.
Europe faces a different challenge. Gross EGB supply of around EUR20bn is manageable, but virtually no coupon or redemption cash is available to absorb it. The week's net supply burden is therefore unusually close to the gross figure, while BofA's positioning data shows investors already relatively short in parts of the German curve.
The broader message from the research is that September marks the genuine restart of the sovereign supply calendar. Near-term cash flows become significantly more favourable next week, but issuance, syndications and DV01 are expected to build again through the second half of the month, culminating in a particularly duration-heavy final week of September.
/*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; }
}
Overview
Treasury Auctions Dominate as Europe Remains in Summer Lull
Global sovereign issuance remains relatively busy this week, dominated by the US Treasury's latest front-end and belly auction cycle. Citi expects USD211bn of Treasury supply across 2-year, 5-year and 7-year notes and a 2-year FRN, while euro-area issuance is expected at around EUR22-25bn. The UK DMO brings a single GBP4bn conventional gilt auction, with Japan, Australia and New Zealand also active.
The European calendar remains relatively subdued by historical standards as the summer slowdown persists, although UBS expects issuance to pick up significantly following the summer break.
The US Treasury will auction USD211bn this week across four operations:
- Tuesday: USD69bn new 2-year note
- Wednesday: USD70bn new 5-year note and USD28bn reopening of the 2-year FRN
- Thursday: USD44bn new 7-year note
UBS reports USD183bn of nominal Treasury issuance, treating the USD28bn FRN separately, while Citi includes the floater to arrive at USD211bn overall.
From a duration perspective, Citi estimates around USD81mn/bp of DV01 across the week's Treasury auctions. The greatest burden lies in the belly, with approximately USD30.9mn/bp from the 5-year and USD28.8mn/bp from the 7-year, compared with USD15.1mn/bp from the 2-year.
Citi also calculates USD22.3bn of coupon payments and USD132.4bn of redemptions eligible for reinvestment, providing around USD154.7bn of cash-flow support against the week's gross supply.
Euro-area sovereign supply is expected at around EUR22-25bn, with Belgium, Germany and Italy accounting for the bulk of issuance. Citi additionally includes a small Finnish operation in its EUR25bn estimate.
The calendar includes:
- Monday – Belgium: EUR2.6-3bn across OLOs maturing in 2031, 2036 and 2045.
- Tuesday – Germany: EUR5bn September 2028 Schatz.
- Wednesday – Germany: EUR2bn across May 2041 and August 2048 Bunds.
- Wednesday – Italy: Short-dated BTP supply, with UBS expecting EUR2-3bn.
- Thursday – Finland: EUR400mn ORI-RFGB operation.
- Friday – Italy: Conventional BTP and CCTeu supply, with UBS expecting EUR6-7bn of BTPs and EUR1-2bn of floaters.
Citi estimates approximately EUR14mn/bp of EGB DV01 supply, with the greatest duration exposure around the 10-year sector. Its maturity breakdown also highlights Germany's long-dated Bund auctions as an important contributor despite their relatively small nominal size.
Citi identifies EUR7.8bn of coupons and EUR13.2bn of redemptions eligible for reinvestment on its trade-date methodology, implying approximately EUR21bn of cash returning to investors. The redemption flow is concentrated in Italy.
UBS, using a different methodology, expects around EUR14bn of coupons and redemptions during the week and approximately EUR82bn over the next four weeks. Its breakdown shows EUR13.2bn of Italian redemptions alongside coupons from Italy and Belgium.
On UBS's conventional supply calculation, EUR18.5bn of gross issuance is offset by EUR1.1bn of coupons and EUR13.2bn of redemptions, leaving net issuance of just EUR4.2bn.
The UK DMO will tap GBP4bn of the 4.125% March 2033 gilt on Tuesday, representing the country's only scheduled primary issuance this week.
Citi estimates the auction carries approximately GBP2.2mn/bp of DV01, concentrated entirely in the 7-year sector. Unlike the US and euro area, however, there are no gilt coupon or redemption flows eligible for reinvestment this week, leaving the auction without a corresponding cash-flow offset.
Japan has around JPY3.7tn of scheduled issuance, comprising a JPY250bn 10-year Climate Transition Bond on Monday, a JPY650bn liquidity enhancement operation on Wednesday and JPY2.8tn of 2-year JGBs on Friday.
Australia will issue AUD2bn, split between AUD1.2bn of the November 2031 ACGB on Tuesday and AUD800mn of the December 2035 ACGB on Friday. New Zealand is expected to sell around NZD450mn of NZGBs on Thursday.
This week's most important supply test is not necessarily the largest in nominal terms. US Treasury issuance falls to USD119bn, but the 10-year and 30-year auctions concentrate a sizeable amount of duration into the middle of the week, while the announcement of larger Treasury long-end buybacks could provide an offsetting technical influence.
Europe faces a different challenge. Gross EGB supply of around EUR20bn is manageable, but virtually no coupon or redemption cash is available to absorb it. The week's net supply burden is therefore unusually close to the gross figure, while BofA's positioning data shows investors already relatively short in parts of the German curve.
The broader message from the research is that September marks the genuine restart of the sovereign supply calendar. Near-term cash flows become significantly more favourable next week, but issuance, syndications and DV01 are expected to build again through the second half of the month, culminating in a particularly duration-heavy final week of September.