Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Sunday, July 5
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Trending»South African, Nigerian currencies rank among top global performers in 2025
    Trending

    South African, Nigerian currencies rank among top global performers in 2025

    Anjianjei ConstantineBy Anjianjei ConstantineJuly 5, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    South African, Nigerian currencies rank among top global performers in 2025
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 21

    South African, Nigerian currencies rank among top global performers in 2025

    South African, Nigerian currencies rank among top global performers in 2025

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    3 min listen
    Audio reading is not supported on this browser.

    A major driver of the gains, however, has been a weaker US dollar against global currencies

    Two African currencies ranked among the world’s top performers against the global benchmark, the US dollar, in the one year ending December 2025.
    These are the South African rand and the Nigerian naira, which ranked third and seventh globally, appreciating by 16.4 per cent and 13.5 per cent, respectively.
    Data analysis from Trading Economics shows that several currencies with large economies posted double-digit gains during the period as global capital flows shifted and domestic economic fundamentals improved.

    More To Read

    • Kenya to benefit from Sh1.2 billion AfDB financial integration grant
    • Contractors face blacklist as Parliament flags delays in Sh45.5 billion water programme
    • Stop counting jobs and instead count value-creating enterprises, African states told
    • AfDB bets on agriculture to absorb Africa’s 11 million annual job seekers
    • East Africa projected to lead regional growth in 2026
    • AfDB cuts Kenya growth outlook to 4.6 per cent on high fuel prices, Middle East war shocks

    Changing monetary policy expectations and investors’ search for higher returns also supported emerging market currencies.
    Leading the ranking was the Israeli shekel, which gained 20.2 per cent year-on-year against the dollar, followed by the Colombian peso at 19.7 per cent.
    Third, the South African rand’s strong performance was supported by improved commodity export earnings and investor appetite for higher-yielding assets.

    Latest Stories

    • Three arrested after Linda Mwananchi convoy attacked in Kisii as police hunt for more suspects
    • Mbappé fires France past Paraguay into World Cup quarter-finals
    • Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeat
    • Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations

    The Mexican peso also posted gains of 16.4 per cent, buoyed by strong tourism inflows and foreign direct investment.
    Notably, the Nigerian naira’s inclusion in the top ten reflects a rebound following policy adjustments and tighter monetary conditions aimed at stabilising the currency.
    Reforms targeting foreign exchange liquidity and improved investor confidence contributed to the appreciation, although volatility remains a concern in the medium term.
    A major driver of the gains, however, has been a weaker US dollar against global currencies.
    The latest African Development Bank (AfDB) Macroeconomic Performance and Outlook report shows the US dollar index declined by about 6.5 per cent during the year.
    It attributes the dollar’s softness to market concerns over policy uncertainty and expectations of additional interest rate cuts by the Federal Reserve, which encouraged investors to shift funds into higher-yielding emerging markets.
    The weakening dollar has broader implications for global trade and investment flows.
    A softer greenback makes US exports cheaper and more competitive abroad, while countries with stronger currencies may face reduced export competitiveness.
    At the same time, investors holding foreign assets often benefit as returns increase when converted back into dollars.
    For African economies, stronger currencies can help ease imported inflation, particularly for fuel and food, but may also pose challenges for export competitiveness.

    Other Topics To Read

    Top Stories Today

    • Three arrested after Linda Mwananchi convoy attacked in Kisii as police hunt for more suspects
    • State extends security operation in Marsabit, declares multiple areas dangerous for 30 more days
    • Mbappé fires France past Paraguay into World Cup quarter-finals
    • Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeat
    • Weekly new Ebola cases reach highest level since outbreak began: WHO
    • Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations

    `;
    }

    return “;
    }

    function commentActionsMarkup(comment, canComment) {
    const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
    const likeCount = Number(comment.like_count || 0) > 0
    ? “
    : ”;

    const likeButton = canComment && comment.status === ‘approved’
    ? “
    : “;

    const replyButton = canComment && comment.status === ‘approved’
    ? “
    : ”;

    return `

    `;
    }

    function commentMarkup(comment, canComment, isReply = false) {
    const pendingBadge = comment.status && comment.status !== ‘approved’
    ? “
    : ”;

    const edited = comment.is_edited
    ? “
    : ”;

    const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
    ? `

    `
    : “;

    return `

    `;
    }

    function replyFormMarkup(commentId) {
    return `

    `;
    }

    function setNotice(widget, message, type = ‘info’) {
    const notice = widget.querySelector(‘[data-role=”notice”]’);
    if (!notice) return;

    if (!message) {
    notice.hidden = true;
    notice.textContent = ”;
    notice.classList.remove(‘is-error’);
    return;
    }

    notice.hidden = false;
    notice.textContent = message;
    notice.classList.toggle(‘is-error’, type === ‘error’);
    }

    function setCount(widget, total) {
    const count = widget.querySelector(‘[data-role=”count”]’);
    if (!count) return;

    const num = Number(total || 0);
    count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
    }

    function openReplyBox(widget, commentId) {
    widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
    box.hidden = true;
    box.innerHTML = ”;
    });

    const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (!targetItem) return;

    const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
    if (!replyBox) return;

    replyBox.hidden = false;
    replyBox.innerHTML = replyFormMarkup(commentId);

    const textarea = replyBox.querySelector(‘textarea’);
    if (textarea) textarea.focus();
    }

    function closeReplyBox(container) {
    if (!container) return;
    container.hidden = true;
    container.innerHTML = ”;
    }

    async function initCommentsWidget(widget) {
    const state = {
    articleId: Number(widget.dataset.articleId),
    loadUrl: widget.dataset.loadUrl,
    storeUrl: widget.dataset.storeUrl,
    commentsBaseUrl: widget.dataset.commentsBaseUrl,
    canComment: widget.dataset.canComment === ‘1’,
    page: 1,
    perPage: 10,
    sort: ‘newest’,
    total: 0,
    hasMore: false,
    busy: false
    };

    const list = widget.querySelector(‘[data-role=”list”]’);
    const loading = widget.querySelector(‘[data-role=”loading”]’);
    const empty = widget.querySelector(‘[data-role=”empty”]’);
    const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
    const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
    const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);

    async function loadComments(reset = true) {
    if (state.busy) return;

    state.busy = true;
    setNotice(widget, ”);
    loading.hidden = false;

    if (reset) {
    state.page = 1;
    list.innerHTML = ”;
    empty.hidden = true;
    }

    try {
    const url = new URL(state.loadUrl, window.location.origin);
    url.searchParams.set(‘page’, state.page);
    url.searchParams.set(‘per_page’, state.perPage);
    url.searchParams.set(‘sort’, state.sort);

    const response = await requestJson(url.toString(), {
    method: ‘GET’,
    headers: {
    ‘Accept’: ‘application/json’,
    ‘X-Requested-With’: ‘XMLHttpRequest’
    }
    });

    const items = Array.isArray(response.data) ? response.data : [];
    const meta = response.meta || {};

    state.total = Number(meta.total || 0);
    state.hasMore = !!meta.has_more;

    setCount(widget, state.total);

    if (reset) {
    list.innerHTML = ”;
    }

    if (!items.length && reset) {
    empty.hidden = false;
    } else {
    empty.hidden = true;
    list.insertAdjacentHTML(
    ‘beforeend’,
    items.map(item => commentMarkup(item, state.canComment, false)).join(”)
    );
    }

    loadMoreBtn.hidden = !state.hasMore;
    } catch (error) {
    if (!list.children.length) {
    empty.hidden = false;
    empty.textContent = ‘Unable to load comments right now.’;
    }
    setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
    } finally {
    loading.hidden = true;
    state.busy = false;
    }
    }

    async function submitTopLevelComment(form) {
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘[data-role=”submit-comment”]’);

    if (!textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(state.storeUrl, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    textarea.value = ”;

    if (response?.data) {
    list.insertAdjacentHTML(
    ‘afterbegin’,
    commentMarkup(response.data, state.canComment, false)
    );
    empty.hidden = true;

    if ((response.data.status || ”) === ‘approved’) {
    state.total += 1;
    setCount(widget, state.total);
    }
    }

    setNotice(widget, response.message || ‘Comment posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post comment’;
    }
    }
    }

    async function submitReply(form) {
    const commentId = Number(form.dataset.commentId || 0);
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘.ev-comments__reply-submit’);

    if (!commentId || !textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    if (response?.data) {
    const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (parentItem) {
    const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
    if (repliesWrap) {
    repliesWrap.insertAdjacentHTML(
    ‘beforeend’,
    commentMarkup(response.data, state.canComment, true)
    );
    }
    }
    }

    closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
    setNotice(widget, response.message || ‘Reply posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post reply’;
    }
    }
    }

    async function toggleLike(button) {
    const commentId = Number(button.dataset.commentId || 0);
    if (!commentId) return;

    const originalHtml = button.innerHTML;

    try {
    button.disabled = true;
    button.innerHTML = ‘Working…’;

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({})
    });

    const liked = !!response?.data?.liked;
    const likeCount = Number(response?.data?.like_count || 0);

    button.classList.toggle(‘is-liked’, liked);
    button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
    } catch (error) {
    button.innerHTML = originalHtml;
    setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
    } finally {
    button.disabled = false;
    }
    }

    if (composerForm) {
    composerForm.addEventListener(‘submit’, function (e) {
    e.preventDefault();
    submitTopLevelComment(composerForm);
    });
    }

    if (sortSelect) {
    sortSelect.addEventListener(‘change’, function () {
    state.sort = this.value || ‘newest’;
    loadComments(true);
    });
    }

    if (loadMoreBtn) {
    loadMoreBtn.addEventListener(‘click’, function () {
    if (state.busy || !state.hasMore) return;
    state.page += 1;
    loadComments(false);
    });
    }

    widget.addEventListener(‘click’, function (e) {
    const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
    if (likeBtn) {
    e.preventDefault();
    toggleLike(likeBtn);
    return;
    }

    const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
    if (replyBtn) {
    e.preventDefault();
    openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
    return;
    }

    const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
    if (cancelReplyBtn) {
    e.preventDefault();
    closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
    }
    });

    widget.addEventListener(‘submit’, function (e) {
    const replyForm = e.target.closest(‘.ev-comments__reply-form’);
    if (replyForm) {
    e.preventDefault();
    submitReply(replyForm);
    }
    });

    loadComments(true);
    }

    document.addEventListener(‘DOMContentLoaded’, function () {
    document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
    });
    })();

    Trending

    Three arrested after Linda Mwananchi convoy attacked in Kisii as police hunt for more suspects
    Three arrested after Linda Mwananchi convoy attacked in Kisii as police hunt for more suspectsNews
    |Lucy Mumbi
    |33 minutes ago
    Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeat
    Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeatSports
    |Erick Kariuki
    |1 hour ago
    Ethiopia coffee exports hit record Sh388 billion on rising global demand
    Ethiopia coffee exports hit record Sh388 billion on rising global demandRegional
    |Bashir Mbuthia
    |1 day ago
    Portugal edge Croatia in dramatic finish to book last-16 spot
    Portugal edge Croatia in dramatic finish to book last-16 spotSports
    |The New Times
    |2 days ago
    Morocco continue historic rise with record-breaking World Cup victory against Canada
    Morocco continue historic rise with record-breaking World Cup victory against CanadaSports
    |Erick Kariuki
    |9 hours ago
    IGAD pushes regional action to tackle plastic pollution
    IGAD pushes regional action to tackle plastic pollutionNews
    |Rachael Mutabasi
    |20 hours ago
    Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrationsRegional
    |Bashir Mbuthia
    |9 hours ago
    Slum residents urged to adopt 'localised solutions' to mitigate climate change effects
    Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effectsNews
    |Hussein Hassan
    |19 hours ago

    Somalia intelligence agency kills Al-Shabaab mortar unit leader in Basra operationSomalia
    |Bashir Mbuthia
    |11 hours ago

    SHA seeks Treasury funds to clear NHIF claims above Sh10 millionHealth
    |Charity Kilei
    |15 hours ago

    African currencies Nigerian rank South
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Anjianjei Constantine
    • Website

    Related Posts

    How Burna Boy reclaimed Spotify’s African crown from Tems

    July 5, 2026

    Sahara vs Great Green Wall: An 8,000-km green belt is being built across Africa’s Sahel region; aims to stop desert expansion

    July 5, 2026

    Despite Cape Verde heroics, round 32 hurts African teams

    July 5, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Aviation stakeholders urge MPs to reject proposed tax on air travel services

    July 5, 2026

    Report reveals alarming decline in wildlife numbers in Africa

    July 5, 2026

    Africa’s largest refinery explains why falling oil prices don’t immediately translate to cheaper petrol after $4.5 billion crude spend

    July 5, 2026

    ActionAid warns of crisis as austerity slashes African health, education workers’ pay

    July 5, 2026

    Zonal Legal Manager (Loan Against Property) Vacancy At Kotak Mahindra Bank Limited

    July 5, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    Aviation stakeholders urge MPs to reject proposed tax on air travel services

    Report reveals alarming decline in wildlife numbers in Africa

    Africa’s largest refinery explains why falling oil prices don’t immediately translate to cheaper petrol after $4.5 billion crude spend

    Most Popular

    ActionAid warns of crisis as austerity slashes African health, education workers’ pay

    Zonal Legal Manager (Loan Against Property) Vacancy At Kotak Mahindra Bank Limited

    ‘What shocked me’: Makhadzi responds to Zimbabwe backlash

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.