BoJ Set To Hike As Focus Shifts To Pace Of Further Tightening
Prime Minister of Japan, Sanae Takaichi, meets the governor of the Bank of Japan
• Board expected to raise policy rate 25bps to 1.25% • Ueda’s guidance on speed and scale of future hikes in focus • Markets price another quarter-point increase before year-end • August inflation figures due ahead of the decision • Rate announcement expected from around 02:45 to 04:00 GMT • Press conference with Ueda set for 06:30 GMT
LiveSquawk News | 17 September 2026
The Bank of Japan is widely expected to raise its policy rate by 25 basis points to 1.25% on Friday, leaving investors focused on how Governor Kazuo Ueda characterises the path towards less accommodative monetary settings.
A rate increase is now viewed as a near certainty following firmer economic data and increasingly hawkish comments from policymakers. The move would take borrowing costs to their highest level in more than three decades and mark the second quarter-point increase in three months.
With the decision largely priced in, any outsized market reaction is likely to come from the policy statement and Ueda’s subsequent press conference. Investors will be looking for guidance on the timing of the next move, the level at which policymakers consider rates to be neutral and whether the Bank is becoming more concerned about underlying inflation overshooting its 2% target.
Markets have brought forward expectations for further tightening and are now pricing another 25bp increase before the end of the year. The question is whether Ueda validates that view or maintains the cautious, meeting-by-meeting approach that has characterised the tightening cycle so far.
Friday’s national inflation report will provide policymakers with one final reading hours before the decision. However, barring a significant downside surprise, it is unlikely to derail a move that officials have spent several weeks preparing markets for.
The case for a hike
Economic conditions appear increasingly supportive of higher interest rates. Japan’s economy is operating beyond its productive capacity, corporate profits remain strong and labour-market conditions are expected to tighten further.
Companies have also become more willing to pass higher costs through to selling prices. TD Securities noted that output prices are at record highs, while firm profits and diminishing spare capacity increase the risk of the economy overheating if monetary policy remains too accommodative.
Societe Generale said underlying inflation is approaching the Bank’s 2% target, with the pass-through into services prices remaining firm. It expects the BoJ to continue raising rates quarterly until the policy rate reaches 2%, although the pace could be influenced by movements in the yen, concerns surrounding fiscal policy and future appointments to the Policy Board.
Ueda recently said underlying inflation was “quite close” to the Bank’s target and indicated that policymakers would fully discuss the case for higher rates at each meeting, including September.
Forward guidance in focus
A stronger warning about upside price risks could reinforce expectations for another move in October or December, while greater emphasis on the cumulative effect of previous increases would suggest a more gradual approach.
Bank of America anticipates that the policy statement will retain language introduced in July acknowledging the risk that underlying inflation could overshoot 2%.
Westpac cautions hawkish hopefuls. Although officials from across the Bank’s hawk-dove spectrum have sounded increasingly determined to normalise policy, the Australian bank says Ueda may be reluctant to endorse the market’s expectation of another move before year-end.
Danske Bank takes a more hawkish view, expecting the BoJ to signal that it can tighten at a nimbler pace than during the deliberately cautious cycle seen so far. It warned that anything less would weigh heavily on the yen.
Market implications
With a 25-basis-point increase largely discounted, the immediate reaction in the yen is likely to depend on Ueda’s guidance.
MUFG says Ueda’s comments could fall short of the roughly 90bps of tightening priced in over the next year. “Governor Ueda has history on being cautious when global uncertainties rise and with rising energy prices comes rising global yields and the risk of a global equity market downturn,” the bank said. Should the governor stay true to his risk-averse history, MUFG warns of notable yen weakness.
Rabobank flags the same risk but adds that “Ueda has sufficient supportive economic data to signal a hawkish tone, which should contain any market disappointment and prevent USD/JPY from heading back to the 160.00 area.”
Political pressure
Pressure on the BoJ is also coming from beyond the market. Japan intervened alone on 30 July after USD/JPY hit 163.73, and the US Treasury joined a second round the following day, its first yen-buying operation alongside Tokyo since June 1998. Kyodo reported on 10 August that Washington agreed to take part after Ueda signalled at his 31 July press conference that the Bank could raise rates early and, if needed, quicken the pace of hikes. A senior Japanese government official told the agency that Ueda’s remarks went down well in Washington but left the Bank with no option other than to raise rates at the September meeting.
/*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; }
}
• Board expected to raise policy rate 25bps to 1.25%
• Ueda’s guidance on speed and scale of future hikes in focus
• Markets price another quarter-point increase before year-end
• August inflation figures due ahead of the decision
• Rate announcement expected from around 02:45 to 04:00 GMT
• Press conference with Ueda set for 06:30 GMT
LiveSquawk News | 17 September 2026
The Bank of Japan is widely expected to raise its policy rate by 25 basis points to 1.25% on Friday, leaving investors focused on how Governor Kazuo Ueda characterises the path towards less accommodative monetary settings.
A rate increase is now viewed as a near certainty following firmer economic data and increasingly hawkish comments from policymakers. The move would take borrowing costs to their highest level in more than three decades and mark the second quarter-point increase in three months.
With the decision largely priced in, any outsized market reaction is likely to come from the policy statement and Ueda’s subsequent press conference. Investors will be looking for guidance on the timing of the next move, the level at which policymakers consider rates to be neutral and whether the Bank is becoming more concerned about underlying inflation overshooting its 2% target.
Markets have brought forward expectations for further tightening and are now pricing another 25bp increase before the end of the year. The question is whether Ueda validates that view or maintains the cautious, meeting-by-meeting approach that has characterised the tightening cycle so far.
Friday’s national inflation report will provide policymakers with one final reading hours before the decision. However, barring a significant downside surprise, it is unlikely to derail a move that officials have spent several weeks preparing markets for.
Economic conditions appear increasingly supportive of higher interest rates. Japan’s economy is operating beyond its productive capacity, corporate profits remain strong and labour-market conditions are expected to tighten further.
Companies have also become more willing to pass higher costs through to selling prices. TD Securities noted that output prices are at record highs, while firm profits and diminishing spare capacity increase the risk of the economy overheating if monetary policy remains too accommodative.
Societe Generale said underlying inflation is approaching the Bank’s 2% target, with the pass-through into services prices remaining firm. It expects the BoJ to continue raising rates quarterly until the policy rate reaches 2%, although the pace could be influenced by movements in the yen, concerns surrounding fiscal policy and future appointments to the Policy Board.
Ueda recently said underlying inflation was “quite close” to the Bank’s target and indicated that policymakers would fully discuss the case for higher rates at each meeting, including September.
A stronger warning about upside price risks could reinforce expectations for another move in October or December, while greater emphasis on the cumulative effect of previous increases would suggest a more gradual approach.
Bank of America anticipates that the policy statement will retain language introduced in July acknowledging the risk that underlying inflation could overshoot 2%.
Westpac cautions hawkish hopefuls. Although officials from across the Bank’s hawk-dove spectrum have sounded increasingly determined to normalise policy, the Australian bank says Ueda may be reluctant to endorse the market’s expectation of another move before year-end.
Danske Bank takes a more hawkish view, expecting the BoJ to signal that it can tighten at a nimbler pace than during the deliberately cautious cycle seen so far. It warned that anything less would weigh heavily on the yen.
With a 25-basis-point increase largely discounted, the immediate reaction in the yen is likely to depend on Ueda’s guidance.
MUFG says Ueda’s comments could fall short of the roughly 90bps of tightening priced in over the next year. “Governor Ueda has history on being cautious when global uncertainties rise and with rising energy prices comes rising global yields and the risk of a global equity market downturn,” the bank said. Should the governor stay true to his risk-averse history, MUFG warns of notable yen weakness.
Rabobank flags the same risk but adds that “Ueda has sufficient supportive economic data to signal a hawkish tone, which should contain any market disappointment and prevent USD/JPY from heading back to the 160.00 area.”
Pressure on the BoJ is also coming from beyond the market. Japan intervened alone on 30 July after USD/JPY hit 163.73, and the US Treasury joined a second round the following day, its first yen-buying operation alongside Tokyo since June 1998. Kyodo reported on 10 August that Washington agreed to take part after Ueda signalled at his 31 July press conference that the Bank could raise rates early and, if needed, quicken the pace of hikes. A senior Japanese government official told the agency that Ueda’s remarks went down well in Washington but left the Bank with no option other than to raise rates at the September meeting.