CINXE.COM
WSKAŹNIKI EKONOMICZNE | PL | TRADINGECONOMICS.COM
<!doctype html> <html lang="pl" xml:lang="pl"> <head id="ctl00_Head1"><meta charset="utf-8" /><title> WSKAŹNIKI EKONOMICZNE | PL | TRADINGECONOMICS.COM </title><meta id="metaDesc" name="description" content="Zobacz ponad 20 milionów wskaźników ekonomicznych dla 196 krajów. Uzyskaj darmowe wskaźniki, dane historyczne, wykresy, wiadomości i prognozy dla 196 krajów." /><meta id="metaKeyword" name="keywords" content="Wskaźniki ekonomiczne, dane ekonomiczne, stopy procentowe, prognozy kursów walutowych, Trading Economics, handel walutami, sygnał transakcyjny, rekomendacje transakcyjne, sygnały Forex, strategie handlowe, strategie handlu Forex." /><meta id="ctl00_metaLanguage" clienstidmode="Static" name="content-language" content="pl" /><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1" /><meta name="theme-color" content="#333333" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.2.3/css/bootstrap.min.css" integrity="sha512-SbiR/eusphKoMVVXysTKG/7VseWii+Y3FdHrt0EpKgpToZeemhqHeZeLWLhJutz/2ut2Vw1uQEj2MbRF+TVBUA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.2/font/bootstrap-icons.min.css" integrity="sha512-YFENbnqHbCRmJt5d+9lHimyEMt8LKSNTMLSaHjvsclnZGICeY/0KYEeiHwD1Ux4Tcao0h60tdcMv+0GljvWyHg==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link href="//d3fy651gv2fhd3.cloudfront.net/stylesheet.min.css?v=20250409" rel="stylesheet" /> <script type="text/javascript">var TEChartSettings = {}; var TESymbol = ''; var TECountry = ''; var TECategory = ''; var TEFrequency = ''; var TELanguage = 'pl'; var TELastUpdate = '20250331000000'; var TEChartVersion = ''; var symbol = ''; var symbolType = ''; var hasCalendar = false; var isLoggedIn = false; var TERole = ""; var TEAlertsName = ''; var TEChartsDatasource = 'https://d3ii0wo49og5mi.cloudfront.net'; var IsMobile = false; var TEChartsMeta = ''; var TEForecast = []; var TEAuthorization = ''; var TESecurify = ''; var TESecurifyUrl = ''; var TEType = ''; var TEChartUrl = '/'; var TEComparable = 0; var isAlertsLoaded = false; var IsDarkMode = false; var isPakoLoaded = false; var TEChartsToken = '20240229:nazare'; var TEObfuscationkey = 'tradingeconomics-charts-core-api-key'; var isCopyright = false;</script> <script type="text/javascript">var DEBUG = false; if (window.location.host.indexOf('localhost') > -1) DEBUG = true; else if (window.location.href.indexOf('debug') > -1) DEBUG = true; if (!DEBUG) { if (!window.console) window.console = {}; var methods = ["log", "debug", "info"]; for (var i = 0; i < methods.length; i++) { console[methods[i]] = function () { }; } }</script> <link rel="icon" href="//d3fy651gv2fhd3.cloudfront.net/favicon.svg" type="image/svg+xml" /><link rel="canonical" href="https://pl.tradingeconomics.com" /></head> <body > <script>IsDarkMode=false;</script> <form method="post" action="./" id="aspnetForm"> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="60oZHQ+4OpBGPQdA/uOIDv8NoVH10hfeJ1W2DuKTzNaUFcxFeYw0Y8eLGdbtqYNHiMqpZKm2UPL3pJoJuHWgCu+JaRg=" /> </div> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334" /> </div> <nav id="ctl00_NavigationUC1_ctl00_menu" class="navbar navbar-dark fixed-top" role="navigation"> <div class="container"> <div class="navbar-header navbar-header-search" id="searchMobileHeader"> <div class="d-flex justify-content-between"> <a class="navbar-brand" style="width: 100%"> <input type="text" placeholder="Search" id="thisIstheTinySearchBoxIdTag" autocomplete="off" class="nav-search-input-class navbar-search-2" /> </a> <ul id="thisIstheTinySearchResultsIdTag" class="dropdown-menu navbar-search-1"> <li> <div class="container-fluid"> <div id="dpSearch-resultCnt-tiny" class="dpTaResult"> </div> </div> </li> </ul> <div class="navbar-mobile-close-search"> <a noref class="navbar-mobile-item" id="thisIsTheTinyRemoveId"><i class="bi bi-x-lg"></i></a> </div> </div> </div> <div class="navbar-header navbar-collapse float-end" id="mainHeader"> <div class="d-flex"> <button type="button" class="navbar-toggler" data-bs-toggle="offcanvas" data-bs-target="#tesidemenu" aria-controls="tesidemenuoptions"> <span class="navbar-toggler-icon"></span> </button> <div class="logo-banner d-flex justify-content-between float-right"> <a class="navbar-brand" href="/"> <svg width="129" height="35" version="1.1" viewBox="0 0 34.131 9.2604" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" aria-label = "Trading Economics logo"> <g fill="#858585" stroke="#858585" stroke-width=".1" ><path d="m1.3315 8.5517v-3.7879h2.8086v0.64079h-2.0438v0.83974h1.9017v0.6382h-1.9017v1.0309h2.1162v0.6382z"/><path d="m7.2846 7.1591 0.74156 0.23513q-0.17053 0.62012-0.56844 0.92242-0.39532 0.29972-1.0051 0.29972-0.75448 0-1.2402-0.51418-0.48576-0.51676-0.48576-1.4108 0-0.94568 0.48834-1.4676 0.48834-0.52452 1.2842-0.52452 0.69505 0 1.1291 0.41083 0.25838 0.24288 0.38757 0.69763l-0.75706 0.18087q-0.067179-0.29456-0.28164-0.46509-0.21187-0.17053-0.51676-0.17053-0.42116 0-0.68471 0.30231-0.26097 0.30231-0.26097 0.97927 0 0.7183 0.25838 1.0232 0.25838 0.30489 0.67179 0.30489 0.30489 0 0.52452-0.19379 0.21962-0.19379 0.31523-0.60978z"/><path d="m8.5275 6.681q0-0.57878 0.17312-0.97152 0.12919-0.28939 0.3514-0.51935 0.22479-0.22996 0.49093-0.34106 0.35398-0.14986 0.81649-0.14986 0.83716 0 1.3384 0.51935 0.50385 0.51935 0.50385 1.4444 0 0.91726-0.49868 1.4366-0.49868 0.51676-1.3333 0.51676-0.84491 0-1.3436-0.51418-0.49868-0.51676-0.49868-1.4211zm0.78807-0.025838q0 0.64337 0.29714 0.97669 0.29714 0.33073 0.75448 0.33073 0.45734 0 0.74931-0.32815 0.29456-0.33073 0.29456-0.9896 0-0.65112-0.2868-0.97152-0.28422-0.32039-0.75706-0.32039-0.47284 0-0.76223 0.32556-0.28939 0.32298-0.28939 0.97669z"/><path d="m12.806 8.5517v-3.7879h0.74414l1.5503 2.5296v-2.5296h0.71055v3.7879h-0.7674l-1.527-2.4701v2.4701z"/><path d="m16.465 6.681q0-0.57878 0.17312-0.97152 0.12919-0.28939 0.3514-0.51935 0.22479-0.22996 0.49093-0.34106 0.35398-0.14986 0.81649-0.14986 0.83716 0 1.3384 0.51935 0.50384 0.51935 0.50384 1.4444 0 0.91726-0.49868 1.4366-0.49868 0.51676-1.3333 0.51676-0.84491 0-1.3436-0.51418-0.49868-0.51676-0.49868-1.4211zm0.78807-0.025838q0 0.64337 0.29714 0.97669 0.29714 0.33073 0.75448 0.33073t0.74931-0.32815q0.29456-0.33073 0.29456-0.9896 0-0.65112-0.2868-0.97152-0.28422-0.32039-0.75706-0.32039t-0.76223 0.32556q-0.28939 0.32298-0.28939 0.97669z"/><path d="m20.726 8.5517v-3.7879h1.1446l0.6873 2.5838 0.67955-2.5838h1.1472v3.7879h-0.71055v-2.9817l-0.75189 2.9817h-0.73639l-0.74931-2.9817v2.9817z"/><path d="m25.121 8.5517v-3.7879h0.76481v3.7879z"/><path d="m29.038 7.1591 0.74156 0.23513q-0.17053 0.62012-0.56844 0.92242-0.39532 0.29972-1.0051 0.29972-0.75448 0-1.2402-0.51418-0.48576-0.51676-0.48576-1.4108 0-0.94568 0.48834-1.4676 0.48834-0.52452 1.2842-0.52452 0.69505 0 1.1291 0.41083 0.25838 0.24288 0.38757 0.69763l-0.75706 0.18087q-0.06718-0.29456-0.28164-0.46509-0.21187-0.17053-0.51676-0.17053-0.42116 0-0.68471 0.30231-0.26097 0.30231-0.26097 0.97927 0 0.7183 0.25838 1.0232 0.25838 0.30489 0.67179 0.30489 0.30489 0 0.52452-0.19379 0.21962-0.19379 0.31523-0.60978z"/><path d="m30.242 7.3193 0.74414-0.072347q0.06718 0.37465 0.2713 0.55035 0.2067 0.1757 0.55552 0.1757 0.36949 0 0.55552-0.15503 0.18862-0.15761 0.18862-0.3669 0-0.13436-0.0801-0.22738-0.077514-0.095602-0.27388-0.16536-0.13436-0.046509-0.61237-0.16536-0.61495-0.15245-0.863-0.37465-0.34882-0.31264-0.34882-0.76223 0-0.28939 0.16278-0.54002 0.16536-0.25321 0.47284-0.38499 0.31006-0.13178 0.74672-0.13178 0.71314 0 1.0723 0.31264 0.36174 0.31264 0.37982 0.83457l-0.76481 0.03359q-0.04909-0.29197-0.21187-0.41858-0.1602-0.12919-0.48317-0.12919-0.33331 0-0.52193 0.13694-0.12144 0.08785-0.12144 0.23513 0 0.13436 0.11369 0.22996 0.14469 0.12144 0.7028 0.25321t0.82424 0.27389q0.26872 0.13953 0.41858 0.38499 0.15244 0.24288 0.15244 0.60203 0 0.32556-0.18087 0.60978-0.18087 0.28422-0.5116 0.42375-0.33073 0.13694-0.82424 0.13694-0.7183 0-1.1033-0.33073-0.38499-0.33331-0.45992-0.96893z"/></g> <g fill="#ddd" stroke="#ddd" stroke-width=".1" ><path d="m1.4629 4.2437v-2.8324h-1.0116v-0.57671h2.7091v0.57671h-1.0092v2.8324z"/><path d="m3.607 4.2437v-3.4091h1.4487q0.54648 0 0.79297 0.093018 0.24882 0.090692 0.39765 0.32556 0.14883 0.23487 0.14883 0.53718 0 0.3837-0.22557 0.63484-0.22557 0.24882-0.67438 0.31393 0.22324 0.13022 0.36742 0.28603 0.1465 0.1558 0.393 0.55345l0.41625 0.66508h-0.82321l-0.49764-0.74182q-0.2651-0.39765-0.36277-0.49997-0.097668-0.10464-0.20696-0.14185-0.1093-0.039532-0.34649-0.039532h-0.13953v1.4232zm0.68833-1.9673h0.50927q0.49532 0 0.61857-0.041858t0.19301-0.14418q0.069763-0.10232 0.069763-0.2558 0-0.17208-0.093018-0.27673-0.090692-0.10697-0.25812-0.13488-0.083716-0.011627-0.50229-0.011627h-0.53718z"/><path d="m10.118 4.2437h-0.74879l-0.29766-0.77437h-1.3627l-0.28138 0.77437h-0.73019l1.3278-3.4091h0.72786zm-1.2674-1.3488-0.46974-1.265-0.46044 1.265z"/><path d="m10.481 0.8346h1.2581q0.42556 0 0.6488 0.065112 0.29998 0.088367 0.51392 0.31393 0.21394 0.22557 0.32556 0.55345 0.11162 0.32556 0.11162 0.8046 0 0.4209-0.10464 0.72554-0.1279 0.37207-0.36509 0.60229-0.17906 0.17441-0.48369 0.27208-0.22789 0.072089-0.60926 0.072089h-1.2953zm0.68833 0.57671v2.258h0.51392q0.28835 0 0.41625-0.032556 0.16743-0.041858 0.27673-0.14185 0.11162-0.099994 0.18138-0.32789 0.06976-0.23022 0.06976-0.62554t-0.06976-0.60694-0.19534-0.33021q-0.12557-0.1186-0.31858-0.16046-0.14418-0.032556-0.56508-0.032556z"/><path d="m13.902 4.2437v-3.4091h0.68833v3.4091z"/><path d="m15.253 4.2437v-3.4091h0.66973l1.3953 2.2766v-2.2766h0.6395v3.4091h-0.69066l-1.3743-2.2231v2.2231z"/><path d="m20.271 2.9903v-0.57438h1.4836v1.3581q-0.21627 0.20929-0.62787 0.36974-0.40928 0.15813-0.83018 0.15813-0.53485 0-0.9325-0.22324-0.39765-0.22557-0.59764-0.64182-0.19999-0.41858-0.19999-0.90925 0-0.53253 0.22324-0.94645 0.22324-0.41393 0.65345-0.63484 0.32789-0.16976 0.81623-0.16976 0.63484 0 0.99064 0.26743 0.35812 0.2651 0.46044 0.73484l-0.68368 0.1279q-0.072088-0.25115-0.27208-0.39532-0.19766-0.1465-0.49532-0.1465-0.45114 0-0.71856 0.28603-0.2651 0.28603-0.2651 0.84879 0 0.60694 0.26975 0.91157 0.26975 0.30231 0.70693 0.30231 0.21627 0 0.43253-0.083716 0.21859-0.086041 0.3744-0.20696v-0.43253z"/></g> </svg> </a> <div class="d-flex align-items-center nav-options"> <div class="d-flex align-items-center nav-entry-link-group"> <a class="nav-entry-link" href="/calendar"><span class="d-none d-lg-inline-flex">Kalendarz</span></a> <a class="nav-entry-link" href="/stream"><span class="d-none d-lg-inline-flex">Aktualności</span></a> <div class="dropdown"> <a href="#" class="dropdown d-flex nav-entry-link" data-bs-toggle="dropdown"><span class=" d-none d-lg-inline-flex">Notowania Rynkowe</span></a> <ul class="dropdown-menu nav-dropdown-menu"> <li class='dropdown-item nav-dropdown-item'><a href="/commodities">Towary</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/stocks">Indeksy</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/shares">Akcje</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/currencies">Waluty</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/crypto">Krypto</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/bonds">Obligacje</a></li> </ul> </div> <a class="nav-entry-link" href="/indicators"><span class="d-none d-lg-inline-flex">Wskaźniki</span></a> <a class="nav-entry-link" href="/countries"><span class=" d-none d-lg-inline-flex">Kraje</span></a> <div class="dropdown"> <a href="#" class="dropdown d-flex nav-entry-link" data-bs-toggle="dropdown"><span class=" d-none d-lg-inline-flex">Prognozy</span></a> <ul class="dropdown-menu nav-dropdown-menu"> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/commodity">Towary</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/stock-market">Indeksy</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/currency">Waluty</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/crypto">Krypto</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecast/government-bond-10y">Obligacje</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/forecasts">Kraje</a></li> <li class='dropdown-item nav-dropdown-item'><a href="/indicators?g=forecast">Wskaźniki</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="offcanvas offcanvas-start" tabindex="-1" id="tesidemenu" aria-labelledby="tesidemenuoptions"> <div class="offcanvas-header"> <h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel"></h5> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body"> <div class="row navbar-nav-scroll" style="--bs-scroll-height: 95vh;"> <div class="accordion" id="accordionNavbar"> <div class="accordion-item"> <div class="accordion-header menu-main-option"><a class="nav-link accordion-button navmenu-mobile-item" href="/calendar" target="_self"><i class="bi bi-calendar3 me-2"></i>Kalendarz</a></div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option"><a class="nav-link accordion-button navmenu-mobile-item" href="/Stream" target="_self"><i class="bi bi-layout-text-sidebar me-2"></i>Aktualności</a></div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMarkets" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-arrow-down-up me-2"></i>Notowania Rynkowe <i class="bi bi-caret-up-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseMarkets" class="accordion-collapse collapse show" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/commodities" target="_self">Towary</a></li> <li><a class="navmobile-link nav-link" href="/stocks" target="_self">Indeksy</a></li> <li><a class="navmobile-link nav-link" href="/shares" target="_self">Akcje</a></li> <li><a class="navmobile-link nav-link" href="/currencies" target="_self">Waluty</a></li> <li><a class="navmobile-link nav-link" href="/crypto" target="_self">Krypto</a></li> <li><a class="navmobile-link nav-link" href="/bonds" target="_self">Obligacje</a></li> <li><a class="navmobile-link nav-link" href="/earnings" target="_self">Kalendarz Dywidend</a></li> <li><a class="navmobile-link nav-link" href="/holidays" target="_self">Kalendarz Świąt</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCountries" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-globe me-2"></i>Kraje<i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseCountries" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/united-states/indicators" target="_self">Stany Zjednoczone</a></li> <li><a class="navmobile-link nav-link" href="/united-kingdom/indicators" target="_self">Wielka Brytania</a></li> <li><a class="navmobile-link nav-link" href="/euro-area/indicators" target="_self">Strefa Euro</a></li> <li><a class="navmobile-link nav-link" href="/australia/indicators" target="_self">Australia</a></li> <li><a class="navmobile-link nav-link" href="/canada/indicators" target="_self">Kanada</a></li> <li><a class="navmobile-link nav-link" href="/japan/indicators" target="_self">Japonia</a></li> <li><a class="navmobile-link nav-link" href="/china/indicators" target="_self">Chiny</a></li> <li><a class="navmobile-link nav-link" href="/brazil/indicators" target="_self">Brazylia</a></li> <li><a class="navmobile-link nav-link" href="/russia/indicators" target="_self">Rosja</a></li> <li><a class="navmobile-link nav-link" href="/india/indicators" target="_self">Indie</a></li> <li><a class='navmobile-link nav-link' href="/countries" target="_self"><i class="bi bi-plus-square"></i> Więcej Kraje</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseIndicators" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-bar-chart-fill me-2"></i>Wskaźniki <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseIndicators" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="/country-list/interest-rate" target="_self">Stopa Procentowa</a></li> <li><a class="navmobile-link nav-link" href="/country-list/inflation-rate" target="_self">Inflacja</a></li> <li><a class="navmobile-link nav-link" href="/country-list/unemployment-rate" target="_self">Stopa Bezrobocia</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gdp-growth-rate" target="_self">Tempo Wzrostu Pkb</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gdp-per-capita" target="_self">PKB Per Capita</a></li> <li><a class="navmobile-link nav-link" href="/country-list/current-account-to-gdp" target="_self">Saldo Obrotów Bieżących</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gold-reserves" target="_self">Rezerwy Złota</a></li> <li><a class="navmobile-link nav-link" href="/country-list/government-debt-to-gdp" target="_self">Dług Publiczny</a></li> <li><a class="navmobile-link nav-link" href="/country-list/crude-oil-production" target="_self">Wydobycie Ropy Naftowej</a></li> <li><a class="navmobile-link nav-link" href="/country-list/gasoline-prices" target="_self">Cena Benzyny</a></li> <li><a class="navmobile-link nav-link" href="/country-list/rating" target="_self">Rating Kredytowy</a></li> <li><a class='navmobile-link nav-link' href="/indicators" target="_self"><i class="bi bi-plus-square"></i> Więcej Wskaźniki</a></li> </ul> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseForecasts" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-graph-down-arrow me-2"></i>Prognozy <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseForecasts" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class='navmobile-link nav-link' href="/forecast/commodity">Towary</a></li> <li><a class='navmobile-link nav-link' href="/forecast/stock-market">Indeksy</a></li> <li><a class='navmobile-link nav-link' href="/forecast/currency">Waluty</a></li> <li><a class='navmobile-link nav-link' href="/forecast/crypto">Krypto</a></li> <li><a class='navmobile-link nav-link' href="/forecast/government-bond-10y">Obligacje</a></li> <li><a class='navmobile-link nav-link' href="/forecasts">Kraje</a></li> <li><a class='navmobile-link nav-link' href="/indicators?g=forecast">Wskaźniki</a></li> </ul> </div> </div> </div> <div class="accordion-item d-block d-sm-none"> <div class="accordion-header menu-main-option d-flex align-items-center"> <button class="accordion-button navmenu-mobile-item collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseApps" aria-expanded="false" aria-controls="collapseTwo"> <i class="bi bi-phone me-2"></i>Apps <i class="bi bi-caret-down-fill ms-auto caret-toggle"></i> </button> </div> <div id="collapseApps" class="accordion-collapse collapse" data-bs-parent="#accordionNavbar"> <div class="accordion-body mobile-accordion-body"> <ul class="nav navbar-nav navbarMobile"> <li><a class="navmobile-link nav-link" href="https://itunes.apple.com/us/app/trading-economics/id1142178921?mt=8" target="_self">App Store</a></li> <li><a class="navmobile-link nav-link" href="https://play.google.com/store/apps/details?id=com.tradingeconomics.calendar" target="_self">Google Play</a></li> <li><a class="navmobile-link nav-link" href="https://www.twitter.com/teconomics" target="_self">Twitter</a></li> </ul> </div> </div> </div> <style> .form-switch { width: 3.5em !important; height: 2em !important } .bi-sun-fill { font-size: 12px; color: #ddd } .bi-moon-fill { font-size: 10px; color: #333 } .darkmode-toggle-container { width: auto; padding: 0px; margin-left: 0px; margin-top: 0px } .form-check-div-sun { width: 20px; margin-bottom: 2px; margin-left: -52px; position: relative } .form-check-div-moon { width: 20px; margin-bottom: 3px; margin-left: 3px; position: relative } </style> <div class="accordion-item"> <div class=" accordion-header d-flex align-items-center darkmode-toggle-container" style="padding: 10px 0px 10px 20px !important"> <div class="form-check form-switch darkmode-form-switch"> <input class="form-check-input p-1" type="checkbox" role="button" id="flexSwitchCheckChecked"> </div> <div class="form-check-div-sun"> <label class="form-check-label form-check-label-sun p-1 d-inline" for="flexSwitchCheckChecked"><i class="bi bi-sun-fill"></i></label> </div> <div class="form-check-div-moon"> <label class="form-check-label form-check-label-moon p-1 d-inline" for="flexSwitchCheckChecked"><i class="bi bi-moon-fill"></i></label> </div> </div> </div> <script> function SetTheme(isDark) { console.log('Changing theme', isDark); if (IsDarkMode != isDark) { IsDarkMode = isDark; document.body.classList.toggle("dark-theme"); // Set cookie const d = new Date(); d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000)); let expires = "expires=" + d.toUTCString(); document.cookie = "IsDarkMode" + "=" + IsDarkMode + ";" + expires + ";path=/"; IsDarkMode ? ga('event', 'te_darkmode_on') : ga('event', 'te_darkmode_off'); window.location.reload(); } } document.addEventListener('DOMContentLoaded', function () { let checkbox = document.getElementById("flexSwitchCheckChecked"); let sundiv = document.getElementsByClassName("form-check-label-sun")[0]; let moondiv = document.getElementsByClassName("form-check-label-moon")[0]; if (IsDarkMode) { sundiv.classList.add("d-none"); moondiv.classList.remove("d-none"); } else { moondiv.classList.add("d-none"); sundiv.classList.remove("d-none"); } checkbox.checked = IsDarkMode; }); document.getElementById("flexSwitchCheckChecked").addEventListener("change", function () { SetTheme(!IsDarkMode) }); </script> <div class="accordion-item d-block d-md-none" style="border: none"> <div class="accordion-header accordion-last-item" style="padding: 30px 0px !important;"></div> </div> </div> </div> </div> </div> </nav> <script> document.addEventListener('DOMContentLoaded', function () { let accordionHeaders = document.querySelectorAll('.menu-main-option'); accordionHeaders.forEach(function (header) { header.addEventListener('click', function () { let caretIcon = header.querySelector('.caret-toggle'); let allCaretIcons = document.querySelectorAll('.menu-main-option .caret-toggle'); allCaretIcons.forEach(function (icon) { if (icon !== caretIcon) { icon.classList.remove('bi-caret-up-fill'); icon.classList.add('bi-caret-down-fill'); } }); caretIcon.classList.toggle('bi-caret-down-fill'); caretIcon.classList.toggle('bi-caret-up-fill'); }); }); }); </script> <div class="container"> <div class="row te-content"> <div class='col-xl-12' role="main"> <style>body{background-color:#f2f2f2;padding-top:70px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{padding-right:10px;padding-left:10px}@media only screen and (max-width:575px){body{padding-top:55px!important}.thumbnail{padding:5px}}</style> <div class="row"> <div class='col-lg-8'> <style> .headline-title{ font-size: 23px; line-height: 1.2em; font-weight: bold; color: #fff; } .headline-content { padding: 15px; padding-top: 30px; padding-bottom: 22px; } .headline-content { max-width: 550px;} </style> <div id="ctl00_ContentPlaceHolder1__ffdf83b475d6b40d_panel1"> <style>.headlines{min-height: 310px; background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://d1koue9segiqoj.cloudfront.net/2021/cargo.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat;}</style> <div class="thumbnail headlines"> <div class="row"> <div class="col-lg-12"> <div class="headline-content"> <a href='/stocks' style="text-decoration: none"> <span class="headline-title" href='/stocks'> Azjatyckie rynki rosną po wstrzymaniu ceł przez Trumpa </span> <br /> <br /> <span class="headlines-description" style="color: #fff">Azjatyckie rynki akcji wzrosły w czwartek, śledząc historyczną hossę na Wall Street z poprzedniej nocy po obniżeniu przez prezydenta Trumpa nowych stawek cła na import z większości partnerów handlowych USA do 10% na 90 dni, aby umożliwić negocjacje handlowe. Oznacza to znaczące obniżenie w porównaniu do wcześniejszych opłat nałożonych na kraje takie jak Japonia (24%) i Korea Południowa (25%), chociaż Chiny stoją przed wyższą stawką 125% w związku z eskalacją konfliktu handlowego z USA.</span> </a> <br /> </div> </div> </div> </div> </div> <style> .home-tile-outside { height: 226px } .home-tile-inside { padding-left: 5px; padding-top: 5px; display: flex; flex-direction: column; height: 100%; padding-bottom: 13px; } .home-tile-description { overflow: hidden; text-overflow: ellipsis; flex-grow: 1; } #hometiles { padding-left: 2px; padding-right: 2px } .more-news { width: 100%; text-align: right; text-decoration: underline; margin-top: -15px; margin-bottom: 5px } @media only screen and (max-width:428px) { .home-tile-outside { height: unset } .home-tile-inside { padding: 15px } #hometiles { margin-top: -15px } #hometiles .thumbnail { margin-bottom: 5px } .more-news { margin-top: 10px; text-align: left; margin-bottom: 20px } } .home-tile-timespan { color: #808080; text-align: left; width: 100%; font-size: 0.8em; margin-top: 9px } </style> <div class="row" id="hometiles"> <div class="col-lg-4 col-md-6 col-xs-12"> <div class="thumbnail home-tile-outside"> <a href='/united-states/interest-rate' style="text-decoration: none;"> <div class="home-tile-inside"> <b>Zapisy posiedzenia FOMC podkreślają obawy dotyczące inflacji związane z cłami</b> <div class="home-tile-description">Policjanci Fed oczekiwali, że inflacja wzrośnie w tym roku z powodu wpływu podwyższonych ceł, chociaż przyznali znaczną niepewność co do wielkości i trwałości tych efektów, wynika z protokołu z ostatniego posiedzenia FOMC w marcu 2025 roku. Jednocześnie większość urzędników zwróciła uwagę na możliwość, że presje inflacyjne z różnych źródeł mogą okazać się bardziej trwałe niż wcześniej przewidywano. Prawie wszyscy uczestnicy widzieli ryzyka inflacyjne jako skierowane w górę, podczas gdy ryzyka związane z zatrudnieniem były postrzegane jako skierowane w dół. Fed utrzymał stawkę funduszy federalnych na niezmienionym poziomie 4,25%-4,5% podczas swojego posiedzenia w marcu 2025 roku, przedłużając przerwę w cyklu obniżek stóp procentowych, która rozpoczęła się w styczniu, zgodnie z oczekiwaniami. Fed podniósł również swoje oczekiwania co do inflacji na lata 2025 i 2026 oraz obniżył prognozy wzrostu na 2025 rok, jednocześnie nadal przewidując obniżenie stóp procentowych o około 50 pb w tym roku, tak samo jak w projekcji grudniowej.</div> <div class="home-tile-timespan"> 7 godziny temu </div> </div> </a> </div> </div> <div class="col-lg-4 col-md-6 col-xs-12"> <div class="thumbnail home-tile-outside"> <a href='/united-kingdom/rics-house-price-balance' style="text-decoration: none;"> <div class="home-tile-inside"> <b>Bilans cen domów w UK poniżej prognoz</b> <div class="home-tile-description">Brytyjski Raport Rynku Nieruchomości opracowany przez RICS ujawnił, że saldo cen domów - śledzące różnicę między respondentami zgłaszającymi wzrosty cen a tymi zauważającymi spadki - wyniosło +2% w marcu 2025 roku, ustępując odczytom +20% i +11% z stycznia i lutego, odpowiednio. Najnowsza liczba również znacznie odbiegała od prognoz wynoszących +8%, sugerując, że wzrost cen w dużej mierze zatrzymał się w ostatnich miesiącach. Ten trend jest szeroko zgodny w większości regionów Wielkiej Brytanii, chociaż Szkocja i Irlandia Północna pozostają wyjątkami, obie nadal wykazują bardziej stabilną tendencję wzrostową cen nieruchomości. Patrząc w przyszłość, krótkoterminowe nastroje wydają się być ostrożne. Seria oczekiwań cenowych na trzy miesiące odnotowała saldo netto -26, wskazując ogólną oczekiwaną tendencję spadków cen w najbliższej przyszłości. Niemniej jednak, zaufanie do długoterminowej perspektywy pozostaje silne, z saldem netto +39% respondentów przewidujących, że ceny nieruchomości wzrosną w ciągu najbliższych 12 miesięcy.</div> <div class="home-tile-timespan"> 88 minut temu </div> </div> </a> </div> </div> <div class="col-lg-4 col-md-6 col-xs-12"> <div class="thumbnail home-tile-outside"> <a href='/commodity/copper' style="text-decoration: none;"> <div class="home-tile-inside"> <b>Miedź wzrasta o 8% po historycznej wyprzedaży</b> <div class="home-tile-description">Kontrakty na miedź w USA wzrosły o 8,5% do 4,4 USD za funt w środę po osiągnięciu trzymiesięcznego minimum na poziomie 4,05 USD wcześniej w sesji, otrzymując pewne wsparcie po tym, jak prezydent USA Trump wstrzymał swoją pakiet odwetowych ceł na 90 dni. Odwetowe cła początkowo nie obejmowały miedzi, ale ten ruch rozbudził nadzieje, że kraje mogą osiągnąć porozumienia z USA w ciągu tego okresu, aby usunąć ostrzejsze bariery handlowe, które naciskałyby na globalny wzrost i popyt na produkcję. Niemniej jednak kontrakty na miedź są niemal o 20% poniżej swojego rekordowego szczytu 5,3 USD osiągniętego 26 marca, ponieważ USA sygnalizowały, że wciąż wprowadzą cła skierowane specjalnie na miedź w nadchodzących tygodniach. Zagrożenie poszerzyło premię kontraktów na miedź w USA w porównaniu z porównywalnymi kontraktami na LME ze względu na presję, jaką bariery handlowe wywierałyby na ograniczoną zdolność przetwórczą miedzi w USA.</div> <div class="home-tile-timespan"> 6 godziny temu </div> </div> </a> </div> </div> <div class="col-lg-4 col-md-6 col-xs-12"> <div class="thumbnail home-tile-outside"> <a href='/united-states/government-bond-yield' style="text-decoration: none;"> <div class="home-tile-inside"> <b>Sprzedaż amerykańskich obligacji skarbowych łagodnieje</b> <div class="home-tile-description">Rentowność 10-letnich obligacji skarbowych USA cofnęła się ze swojego dziennego maksimum, handlując wokół 4,4%, po ogłoszeniu przez prezydenta Trumpa 90-dniowego zawieszenia wyższych wzajemnych ceł dla dziesiątek partnerów handlowych, które weszło w życie natychmiast. Jednocześnie cła na import z Chin zostały podniesione do 125%, z wcześniejszych 104%. Tymczasem Departament Skarbu USA przeprowadził aukcję 10-letnich obligacji o wartości 39 miliardów dolarów, z popytem ocenianym jako silny, co przyniosło pewną ulgę rynkowi. Wcześniej w sesji, rentowność benchmarkowa wzrosła nawet o 20 punktów bazowych do 4,5%, odzwierciedlając rosnący niepokój inwestorów po ogłoszeniu ceł przez Trumpa. Obawy zostały dodatkowo podsycone przez odwetowy ruch Chin, które nałożyły dodatkowe 50% cła, a także przez zatwierdzenie przez UE ceł wymierzonych w amerykańskie towary o wartości 21 miliardów euro. Raporty o zagranicznej sprzedaży i oznaki szerszego przejścia na gotówkę sugerowały, że inwestorzy likwidowali pozycje, co podsycało obawy, że amerykańskie obligacje skarbowe mogą tracić swój tradycyjny status bezpiecznej przystani.</div> <div class="home-tile-timespan"> 7 godziny temu </div> </div> </a> </div> </div> <div class="col-lg-4 col-md-6 col-xs-12"> <div class="thumbnail home-tile-outside"> <a href='/commodity/crude-oil' style="text-decoration: none;"> <div class="home-tile-inside"> <b>Ropa naftowa odbija się powyżej 62 USD</b> <div class="home-tile-description">Kontrakty na ropę naftową WTI odbiły się gwałtownie w środę, zyskując ponad 4% i handlując powyżej 62 USD za baryłkę, gdy obawy o recesję się zmniejszyły, a perspektywy popytu na energię poprawiły się. Ożywienie nastąpiło po decyzji prezydenta Trumpa o zawieszeniu wzajemnych ceł dla większości krajów na najbliższe 90 dni, co uspokoiło rynki i ożywiło apetyt na aktywa ryzykowne. Podczas gdy Chiny pozostają wyłączone z zawieszenia - z cełami na ich eksport podniesionymi teraz do 125% w odpowiedzi na ich ostatnią rundę odwetu - szersze zmniejszenie napięć handlowych pomogło przywrócić zaufanie na rynkach surowców. Dodatkowe wsparcie dla wzrostu zapewnił najnowszy raport EIA, który ujawnił większe niż oczekiwano zmniejszenie zapasów benzyny i destylatów, pomagając zrównoważyć niewielki wzrost zapasów ropy. Tymczasem wypowiedzi oficjeli OPEC+ sugerujące potencjalne opóźnienia w wcześniej ogłoszonych zwiększeniach produkcji pomogły złagodzić obawy o nadmierną podaż i wzmocniły odbicie cen.</div> <div class="home-tile-timespan"> 7 godziny temu </div> </div> </a> </div> </div> <div class="col-lg-4 col-md-6 col-xs-12"> <div class="thumbnail home-tile-outside"> <a href='/mexico/inflation-cpi' style="text-decoration: none;"> <div class="home-tile-inside"> <b>Inflacja w Meksyku rośnie zgodnie z oczekiwaniami</b> <div class="home-tile-description">Wskaźnik inflacji w Meksyku wzrósł do 3,80% w marcu 2025 roku z 3,77% w poprzednim miesiącu, zgodnie z oczekiwaniami rynkowymi, osiągając najwyższy poziom w tym roku, ale pozostając poniżej górnego progu celu inflacyjnego Banku Meksyku wynoszącego 4%. Inflacja była wyższa dla żywności, alkoholu i tytoniu (4,15% wobec 3,78% w lutym), ale nieco spadła dla mieszkań (3,64% wobec 3,75%). Tymczasem wskaźnik inflacji bazowej pozostał praktycznie niezmieniony na poziomie 3,64%.</div> <div class="home-tile-timespan"> 13 godziny temu </div> </div> </a> </div> </div> </div> </div> <div class='col-lg-4'> <style> #market-widget .nav {flex-wrap:nowrap;}#market-widget .nav>li>a {padding-left: 3px;padding-right: 3px;outline:none;} #market-widget .nav>li>a { font-size: 13px;}#market-widget .nav>li>a {padding-left: 5px;padding-right: 5px;} .market-widget-thead{font-size: 12px;}.market-widget-th-left{text-align: left;}.market-widget-th-center{text-align: center;}.market-widget-row{padding: 0px;}.market-widget-first{padding-left: 10px!important; max-width: 80px; overflow: hidden;}.market-widget-last{text-align: center;max-width: 70px; overflow: hidden;}.market-widget-change{text-align: left; min-width: 70px}.market-widget-pct{text-align: center;} @media only screen and (max-width: 380px) {#market-widget .nav > li > a {padding-left: 3px;padding-right: 3px;}} .modal{ --bs-modal-header-border-color: none !important; --bs-modal-footer-border-color:none !important; } </style> <style> .market-widget-thead { display:none } </style> <div id="ctl00_ContentPlaceHolder1_ctl02_MarketsTableWidget_Panel1"> <div id="market-widget" class="card"> <ul class="nav nav-tabs " role="tablist" id="mainWidget"> <li role="presentation" class="nav-item"><a aria-current="page" href="#Commodity" class="active nav-link d-table-cell" role="tab" data-bs-toggle="tab">Surowce</a></li> <li role="presentation" class="nav-item"><a aria-current="page" href="#Index" class=" nav-link d-table-cell" role="tab" data-bs-toggle="tab">Indeks</a></li> <li role="presentation" class="nav-item d-lg-none d-xl-block"><a aria-current="page" href="#Share" class=" nav-link d-table-cell" role="tab" data-bs-toggle="tab">Akcje</a></li> <li role="presentation" class="nav-item"><a aria-current="page" href="#FX" class=" nav-link d-table-cell" role="tab" data-bs-toggle="tab">Forex</a></li> <li role="presentation" class="nav-item"><a aria-current="page" href="#Crypto" class=" nav-link d-table-cell" role="tab" data-bs-toggle="tab">Krypto</a></li> <li role="presentation" class="nav-item"><a aria-current="page" href="#Bond" class=" nav-link d-table-cell" role="tab" data-bs-toggle="tab">Obligacja</a></li> </ul> <div class="tab-content" style="margin-bottom: -15px"> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl02$MarketsTableWidget$Repeater1$ctl00$group" id="ctl00_ContentPlaceHolder1_ctl02_MarketsTableWidget_Repeater1_ctl00_group" value="Commodity" /> <div role="tabpanel" class="tab-pane fade show active" id='Commodity'> <table class="table table-condensed" style="padding-bottom: -10px;"> <thead class="market-widget-thead"> <tr> <th> </th> <th style="text-align: center;"></th> <th style="text-align: left;" class="d-lg-none d-xl-table-cell"></th> <th style="text-align: center;"></th> </tr> </thead> <tbody> <tr class='datatable-row' data-symbol="CL1:COM" data-decimals="3"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/crude-oil">Ropa Naftowa</a> </td> <td id="p" class="market-widget-last"> 61.854 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.50 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.80% </td> </tr> <tr class='datatable-row-alternating' data-symbol="CO1:COM" data-decimals="3"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/brent-crude-oil">Brent</a> </td> <td id="p" class="market-widget-last"> 64.755 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.72 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -1.11% </td> </tr> <tr class='datatable-row' data-symbol="NG1:COM" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/natural-gas">Gaz Ziemny</a> </td> <td id="p" class="market-widget-last"> 3.7197 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.10 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -2.52% </td> </tr> <tr class='datatable-row-alternating' data-symbol="XB1:COM" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/gasoline">Benzyna</a> </td> <td id="p" class="market-widget-last"> 2.0263 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.02 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.77% </td> </tr> <tr class='datatable-row' data-symbol="HO1:COM" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/heating-oil">Olej Opałowy</a> </td> <td id="p" class="market-widget-last"> 2.1032 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.02 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.82% </td> </tr> <tr class='datatable-row-alternating' data-symbol="XAUUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/gold">Złoto</a> </td> <td id="p" class="market-widget-last"> 3092.66 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 6.42 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.21% </td> </tr> <tr class='datatable-row' data-symbol="XAGUSD:CUR" data-decimals="3"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/silver">Srebro</a> </td> <td id="p" class="market-widget-last"> 30.926 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.01 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.04% </td> </tr> <tr class='datatable-row-alternating' data-symbol="HG1:COM" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/copper">Miedź</a> </td> <td id="p" class="market-widget-last"> 4.3589 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.03 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.69% </td> </tr> <tr class='datatable-row' data-symbol="S 1:COM" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/soybeans">Soja</a> </td> <td id="p" class="market-widget-last"> 1015.91 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 3.16 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.31% </td> </tr> <tr class='datatable-row-alternating' data-symbol="W 1:COM" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/wheat">Pszenica</a> </td> <td id="p" class="market-widget-last"> 542.55 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.30 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.05% </td> </tr> <tr class='datatable-row' data-symbol="XAL1:COM" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/coal">Węgiel</a> </td> <td id="p" class="market-widget-last"> 96.50 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 1.50 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -1.53% </td> </tr> <tr class='datatable-row-alternating' data-symbol="JBP:COM" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/steel">Stal</a> </td> <td id="p" class="market-widget-last"> 3028.00 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 32.00 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -1.05% </td> </tr> <tr class='datatable-row' data-symbol="NGEU:COM" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/eu-natural-gas">TTF Gaz</a> </td> <td id="p" class="market-widget-last"> 33.46 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 2.07 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -5.83% </td> </tr> <tr class='datatable-row-alternating' data-symbol="LB1:COM" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/commodity/lumber">Tarcica</a> </td> <td id="p" class="market-widget-last"> 596.59 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 22.51 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 3.92% </td> </tr> </tbody> <tfoot> <tr> <td colspan="2" class="more-link"><a style="text-decoration: underline" aria-label = "Read more" href="/commodities">Więcej</a></td> <td colspan="4" class="widget-link" style="display:none "> <div class="plus-sign-widget"> <a style="font-size:12px" aria-label="Add widgets" href="javascript:void(0);"onclick="showWidgetModal();"> <i class="bi bi-plus-square-fill"></i> Add to your site</a> </div> </td> </tr> </tfoot> </table> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl02$MarketsTableWidget$Repeater1$ctl01$group" id="ctl00_ContentPlaceHolder1_ctl02_MarketsTableWidget_Repeater1_ctl01_group" value="Currency" /> <div role="tabpanel" class="tab-pane fade show " id='FX'> <table class="table table-condensed" style="padding-bottom: -10px;"> <thead class="market-widget-thead"> <tr> <th> </th> <th style="text-align: center;"></th> <th style="text-align: left;" class="d-lg-none d-xl-table-cell"></th> <th style="text-align: center;"></th> </tr> </thead> <tbody> <tr class='datatable-row' data-symbol="EURUSD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/euro-area/currency">EURUSD</a> </td> <td id="p" class="market-widget-last"> 1.09823 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0033 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.30% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GBPUSD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/united-kingdom/currency">GBPUSD</a> </td> <td id="p" class="market-widget-last"> 1.28388 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0023 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.18% </td> </tr> <tr class='datatable-row' data-symbol="AUDUSD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/australia/currency">AUDUSD</a> </td> <td id="p" class="market-widget-last"> 0.61345 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0017 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.28% </td> </tr> <tr class='datatable-row-alternating' data-symbol="NZDUSD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/new-zealand/currency">NZDUSD</a> </td> <td id="p" class="market-widget-last"> 0.56435 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0004 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.07% </td> </tr> <tr class='datatable-row' data-symbol="USDJPY:CUR" data-decimals="3"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/japan/currency">USDJPY</a> </td> <td id="p" class="market-widget-last"> 146.937 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.7780 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.53% </td> </tr> <tr class='datatable-row-alternating' data-symbol="USDCNY:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/china/currency">USDCNY</a> </td> <td id="p" class="market-widget-last"> 7.35500 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0060 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.08% </td> </tr> <tr class='datatable-row' data-symbol="USDCHF:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/switzerland/currency">USDCHF</a> </td> <td id="p" class="market-widget-last"> 0.85276 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0046 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.54% </td> </tr> <tr class='datatable-row-alternating' data-symbol="USDCAD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/canada/currency">USDCAD</a> </td> <td id="p" class="market-widget-last"> 1.40993 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0017 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.12% </td> </tr> <tr class='datatable-row' data-symbol="USDMXN:CUR" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/mexico/currency">USDMXN</a> </td> <td id="p" class="market-widget-last"> 20.3314 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0879 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.43% </td> </tr> <tr class='datatable-row-alternating' data-symbol="USDINR:CUR" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/india/currency">USDINR</a> </td> <td id="p" class="market-widget-last"> 86.2098 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0306 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.04% </td> </tr> <tr class='datatable-row' data-symbol="USDBRL:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/brazil/currency">USDBRL</a> </td> <td id="p" class="market-widget-last"> 5.81900 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0052 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.09% </td> </tr> <tr class='datatable-row-alternating' data-symbol="USDRUB:CUR" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/russia/currency">USDRUB</a> </td> <td id="p" class="market-widget-last"> 85.9877 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.1551 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.18% </td> </tr> <tr class='datatable-row' data-symbol="USDKRW:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/south-korea/currency">USDKRW</a> </td> <td id="p" class="market-widget-last"> 1457.76 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 10.9600 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.76% </td> </tr> <tr class='datatable-row-alternating' data-symbol="DXY:CUR" data-decimals="3"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/united-states/currency">DXY</a> </td> <td id="p" class="market-widget-last"> 102.709 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.1905 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.19% </td> </tr> </tbody> <tfoot> <tr> <td colspan="2" class="more-link"><a style="text-decoration: underline" aria-label = "Read more" href="/currencies">Więcej</a></td> <td colspan="4" class="widget-link" style="display:none "> <div class="plus-sign-widget"> <a style="font-size:12px" aria-label="Add widgets" href="javascript:void(0);"onclick="showWidgetModal();"> <i class="bi bi-plus-square-fill"></i> Add to your site</a> </div> </td> </tr> </tfoot> </table> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl02$MarketsTableWidget$Repeater1$ctl02$group" id="ctl00_ContentPlaceHolder1_ctl02_MarketsTableWidget_Repeater1_ctl02_group" value="Index" /> <div role="tabpanel" class="tab-pane fade show " id='Index'> <table class="table table-condensed" style="padding-bottom: -10px;"> <thead class="market-widget-thead"> <tr> <th> </th> <th style="text-align: center;"></th> <th style="text-align: left;" class="d-lg-none d-xl-table-cell"></th> <th style="text-align: center;"></th> <th class=''></th> </tr> </thead> <tbody> <tr class='datatable-row' data-symbol="SPX:IND" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/united-states/stock-market">US500</a> </td> <td id="p" class="market-widget-last"> 5449.77 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 7 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.13% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row-alternating' data-symbol="INDU:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/indu:ind">US30</a> </td> <td id="p" class="market-widget-last"> 40777 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 168 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.41% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row' data-symbol="US100:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/us100:ind">US100</a> </td> <td id="p" class="market-widget-last"> 19076 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 69 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.36% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row-alternating' data-symbol="NKY:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/japan/stock-market">JP225</a> </td> <td id="p" class="market-widget-last"> 34342 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 2,628 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 8.29% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: green' title='open trading session'></span></td> </tr> <tr class='datatable-row' data-symbol="UKX:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/united-kingdom/stock-market">GB100</a> </td> <td id="p" class="market-widget-last"> 7679 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 231 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -2.92% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row-alternating' data-symbol="DAX:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/germany/stock-market">DE40</a> </td> <td id="p" class="market-widget-last"> 21366 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 1,695 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 8.62% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row' data-symbol="CAC:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/france/stock-market">FR40</a> </td> <td id="p" class="market-widget-last"> 6863 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 237 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -3.34% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row-alternating' data-symbol="FTSEMIB:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/italy/stock-market">IT40</a> </td> <td id="p" class="market-widget-last"> 32731 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 926 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -2.75% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row' data-symbol="IBEX:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/spain/stock-market">ES35</a> </td> <td id="p" class="market-widget-last"> 11798 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 268 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -2.22% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row-alternating' data-symbol="AS51:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/australia/stock-market">ASX200</a> </td> <td id="p" class="market-widget-last"> 7703 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 328 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 4.44% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: green' title='open trading session'></span></td> </tr> <tr class='datatable-row' data-symbol="SHCOMP:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/china/stock-market">SHANGHAI</a> </td> <td id="p" class="market-widget-last"> 3187 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 41 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 1.31% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row-alternating' data-symbol="SENSEX:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/india/stock-market">SENSEX</a> </td> <td id="p" class="market-widget-last"> 73847 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 380 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.51% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row' data-symbol="SPTSX:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/canada/stock-market">TSX</a> </td> <td id="p" class="market-widget-last"> 23727 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 1,220 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 5.42% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> <tr class='datatable-row-alternating' data-symbol="INDEXCF:IND" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/russia/stock-market">MOEX</a> </td> <td id="p" class="market-widget-last"> 2651 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 96 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -3.49% </td> <td id='session' class='d-none d-md-table-cell'><span class='bi bi-clock' style='font-size:10px; color: darkred' title='closed trading session'></span></td> </tr> </tbody> <tfoot> <tr> <td colspan="2" class="more-link"><a style="text-decoration: underline" aria-label = "Read more" href="/stocks">Więcej</a></td> <td colspan="4" class="widget-link" style="display:none "> <div class="plus-sign-widget"> <a style="font-size:12px" aria-label="Add widgets" href="javascript:void(0);"onclick="showWidgetModal();"> <i class="bi bi-plus-square-fill"></i> Add to your site</a> </div> </td> </tr> </tfoot> </table> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl02$MarketsTableWidget$Repeater1$ctl03$group" id="ctl00_ContentPlaceHolder1_ctl02_MarketsTableWidget_Repeater1_ctl03_group" value="Stocks" /> <div role="tabpanel" class="tab-pane fade show " id='Share'> <table class="table table-condensed" style="padding-bottom: -10px;"> <thead class="market-widget-thead"> <tr> <th> </th> <th style="text-align: center;"></th> <th style="text-align: left;" class="d-lg-none d-xl-table-cell"></th> <th style="text-align: center;"></th> </tr> </thead> <tbody> <tr class='datatable-row' data-symbol="AAPL:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/aapl:us">Apple</a> </td> <td id="p" class="market-widget-last"> 198.60 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 26.22 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 15.21% </td> </tr> <tr class='datatable-row-alternating' data-symbol="TSLA:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/tsla:us">Tesla</a> </td> <td id="p" class="market-widget-last"> 271.23 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 50.23 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 22.73% </td> </tr> <tr class='datatable-row' data-symbol="MSFT:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/msft:us">Microsoft</a> </td> <td id="p" class="market-widget-last"> 390.27 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 36.08 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 10.19% </td> </tr> <tr class='datatable-row-alternating' data-symbol="AMZN:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/amzn:us">Amazon</a> </td> <td id="p" class="market-widget-last"> 191.09 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 20.41 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 11.96% </td> </tr> <tr class='datatable-row' data-symbol="FB:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/fb:us">Meta</a> </td> <td id="p" class="market-widget-last"> 584.23 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 74.68 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 14.66% </td> </tr> <tr class='datatable-row-alternating' data-symbol="NVDA:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/nvda:us">Nvidia</a> </td> <td id="p" class="market-widget-last"> 113.96 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 17.93 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 18.67% </td> </tr> <tr class='datatable-row' data-symbol="V:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/v:us">Visa</a> </td> <td id="p" class="market-widget-last"> 332.70 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 25.02 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 8.13% </td> </tr> <tr class='datatable-row-alternating' data-symbol="JPM:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/jpm:us">JPMorgan</a> </td> <td id="p" class="market-widget-last"> 234.89 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 18.49 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 8.54% </td> </tr> <tr class='datatable-row' data-symbol="INTC:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/intc:us">Intel</a> </td> <td id="p" class="market-widget-last"> 21.47 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 3.32 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 18.29% </td> </tr> <tr class='datatable-row-alternating' data-symbol="JNJ:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/jnj:us">J&J</a> </td> <td id="p" class="market-widget-last"> 150.93 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 1.30 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.87% </td> </tr> <tr class='datatable-row' data-symbol="PG:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/pg:us">P&G</a> </td> <td id="p" class="market-widget-last"> 162.34 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 4.16 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 2.63% </td> </tr> <tr class='datatable-row-alternating' data-symbol="XOM:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/xom:us">Exxon Mobil</a> </td> <td id="p" class="market-widget-last"> 105.91 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 5.23 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 5.19% </td> </tr> <tr class='datatable-row' data-symbol="GOOG:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/goog:us">Alphabet</a> </td> <td id="p" class="market-widget-last"> 161.36 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 14.97 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 10.23% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GS:US" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/gs:us">Goldman Sachs</a> </td> <td id="p" class="market-widget-last"> 517.94 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 56.44 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 12.23% </td> </tr> </tbody> <tfoot> <tr> <td colspan="2" class="more-link"><a style="text-decoration: underline" aria-label = "Read more" href="/stocks">Więcej</a></td> <td colspan="4" class="widget-link" style="display:none "> <div class="plus-sign-widget"> <a style="font-size:12px" aria-label="Add widgets" href="javascript:void(0);"onclick="showWidgetModal();"> <i class="bi bi-plus-square-fill"></i> Add to your site</a> </div> </td> </tr> </tfoot> </table> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl02$MarketsTableWidget$Repeater1$ctl04$group" id="ctl00_ContentPlaceHolder1_ctl02_MarketsTableWidget_Repeater1_ctl04_group" value="Bond" /> <div role="tabpanel" class="tab-pane fade show " id='Bond'> <table class="table table-condensed" style="padding-bottom: -10px;"> <thead class="market-widget-thead"> <tr> <th> </th> <th style="text-align: center;"></th> <th style="text-align: left;" class="d-lg-none d-xl-table-cell"></th> <th style="text-align: center;"></th> </tr> </thead> <tbody> <tr class='datatable-row' data-symbol="USGG10YR:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/united-states/government-bond-yield">Stany Zjednoczone</a> </td> <td id="p" class="market-widget-last"> 4.2790 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.077 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.08% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GUKG10:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/united-kingdom/government-bond-yield">Wielka Brytania</a> </td> <td id="p" class="market-widget-last"> 4.8150 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.196 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.20% </td> </tr> <tr class='datatable-row' data-symbol="GJGB10:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/japan/government-bond-yield">Japonia</a> </td> <td id="p" class="market-widget-last"> 1.3310 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.049 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.05% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GACGB10:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/australia/government-bond-yield">Australia</a> </td> <td id="p" class="market-widget-last"> 4.2940 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.092 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.09% </td> </tr> <tr class='datatable-row' data-symbol="GDBR10:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/germany/government-bond-yield">Niemcy</a> </td> <td id="p" class="market-widget-last"> 2.5795 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.045 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.05% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GEBR10Y:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/brazil/government-bond-yield">Brazylia</a> </td> <td id="p" class="market-widget-last"> 14.8580 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.013 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.01% </td> </tr> <tr class='datatable-row' data-symbol="RUGE10Y:GOV" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/russia/government-bond-yield">Rosja</a> </td> <td id="p" class="market-widget-last"> 16.1300 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.340 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.34% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GIND10YR:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/india/government-bond-yield">Indie</a> </td> <td id="p" class="market-widget-last"> 6.4390 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.036 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.04% </td> </tr> <tr class='datatable-row' data-symbol="GCAN10YR:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/canada/government-bond-yield">Kanada</a> </td> <td id="p" class="market-widget-last"> 3.2280 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.093 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.07% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GBTPGR10:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/italy/government-bond-yield">Włochy</a> </td> <td id="p" class="market-widget-last"> 3.8820 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.029 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.03% </td> </tr> <tr class='datatable-row' data-symbol="GFRN10:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/france/government-bond-yield">Francja</a> </td> <td id="p" class="market-widget-last"> 3.3900 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.002 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> 0.00% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GSAB10YR:GOV" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/south-africa/government-bond-yield">Republika Południowej Afryki</a> </td> <td id="p" class="market-widget-last"> 11.0600 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.115 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.10% </td> </tr> <tr class='datatable-row' data-symbol="GCNY10YR:GOV" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/china/government-bond-yield">Chiny</a> </td> <td id="p" class="market-widget-last"> 1.6520 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.008 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.01% </td> </tr> <tr class='datatable-row-alternating' data-symbol="GSWISS10:IND" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/switzerland/government-bond-yield">Szwajcaria</a> </td> <td id="p" class="market-widget-last"> 0.4500 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.004 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> 0.00% </td> </tr> </tbody> <tfoot> <tr> <td colspan="2" class="more-link"><a style="text-decoration: underline" aria-label = "Read more" href="/bonds">Więcej</a></td> <td colspan="4" class="widget-link" style="display:none "> <div class="plus-sign-widget"> <a style="font-size:12px" aria-label="Add widgets" href="javascript:void(0);"onclick="showWidgetModal();"> <i class="bi bi-plus-square-fill"></i> Add to your site</a> </div> </td> </tr> </tfoot> </table> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$ctl02$MarketsTableWidget$Repeater1$ctl05$group" id="ctl00_ContentPlaceHolder1_ctl02_MarketsTableWidget_Repeater1_ctl05_group" value="Crypto" /> <div role="tabpanel" class="tab-pane fade show " id='Crypto'> <table class="table table-condensed" style="padding-bottom: -10px;"> <thead class="market-widget-thead"> <tr> <th> </th> <th style="text-align: center;"></th> <th style="text-align: left;" class="d-lg-none d-xl-table-cell"></th> <th style="text-align: center;"></th> </tr> </thead> <tbody> <tr class='datatable-row' data-symbol="BTCUSD:CUR" data-decimals="0"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/btcusd:cur">Bitcoin</a> </td> <td id="p" class="market-widget-last"> 82425 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 140 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.17% </td> </tr> <tr class='datatable-row-alternating' data-symbol="ETHUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/ethusd:cur">Ether</a> </td> <td id="p" class="market-widget-last"> 1645.00 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 23.9000 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -1.43% </td> </tr> <tr class='datatable-row' data-symbol="BNBUSD:CUR" data-decimals="1"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/bnbusd:cur">Binance</a> </td> <td id="p" class="market-widget-last"> 579.0 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 3.7700 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.65% </td> </tr> <tr class='datatable-row-alternating' data-symbol="ADAUSD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/adausd:cur">Cardano</a> </td> <td id="p" class="market-widget-last"> 0.62397 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0070 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -1.11% </td> </tr> <tr class='datatable-row' data-symbol="SOLUSD:CUR" data-decimals="4"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/solusd:cur">Solana</a> </td> <td id="p" class="market-widget-last"> 117.5758 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 1.4242 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -1.20% </td> </tr> <tr class='datatable-row-alternating' data-symbol="XRPUSD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/xrpusd:cur">Ripple</a> </td> <td id="p" class="market-widget-last"> 2.03245 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0199 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.97% </td> </tr> <tr class='datatable-row' data-symbol="DOTUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/dotusd:cur">Polkadot</a> </td> <td id="p" class="market-widget-last"> 3.61 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0280 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.77% </td> </tr> <tr class='datatable-row-alternating' data-symbol="AVXUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/avxusd:cur">Avalanche</a> </td> <td id="p" class="market-widget-last"> 18.27 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.1800 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.98% </td> </tr> <tr class='datatable-row' data-symbol="MTCUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/mtcusd:cur">Polygon</a> </td> <td id="p" class="market-widget-last"> 0.19 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0200 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 12.03% </td> </tr> <tr class='datatable-row-alternating' data-symbol="ATMUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/atmusd:cur">Cosmos</a> </td> <td id="p" class="market-widget-last"> 4.53 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0039 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.09% </td> </tr> <tr class='datatable-row' data-symbol="DAIUSD:CUR" data-decimals="5"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/daiusd:cur">Dai</a> </td> <td id="p" class="market-widget-last"> 0.99991 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-positive-image'></span> 0.0000 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-positive"> 0.00% </td> </tr> <tr class='datatable-row-alternating' data-symbol="LTCUSD:CUR" data-decimals="3"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/ltcusd:cur">Litecoin</a> </td> <td id="p" class="market-widget-last"> 75.650 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.3500 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -0.46% </td> </tr> <tr class='datatable-row' data-symbol="UNIUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/uniusd:cur">Uniswap</a> </td> <td id="p" class="market-widget-last"> 5.33 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0781 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -1.44% </td> </tr> <tr class='datatable-row-alternating' data-symbol="ALGUSD:CUR" data-decimals="2"> <td class="datatable-item-first" style="text-wrap: auto"> <a href="/algusd:cur">Algorand</a> </td> <td id="p" class="market-widget-last"> 0.18 </td> <td id="nch" class="datatable-item d-lg-none d-xl-table-cell " style="text-align: left; min-width: 70px"> <span class='market-negative-image'></span> 0.0042 </td> <td id="pch" class="market-widget-pct calendar-item calendar-item-negative"> -2.28% </td> </tr> </tbody> <tfoot> <tr> <td colspan="2" class="more-link"><a style="text-decoration: underline" aria-label = "Read more" href="/crypto">Więcej</a></td> <td colspan="4" class="widget-link" style="display:none "> <div class="plus-sign-widget"> <a style="font-size:12px" aria-label="Add widgets" href="javascript:void(0);"onclick="showWidgetModal();"> <i class="bi bi-plus-square-fill"></i> Add to your site</a> </div> </td> </tr> </tfoot> </table> </div> </div> </div> </div> <script> function redirectToAPI() { window.location.href = "https://tradingeconomics.com/api/widgets.aspx?source=markets-widget"; } function showWidgetModal() { if (isLoggedIn) { return redirectToAPI() } let modalChartTitle = "" let modalChartContent = "<div>"; modalChartContent += "Take your website to the next level by embedding our customizable widgets! Exclusively for subscribers and priced accordingly to your needs."; modalChartContent += "</div>"; let modalChartFooter = "<div style='text-align:center;'><div class='btn-group'>"; if (!isLoggedIn) { let buttonPricing = "<a class='btn btn-outline-secondary' href='https://tradingeconomics.com/api/widgets.aspx?source=markets-widget' target='_blank'>Learn more</a>" let buttonContact = "<a class='btn btn-outline-secondary' href='https://tradingeconomics.com/api/contact.aspx?subject=markets+widget' target='_blank'>Questions? <b>Contact us</b></a>" modalChartFooter += buttonPricing + buttonContact; } modalChartFooter += "</div></div>"; var modal = "<div class ='modal' id='chartModal' tabindex='-1' role='dialog' aria-labelledby='myModalLabel'>"; modal += "<div class='modal-dialog modal-dialog-centered' role='document'>"; modal += "<div class='modal-content'>"; modal += "<div class='modal-header'><div class='modal-title'></div><button type='button' class ='btn-close' data-bs-dismiss='modal' aria-label='Close'></button></div>"; modal += "<div class='modal-body' style='text-align:justify;'></div>" modal += "<div class='modal-footer'></div>" modal += "</div></div></div>" var jModal = $(modal); $(jModal).find(".modal-title").html(modalChartTitle); if (modalChartContent) $(jModal).find(".modal-body").html(modalChartContent); else $(jModal).find(".modal-body").remove(); if (modalChartFooter) $(jModal).find(".modal-footer").html(modalChartFooter); else $(jModal).find(".modal-footer").remove(); $(jModal).on('show.bs.modal', function (e) { $(".navbar").css("padding-right", "17px"); $(".pagemenu").css("padding-right", "17px"); $(".pagetabs").css("padding-right", "17px"); }); $(jModal).on('hide.bs.modal', function (e) { $(".navbar").css("padding-right", ""); $(".pagemenu").css("padding-right", ""); $(".pagetabs").css("padding-right", ""); }); $(jModal).modal("show"); } </script> <style> #market-widget-mini {height: 225px;} #market-widget-mini .nav {flex-wrap:nowrap;}#market-widget-mini .nav>li>a {padding-left: 3px;padding-right: 3px;outline:none;}#market-widget-mini .nav>li>a { font-size: 15px;}#market-widget-mini .nav>li>a {padding-left: 5px;padding-right: 5px;} .market-widget-mini-thead{font-size: 12px;}.market-widget-mini-th-left{text-align: left;}.market-widget-mini-th-center{text-align: center;}.market-widget-mini-row{padding: 0px;}.market-widget-mini-first{padding-left: 10px!important; max-width: 80px; overflow: hidden;}.market-widget-mini-last{text-align: center;max-width: 70px; overflow: hidden;}.market-widget-mini-change{text-align: left; min-width: 70px}.market-widget-mini-pct{text-align: center;} #market-widget-mini {padding: 5px 0px 5px 0px}.mini-widget-symbol-tag{position:absolute; font-size:11px;padding:3px 6px; top:50px;color:#808080;left:13px} @media only screen and (max-width: 380px) {#market-widget-mini .nav > li > a {padding-left: 3px;padding-right: 3px;}} @media only screen and (max-width: 991px) { #market-widget-mini { height: 250px; }} @media only screen and (max-width: 767px){ #market-widget-mini .nav>li>a{ padding:3px 3px !important; }} </style> <div id="ctl00_ContentPlaceHolder1__ff6885ebe3a34f96_Panel2"> <div id="market-widget-mini" class="card"> <ul class="nav nav-tabs " role="tablist" id="miniWidget"> <li role="presentation" class="nav-item" style="margin-left: 15px;"><a aria-current="page" href="#FX-mini" class=" nav-link d-table-cell" role="tab" data-bs-toggle="tab" title="Waluta"> Waluta</a></li> <li role="presentation" class="nav-item"><a aria-current="page" href="#Index-mini" class="active nav-link d-table-cell" role="tab" data-bs-toggle="tab" title="Indeks"> Indeks</a></li> <li role="presentation" class="nav-item"> <a aria-current="page" href="#Bond-mini" class=" nav-link d-table-cell" role="tab" data-bs-toggle="tab" title="Obligacje"> Obligacja </a> </li> </ul> <div class="tab-content" style="margin-bottom: -15px; padding-left: 15px; padding-right:10px"> <input type="hidden" name="ctl00$ContentPlaceHolder1$_ff6885ebe3a34f96$Repeater2$ctl00$minigroup" id="ctl00_ContentPlaceHolder1__ff6885ebe3a34f96_Repeater2_ctl00_minigroup" value="Commodity-mini" /> <div role="tabpanel" class="tab-pane fade show " id='Commodity-mini'> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$_ff6885ebe3a34f96$Repeater2$ctl01$minigroup" id="ctl00_ContentPlaceHolder1__ff6885ebe3a34f96_Repeater2_ctl01_minigroup" value="Currency-mini" /> <div role="tabpanel" class="tab-pane fade show " id='FX-mini'> <span data-symbol="USDPLN:CUR" class="mini-widget-symbol-tag" style=""> USDPLN </span> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$_ff6885ebe3a34f96$Repeater2$ctl02$minigroup" id="ctl00_ContentPlaceHolder1__ff6885ebe3a34f96_Repeater2_ctl02_minigroup" value="Index-mini" /> <div role="tabpanel" class="tab-pane fade show active" id='Index-mini'> <span data-symbol="WIG:IND" class="mini-widget-symbol-tag" style=""> WIG </span> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$_ff6885ebe3a34f96$Repeater2$ctl03$minigroup" id="ctl00_ContentPlaceHolder1__ff6885ebe3a34f96_Repeater2_ctl03_minigroup" value="Stocks-mini" /> <div role="tabpanel" class="tab-pane fade show " id='Share-mini'> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$_ff6885ebe3a34f96$Repeater2$ctl04$minigroup" id="ctl00_ContentPlaceHolder1__ff6885ebe3a34f96_Repeater2_ctl04_minigroup" value="Bond-mini" /> <div role="tabpanel" class="tab-pane fade show " id='Bond-mini'> <span data-symbol="POGB10YR:GOV" class="mini-widget-symbol-tag" style=""> Poland 10Y </span> </div> <input type="hidden" name="ctl00$ContentPlaceHolder1$_ff6885ebe3a34f96$Repeater2$ctl05$minigroup" id="ctl00_ContentPlaceHolder1__ff6885ebe3a34f96_Repeater2_ctl05_minigroup" value="Crypto-mini" /> <div role="tabpanel" class="tab-pane fade show " id='Crypto-mini'> </div> </div> <style> .mini-widget-table tbody { border-top: 1px solid #dee2e6; } .mini-widget-table > :not(caption) > * > * { border-bottom: none; } #chart-spans-widget { display: flex; justify-content: flex-end; gap: 0px; top: -17px; position: relative; height: 0px; margin-right: 10px; margin-bottom: 3px; } #chart-spans-widget a { display: inline-block; padding: 1px 5px; text-decoration: none; color: #333; font-size: 15px; height: 31px; } #chart-spans-widget a:hover { border-bottom: 2px solid; cursor: pointer; } .chart-spans-widget-active { border-bottom: 2px solid; } .chart-widget-container{ width: 100%; height: 100%;padding-left: 15px; } @media only screen and (max-width: 1399px) and (min-width: 991px) { #chart-spans-widget a:nth-child(3) { display: none; } } @media only screen and (max-width: 1200px) and (min-width: 991px) { #chart-spans-widget a:nth-child(2) { display: none; } } body.dark-theme #chart-spans-widget a { color: #ddd; } body.dark-theme #market-widget-mini .nav-tabs > li > .nav-link.active { background-color: transparent; border-bottom-color: #ddd; } #container .loading-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background-color: rgba(240, 240, 240, 0.9); font-family: Arial, sans-serif; font-size: 16px; font-weight: bold; color: #666; } #container .loading-spinner { width: 30px; height: 30px; border: 4px solid #ccc; border-top: 4px solid #666; border-radius: 50%; animation: spin 0.3s linear infinite; margin-right: 10px; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @media only screen and (max-width: 450px) { #chart-spans-widget a:nth-child(3) { display: none; } } </style> <script src="https://code.highcharts.com/highcharts.js"></script> <div id="chart-spans-widget"> <a class="chart-spans-widget-active" data-value="1y">1Y</a> <a data-value="5y">5Y</a> <a data-value="10y">10Y</a> <a data-value="25y">25Y</a> </div> <div id="container" class="chart-widget-container"></div> <script> const container = document.getElementById('container'); var miniWidgetSpan = '1y'; var chartSymbol = "USDPLN:CUR, WIG:IND, POGB10YR:GOV".split(","); var activeChartSymbol = '' const structure_array = ['x', 'y', 'percentChange', 'change', 'open', 'high', 'low', 'close']; const baseDataUrl = 'https://d3ii0wo49og5mi.cloudfront.net/markets/'; const miniWidget = document.getElementById('miniWidget'); function createRequest() { let query = `?span=${miniWidgetSpan}&ohlc=0&key=20240229:nazare` if (miniWidgetSpan.toLowerCase() == 'all') { query = `?span=max&ohlc=0&key=20240229:nazare` miniWidgetSpan = 'max' } return `${baseDataUrl}${activeChartSymbol}${query}` } const chartSpansWidget = document.getElementById('chart-spans-widget'); chartSpansWidget.addEventListener('click', (event) => { if (event.target.tagName === 'A') { event.preventDefault(); miniWidgetSpan = event.target.getAttribute('data-value').trim() let dataUrl = createRequest(); const links = chartSpansWidget.querySelectorAll('a'); links.forEach(link => link.classList.remove('chart-spans-widget-active')); event.target.classList.add('chart-spans-widget-active'); fetchDataAndUpdateChart(dataUrl); } }); if (miniWidget) { miniWidget.addEventListener('click', function (event) { let target = event.target; if (target.tagName !== 'A') { target = target.closest('a'); } if (target && target.tagName === 'A') { const href = target.getAttribute('href').toLowerCase(); if (href.includes("fx") || href.includes("forex")) { updateChartSymbol(0); } if (href.includes("bond")) { updateChartSymbol(2); } if (href.includes("index")) { updateChartSymbol(1); } } }); } async function dataMagic(b64Data, dk) { let compressedData = atob(b64Data); let uint8Array = new Uint8Array(compressedData.length); for (let i = 0; i < compressedData.length; i++) { uint8Array[i] = compressedData.charCodeAt(i); } const keyBytes = new TextEncoder().encode(dk); for (let i = 0; i < uint8Array.length; i++) { uint8Array[i] ^= keyBytes[i % keyBytes.length]; } const decompressedData = pako.inflate(uint8Array, { to: 'string' }); return decompressedData; } async function decompressAndDeobfuscateData(b64Data, dk) { try { const result = await dataMagic(b64Data, dk) return JSON.parse(result) } catch (err) { console.log(err); return null; } } function updateChartSymbol(index) { let symbol = chartSymbol[index].trim().replace(" ", ""); activeChartSymbol = symbol; let dataUrl = createRequest(); fetchDataAndUpdateChart(dataUrl); } function formatDate(timestamp) { const date = new Date(timestamp); const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`; } function processChartData(data, dataurl) { if (!Array.isArray(data.series) || data.series.length === 0) { console.error('No valid series data:', data); return; } const chartData = []; data.series.forEach(series => { if (Array.isArray(series.data)) { series.data.forEach(item => { const treatedDatapoint = {}; item.forEach((el, index) => { if (index > 0) { treatedDatapoint[structure_array[index]] = el; } else { treatedDatapoint[structure_array[index]] = el * 1000; treatedDatapoint.date = formatDate(el * 1000); } }); chartData.push(treatedDatapoint); }); } }); updateChartWithData(chartData, dataurl); } function fetchDataAndUpdateChart(dataUrl) { fetch(dataUrl) .then(response => response.json()) .then(data => { return decompressAndDeobfuscateData(data, TEObfuscationkey); }) .then(decompressedData => { if (!decompressedData) { console.error('Decompressed data is invalid'); return; } processChartData(decompressedData, dataUrl); }) .catch(error => console.error('Error in fetch or data processing:', error)); } function roundToStep(value, step) { if (value >= 0) { return Math.round(value / step) * step; } else { return value; } } function formatTick(tick) { if (Math.abs(tick) < 10) { return tick.toFixed(2); } return Math.round(tick); } function formatYTicker(tick) { const absTick = Math.abs(tick); const formatNumber = (value) => { return value % 1 === 0 ? value.toFixed(0) : value.toFixed(2); }; if (absTick < 10) { if (TELanguage == "ar") { return tick % 1 === 0 ? tick.toFixed(0) : tick.toFixed(3); } else { return formatNumber(tick) } } if (absTick >= 1e12) { return formatNumber(tick / 1e12) + 'T'; } if (absTick >= 1e9) { return formatNumber(tick / 1e9) + 'B'; } if (absTick >= 1e6) { return formatNumber(tick / 1e6) + 'M'; } if (absTick >= 1e3) { return formatNumber(tick / 1e3) + 'K'; } return Math.round(tick); } function updateYTicks(maxY, minY, numberTicks, lastdatapoint) { const range = maxY - minY; const desiredTicks = numberTicks; let step = range / desiredTicks; let marginMinY = minY if (minY >= 0) { if ((minY - (step / 2)) < 0) { marginMinY = 0 } else { marginMinY = minY - (step / 2) } } const roundedMin = roundToStep(marginMinY, step); const roundedMax = roundToStep(maxY + (step / 2), step); let tickPositions = []; for (let i = roundedMin; i <= roundedMax; i += step) { tickPositions.push(parseFloat(formatTick(i))); if (tickPositions[tickPositions.length - 1] >= maxY) { break; } } chart.yAxis[0].update({ min: roundedMin, max: maxY, tickPositions: tickPositions, }); return; } function updateXLabelsFormat(dataurl) { chart.xAxis[0].update({ labels: { formatter: function () { if (dataurl.toLowerCase().includes('span=25y') || dataurl.toLowerCase().includes('span=10y') || dataurl.toLowerCase().includes('span=5y')) { return Highcharts.dateFormat('%Y', this.value); } else { const date = new Date(this.value); const year = Highcharts.dateFormat('%Y', this.value); let monthDay = Highcharts.dateFormat('%b/%d', this.value); if (TELanguage == null || TELanguage == '') { Highcharts.setOptions({ lang: { months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], } }); const utcDate = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds())); monthDay = Highcharts.dateFormat('%b/%d', utcDate); } //const ticks = this.axis.tickPositions; //const index = ticks.indexOf(this.value); //const isFirstTickOfYear = index === 0 || (index > 0 && new Date(ticks[index - 1]).getFullYear() !== date.getFullYear()); /*if (isFirstTickOfYear) { return `${year} ${monthDay}`; }*/ return `${monthDay}`; } } } }); return; } function addCustomLabel(closeValue) { if (!closeValue) { closeValue = chart.series[0].data[chart.series[0].data.length - 1].y } if (closeValue == undefined) return; if (chart.customCloseLabel) { chart.customCloseLabel.destroy(); } if (chart.customCloseLabelRect) { chart.customCloseLabelRect.destroy(); } const yAxis = chart.yAxis[0]; const yAxisXPosition = yAxis.left + yAxis.width; const yAxisYPosition = yAxis.toPixels(closeValue); const labelPadding = 2; const labelFontSize = 13; let labelText = formatYTicker(closeValue); /*if (closeValue < 10) { labelText = labelText.toFixed(4) } else if (closeValue < 1000) { labelText = labelText.toFixed(2) } else if (closeValue >= 1000 && closeValue < 10000) { labelText = labelText.toFixed(1) } else { labelText= labelText.toFixed(0) }*/ const textWidth = chart.renderer .text(labelText, 0, 0) .css({ fontSize: `${labelFontSize}px` }) .getBBox().width; const rectWidth = 53; const rectHeight = labelFontSize + 8; chart.customCloseLabelRect = chart.renderer .rect( yAxisXPosition - 3, yAxisYPosition - rectHeight / 2, rectWidth, rectHeight ) .attr({ fill: '#2962ff', zIndex: 11, rx: 0, ry: 0, }) .add(); chart.customCloseLabel = chart.renderer .text(labelText, yAxisXPosition + labelPadding, yAxisYPosition - 1 + labelFontSize / 2) .attr({ zIndex: 12, align: 'left', }) .css({ fontSize: `${labelFontSize}px`, color: 'white', }) .add(); } function addCloseLine() { const closeSeries = chart.series.find(series => series.name === 'Close Line'); let lastdatapoint = chart.series[0].data[chart.series[0].data.length - 1] let closeValue = lastdatapoint.y if (closeSeries) { closeSeries.update({ data: [[chart.series[0].data[0].x, closeValue], [lastdatapoint.x, closeValue]], animation: false }); } else { chart.addSeries({ name: 'Close Line', type: 'line', data: [[chart.series[0].data[0].x, closeValue], [lastdatapoint.x, closeValue]], color: '#2962ff', dashStyle: 'ShortDash', lineWidth: 1, enableMouseTracking: false, marker: { enabled: false }, animation: false, zIndex: 10 }); } } function updateChartWithData(chartData, dataurl) { let minY = null; let maxY = null; let closeValue = null; chartData.forEach(function (datapoint) { if (minY == null) { minY = datapoint.y; maxY = datapoint.y; } else { minY = Math.min(minY, datapoint.y); maxY = Math.max(maxY, datapoint.y); } closeValue = datapoint.y; }); chart.series[0].setData(chartData, true); chart.userOptions.series[0]['symbol'] = activeChartSymbol; if (TELanguage == 'fa') { minY = minY * 0.997; } updateYTicks(maxY, minY, 3, chartData[chartData.length - 1]); updateXLabelsFormat(dataurl); //addCloseLine(); addCustomLabel(); } function showLoading() { const container = document.getElementById('container'); container.innerHTML = ` <div class="loading-overlay"> <div class="loading-spinner"></div> Loading... </div> `; } let chart; function initializeChart() { if (!isPakoLoaded) { if (!document.querySelector('.loading-overlay')) { showLoading(); } setTimeout(initializeChart, 50); return; } container.innerHTML = ""; chart = Highcharts.chart('container', { chart: { type: 'area', style: { fontFamily: '"Helvetica Neue",Helvetica,Arial,sans-serif', }, backgroundColor: IsDarkMode ? 'transparent' : '', marginLeft: 0, marginTop: 25, marginBottom: 30, marginRight: 50, paddingLeft: 0, animation: false, events: { load() { const initialSymbol = chartSymbol[1].trim().replace(" ", ""); activeChartSymbol = initialSymbol const dataUrl = createRequest(); fetchDataAndUpdateChart(dataUrl); } } }, accessibility: { enabled: false, }, title: { text: null }, subtitle: { text: null }, legend: { enabled: false }, xAxis: { type: 'datetime', labels: { y:17, format: `{value: %Y-%m-%d}`, style: { color: IsDarkMode ? '#ddd' : '', fontSize: '13px' }, }, tickPositioner: function () { const positions = []; const start = this.dataMin; const end = this.dataMax; const offset = (end - start) * 0.1; const adjustedStart = start + offset; const adjustedEnd = end - offset; const screenWidth = window.innerWidth; let numberOfTicks = 2; if (screenWidth >= 991 && screenWidth <= 1200) { numberOfTicks = 1 } const interval = (adjustedEnd - adjustedStart) / numberOfTicks; for (let pos = adjustedStart; pos <= adjustedEnd; pos += interval) { positions.push(pos); } return positions; }, //lineColor: IsDarkMode ? '#ddd' : '#333', //tickColor: IsDarkMode ? '#ddd' : '#333', lineWidth: 0, tickWidth: 0, }, yAxis: { opposite: true, title: { text: null }, labels: { style: { color: IsDarkMode ? '#ddd' : '', fontSize: '13px' }, enabled: true, padding: 0, x: 2, formatter: function () { return formatYTicker(this.value) } }, startOnTick: false, endOnTick: false, gridLineWidth: 0, maxTicks: 4, }, tooltip: { pointFormat: '{point.y} {point.change} ( {point.percentChange}%)', formatter: function () { let percentChange = this.point.percentChange; let change = this.point.change; let percentChangeFormatted = (percentChange > 0 ? '+' : '') + (percentChange != null ? percentChange.toFixed(2) : 0); let changeFormatted = (change > 0 ? '+' : '') + (change != null ? change.toFixed(2) : '0'); let percentChangeColor = percentChange > 0 ? 'green' : 'red'; let changeColor = change > 0 ? 'green' : 'red'; let date = Highcharts.dateFormat('%Y-%m-%d', this.point.x); return date + '<br>' + this.point.y.toFixed(2) + ' ' + `<span style="color:${changeColor}">${changeFormatted }</span> ` + `(<span style="color:${percentChangeColor}">${percentChangeFormatted}%</span>)`; } }, credits: { enabled: false }, plotOptions: { area: { marker: { enabled: false, symbol: 'circle', radius: 2, states: { hover: { enabled: true, } } }, lineWidth: 1, animation: { duration: 0 } } }, series: [{ name: '', data: [], color: IsDarkMode ? '#333' : '#d4dfff', lineWidth: 1, zIndex: 5, fillColor: { linearGradient: [0, 0, 0, 1], stops: !IsDarkMode ? [[0, 'rgba(41, 98, 255, 0.2)'], [1, 'rgba(41, 98, 255, 0.2)']] : [[0, 'rgba(37, 79, 145, 0.6)'], [1, 'rgba(37, 79, 145, 0.6)']] }, zones: [{ value: 0, color: '#ffd4d4', fillColor: 'rgba(255, 0, 0, 0.1)' }, { value: Number.POSITIVE_INFINITY, color: !IsDarkMode ? 'rgba(41, 98, 255, 0.3)' : 'rgba(37, 79, 145, 1)' }] }] }); } Highcharts.setOptions({ lang: { decimalPoint: '.', thousandsSep: ',', numericSymbols: ['k', 'M', 'B', 'T', 'P', 'E'] } }); initializeChart() function onResizeHandler() { addCustomLabel() } window.addEventListener("resize", onResizeHandler); </script> </div> </div> </div> </div> <div class="row"> <div class="col-lg-12"> <style> .te-sort{cursor: pointer;} #homematrix { padding: 0px 0px 0px 0px; border: none; } #homematrix a { color: #fff; text-decoration: none; } #homematrix .btn-group{ margin-top: 10px; margin-bottom: 6px; } #homematrix a:hover { text-decoration:underline; } #matrix{ background-color: #333; } #matrix th { background-color: #333; color: #fff; font-weight: bold; border: none; } #matrix td { border-color: #000; } #matrix tr:hover { background-color: #254f73; } .matrix-country { font-weight: bold; padding-left: 10px; white-space: nowrap; } </style> <style>#homematrix th { font-size: 14px;} @media screen and (min-width: 1400px) { #homematrix th { font-size: 14px;} }</style> <style>.table-header {font-size: 13px;}</style> <div id='homematrix' class="thumbnail"> <div > <table id="matrix" class="table table-hover sortable-theme-minimal table-heatmap" data-sortable=""> <thead class="te-sort"> <tr> <th><span class='matrix-country'>Kraj</span></th> <th data-heatmap="1" data-heatmap-limit="20000" data-heatmap-dnColor="#78c1ff">PKB</th> <th data-heatmap="1" data-heatmap-limit="5">Tempo Wzrostu Pkb</th> <th data-heatmap="1" data-heatmap-limit="10" data-heatmap-dnColor="#78c1ff">Stopa Procentowa</th> <th data-heatmap="1" data-heatmap-limit="20">Inflacja</th> <th data-heatmap="1" data-heatmap-limit="20">Stopa bezrobocia</th> <th data-heatmap="1" data-heatmap-limit="20">Budżet rządowy</th> <th data-heatmap="1" data-heatmap-limit="200" data-heatmap-dnColor="#78c1ff">Dług / PKB</th> <th data-heatmap="1" data-heatmap-limit="10">Saldo Obrotów Bieżących</th> <th data-heatmap="1" data-heatmap-limit="1000" data-heatmap-dnColor="#78c1ff">Populacja</th> </tr> </thead> <tr> <td><a class="matrix-country" href="/united-states/indicators">Stany Zjednoczone</a></td> <td data-heatmap-value='27721'><a href="/united-states/gdp">27721</a></td> <td data-heatmap-value='2.40'><a href="/united-states/gdp-growth">2.40</a></td> <td data-heatmap-value='4.50'><a href="/united-states/interest-rate">4.50</a></td> <td data-heatmap-value='-2.80'><a href="/united-states/inflation-cpi">2.80</a></td> <td data-heatmap-value='-4.20'><a href="/united-states/unemployment-rate">4.20</a></td> <td data-heatmap-value='-6.20'><a href="/united-states/government-budget">-6.20</a></td> <td data-heatmap-value='122.30'><a href="/united-states/government-debt-to-gdp">122.30</a></td> <td data-heatmap-value='-3.90'><a href="/united-states/current-account-to-gdp">-3.90</a></td> <td data-heatmap-value='341.15'><a href="/united-states/population">341.15</a></td> </tr> <tr> <td><a class="matrix-country" href="/china/indicators">Chiny</a></td> <td data-heatmap-value='17795'><a href="/china/gdp">17795</a></td> <td data-heatmap-value='1.60'><a href="/china/gdp-growth">1.60</a></td> <td data-heatmap-value='3.10'><a href="/china/interest-rate">3.10</a></td> <td data-heatmap-value='--0.70'><a href="/china/inflation-cpi">-0.70</a></td> <td data-heatmap-value='-5.40'><a href="/china/unemployment-rate">5.40</a></td> <td data-heatmap-value='-5.80'><a href="/china/government-budget">-5.80</a></td> <td data-heatmap-value='83.40'><a href="/china/government-debt-to-gdp">83.40</a></td> <td data-heatmap-value='2.20'><a href="/china/current-account-to-gdp">2.20</a></td> <td data-heatmap-value='1408.00'><a href="/china/population">1408.00</a></td> </tr> <tr> <td><a class="matrix-country" href="/euro-area/indicators">Strefa Euro</a></td> <td data-heatmap-value='15781'><a href="/euro-area/gdp">15781</a></td> <td data-heatmap-value='0.00'><a href="/euro-area/gdp-growth">0.00</a></td> <td data-heatmap-value='2.65'><a href="/euro-area/interest-rate">2.65</a></td> <td data-heatmap-value='-2.20'><a href="/euro-area/inflation-cpi">2.20</a></td> <td data-heatmap-value='-6.10'><a href="/euro-area/unemployment-rate">6.10</a></td> <td data-heatmap-value='-3.60'><a href="/euro-area/government-budget">-3.60</a></td> <td data-heatmap-value='87.40'><a href="/euro-area/government-debt-to-gdp">87.40</a></td> <td data-heatmap-value='2.80'><a href="/euro-area/current-account-to-gdp">2.80</a></td> <td data-heatmap-value='350.17'><a href="/euro-area/population">350.17</a></td> </tr> <tr> <td><a class="matrix-country" href="/germany/indicators">Niemcy</a></td> <td data-heatmap-value='4526'><a href="/germany/gdp">4526</a></td> <td data-heatmap-value='-0.20'><a href="/germany/gdp-growth">-0.20</a></td> <td data-heatmap-value='2.65'><a href="/germany/interest-rate">2.65</a></td> <td data-heatmap-value='-2.20'><a href="/germany/inflation-cpi">2.20</a></td> <td data-heatmap-value='-6.30'><a href="/germany/unemployment-rate">6.30</a></td> <td data-heatmap-value='-2.80'><a href="/germany/government-budget">-2.80</a></td> <td data-heatmap-value='62.90'><a href="/germany/government-debt-to-gdp">62.90</a></td> <td data-heatmap-value='5.70'><a href="/germany/current-account-to-gdp">5.70</a></td> <td data-heatmap-value='84.70'><a href="/germany/population">84.70</a></td> </tr> <tr> <td><a class="matrix-country" href="/japan/indicators">Japonia</a></td> <td data-heatmap-value='4204'><a href="/japan/gdp">4204</a></td> <td data-heatmap-value='0.60'><a href="/japan/gdp-growth">0.60</a></td> <td data-heatmap-value='0.50'><a href="/japan/interest-rate">0.50</a></td> <td data-heatmap-value='-3.70'><a href="/japan/inflation-cpi">3.70</a></td> <td data-heatmap-value='-2.40'><a href="/japan/unemployment-rate">2.40</a></td> <td data-heatmap-value='-5.50'><a href="/japan/government-budget">-5.50</a></td> <td data-heatmap-value='255.20'><a href="/japan/government-debt-to-gdp">255.20</a></td> <td data-heatmap-value='4.70'><a href="/japan/current-account-to-gdp">4.70</a></td> <td data-heatmap-value='123.59'><a href="/japan/population">123.59</a></td> </tr> <tr> <td><a class="matrix-country" href="/india/indicators">Indie</a></td> <td data-heatmap-value='3568'><a href="/india/gdp">3568</a></td> <td data-heatmap-value='1.60'><a href="/india/gdp-growth">1.60</a></td> <td data-heatmap-value='6.00'><a href="/india/interest-rate">6.00</a></td> <td data-heatmap-value='-3.61'><a href="/india/inflation-cpi">3.61</a></td> <td data-heatmap-value='-8.20'><a href="/india/unemployment-rate">8.20</a></td> <td data-heatmap-value='-5.87'><a href="/india/government-budget">-5.87</a></td> <td data-heatmap-value='81.59'><a href="/india/government-debt-to-gdp">81.59</a></td> <td data-heatmap-value='-1.20'><a href="/india/current-account-to-gdp">-1.20</a></td> <td data-heatmap-value='1386.18'><a href="/india/population">1386.18</a></td> </tr> <tr> <td><a class="matrix-country" href="/united-kingdom/indicators">Wielka Brytania</a></td> <td data-heatmap-value='3381'><a href="/united-kingdom/gdp">3381</a></td> <td data-heatmap-value='0.10'><a href="/united-kingdom/gdp-growth">0.10</a></td> <td data-heatmap-value='4.50'><a href="/united-kingdom/interest-rate">4.50</a></td> <td data-heatmap-value='-2.80'><a href="/united-kingdom/inflation-cpi">2.80</a></td> <td data-heatmap-value='-4.40'><a href="/united-kingdom/unemployment-rate">4.40</a></td> <td data-heatmap-value='-4.80'><a href="/united-kingdom/government-budget">-4.80</a></td> <td data-heatmap-value='95.30'><a href="/united-kingdom/government-debt-to-gdp">95.30</a></td> <td data-heatmap-value='-2.70'><a href="/united-kingdom/current-account-to-gdp">-2.70</a></td> <td data-heatmap-value='68.27'><a href="/united-kingdom/population">68.27</a></td> </tr> <tr> <td><a class="matrix-country" href="/france/indicators">Francja</a></td> <td data-heatmap-value='3052'><a href="/france/gdp">3052</a></td> <td data-heatmap-value='-0.10'><a href="/france/gdp-growth">-0.10</a></td> <td data-heatmap-value='2.65'><a href="/france/interest-rate">2.65</a></td> <td data-heatmap-value='-0.80'><a href="/france/inflation-cpi">0.80</a></td> <td data-heatmap-value='-7.30'><a href="/france/unemployment-rate">7.30</a></td> <td data-heatmap-value='-5.50'><a href="/france/government-budget">-5.50</a></td> <td data-heatmap-value='110.60'><a href="/france/government-debt-to-gdp">110.60</a></td> <td data-heatmap-value='0.40'><a href="/france/current-account-to-gdp">0.40</a></td> <td data-heatmap-value='68.44'><a href="/france/population">68.44</a></td> </tr> <tr> <td><a class="matrix-country" href="/italy/indicators">Włochy</a></td> <td data-heatmap-value='2301'><a href="/italy/gdp">2301</a></td> <td data-heatmap-value='0.10'><a href="/italy/gdp-growth">0.10</a></td> <td data-heatmap-value='2.65'><a href="/italy/interest-rate">2.65</a></td> <td data-heatmap-value='-2.00'><a href="/italy/inflation-cpi">2.00</a></td> <td data-heatmap-value='-5.90'><a href="/italy/unemployment-rate">5.90</a></td> <td data-heatmap-value='-3.40'><a href="/italy/government-budget">-3.40</a></td> <td data-heatmap-value='135.30'><a href="/italy/government-debt-to-gdp">135.30</a></td> <td data-heatmap-value='1.10'><a href="/italy/current-account-to-gdp">1.10</a></td> <td data-heatmap-value='58.97'><a href="/italy/population">58.97</a></td> </tr> <tr> <td><a class="matrix-country" href="/brazil/indicators">Brazylia</a></td> <td data-heatmap-value='2174'><a href="/brazil/gdp">2174</a></td> <td data-heatmap-value='0.20'><a href="/brazil/gdp-growth">0.20</a></td> <td data-heatmap-value='14.25'><a href="/brazil/interest-rate">14.25</a></td> <td data-heatmap-value='-5.06'><a href="/brazil/inflation-cpi">5.06</a></td> <td data-heatmap-value='-6.80'><a href="/brazil/unemployment-rate">6.80</a></td> <td data-heatmap-value='-8.90'><a href="/brazil/government-budget">-8.90</a></td> <td data-heatmap-value='84.68'><a href="/brazil/government-debt-to-gdp">84.68</a></td> <td data-heatmap-value='-2.55'><a href="/brazil/current-account-to-gdp">-2.55</a></td> <td data-heatmap-value='212.58'><a href="/brazil/population">212.58</a></td> </tr> <tr> <td><a class="matrix-country" href="/canada/indicators">Kanada</a></td> <td data-heatmap-value='2142'><a href="/canada/gdp">2142</a></td> <td data-heatmap-value='0.60'><a href="/canada/gdp-growth">0.60</a></td> <td data-heatmap-value='2.75'><a href="/canada/interest-rate">2.75</a></td> <td data-heatmap-value='-2.60'><a href="/canada/inflation-cpi">2.60</a></td> <td data-heatmap-value='-6.70'><a href="/canada/unemployment-rate">6.70</a></td> <td data-heatmap-value='-1.40'><a href="/canada/government-budget">-1.40</a></td> <td data-heatmap-value='107.50'><a href="/canada/government-debt-to-gdp">107.50</a></td> <td data-heatmap-value='-1.00'><a href="/canada/current-account-to-gdp">-1.00</a></td> <td data-heatmap-value='41.53'><a href="/canada/population">41.53</a></td> </tr> <tr> <td><a class="matrix-country" href="/russia/indicators">Rosja</a></td> <td data-heatmap-value='2021'><a href="/russia/gdp">2021</a></td> <td data-heatmap-value='-0.80'><a href="/russia/gdp-growth">-0.80</a></td> <td data-heatmap-value='21.00'><a href="/russia/interest-rate">21.00</a></td> <td data-heatmap-value='-10.10'><a href="/russia/inflation-cpi">10.10</a></td> <td data-heatmap-value='-2.40'><a href="/russia/unemployment-rate">2.40</a></td> <td data-heatmap-value='-1.70'><a href="/russia/government-budget">-1.70</a></td> <td data-heatmap-value='14.90'><a href="/russia/government-debt-to-gdp">14.90</a></td> <td data-heatmap-value='2.50'><a href="/russia/current-account-to-gdp">2.50</a></td> <td data-heatmap-value='146.20'><a href="/russia/population">146.20</a></td> </tr> <tr> <td><a class="matrix-country" href="/mexico/indicators">Meksyk</a></td> <td data-heatmap-value='1789'><a href="/mexico/gdp">1789</a></td> <td data-heatmap-value='-0.60'><a href="/mexico/gdp-growth">-0.60</a></td> <td data-heatmap-value='9.00'><a href="/mexico/interest-rate">9.00</a></td> <td data-heatmap-value='-3.80'><a href="/mexico/inflation-cpi">3.80</a></td> <td data-heatmap-value='-2.50'><a href="/mexico/unemployment-rate">2.50</a></td> <td data-heatmap-value='-5.00'><a href="/mexico/government-budget">-5.00</a></td> <td data-heatmap-value='49.70'><a href="/mexico/government-debt-to-gdp">49.70</a></td> <td data-heatmap-value='-0.80'><a href="/mexico/current-account-to-gdp">-0.80</a></td> <td data-heatmap-value='128.46'><a href="/mexico/population">128.46</a></td> </tr> </table> </div> <a href="/matrix" aria-label = "Go to matrix for more countries matrix" class="btn-group btn-group-sm" style="padding-left: 5px; padding-bottom: 5px;"> <div class='btn btn-outline-secondary'><i class="bi bi-plus-lg"></i></div> </a> </div> </div> </div> </div> </div> </div> <div class="container-fluid te-footer"> <footer> <div class="container"> <div class="row"> <div id="ctl00_Footer1_PanelFooterLanguages"> <style>.footerItems {}</style> <br /> <p> <a href="/" class="footerItems">Strona Startowa</a> | <a href="/countries" class="footerItems">Kraje</a> | <a href="/indicators" class="footerItems">Wskaźniki</a> | <a target="_blank" href="https://tradingeconomics.com/about-te.aspx" class="footerItems">O Nas</a> | <a href="https://tradingeconomics.com/contact.aspx" target="_blank" class="footerItems">Kontakt</a> </p> <div class="container"> <div class="row"> <div class="col-lg-1 col-md-2 col-6"> <a class="footer-languages" href="https://tradingeconomics.com" target="_self">English</a><br /> <a class="footer-languages" href="https://es.tradingeconomics.com" target="_self">Español</a><br /> <a class="footer-languages" href="https://pt.tradingeconomics.com" target="_self">Português</a><br /> <a class="footer-languages" href="https://fr.tradingeconomics.com" target="_self">Français</a><br /> <a class="footer-languages" href="https://de.tradingeconomics.com" target="_self">Deutsch</a><br /> </div> <div class="col-lg-1 col-md-2 col-6"> <a class="footer-languages" href="https://it.tradingeconomics.com" target="_self">Italiano</a><br /> <a class="footer-languages" href="https://pl.tradingeconomics.com" target="_self">Polski</a><br /> <a class="footer-languages" href="https://da.tradingeconomics.com" target="_self">Dansk</a><br /> <a class="footer-languages" href="https://sv.tradingeconomics.com" target="_self">Svenska </a><br /> <a class="footer-languages" href="https://no.tradingeconomics.com" target="_self">Norsk</a><br /> </div> <div class="col-lg-1 col-md-2 col-6"> <a class="footer-languages" href="https://ru.tradingeconomics.com" target="_self">Русский</a><br /> <a class="footer-languages" href="https://tr.tradingeconomics.com" target="_self">Türkçe</a><br /> <a class="footer-languages" href="https://hu.tradingeconomics.com" target="_self">Magyar</a><br /> <a class="footer-languages" href="https://fa.tradingeconomics.com" target="_self">Farsi</a><br /> <a class="footer-languages" href="https://id.tradingeconomics.com" target="_self">Indonesian</a><br /> </div> <div class="col-lg-1 col-md-2 col-6"> <a class="footer-languages" href="https://zh.tradingeconomics.com" target="_self">简体中文</a><br /> <a class="footer-languages" href="https://jp.tradingeconomics.com" target="_self">日本語</a><br /> <a class="footer-languages" href="https://ko.tradingeconomics.com" target="_self">한국어</a><br /> <a class="footer-languages" href="https://ar.tradingeconomics.com" target="_self">العربية</a><br /> </div> </div> </div> <br /> <div class="footer-copyright"> <br /> <span>Copyright ©2025 TRADING ECONOMICS<br /> All Rights Reserved</span><br /> </div> <br /><br /> </div> </div> </div> </footer> </div> </form> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.1/js/bootstrap.bundle.min.js"></script> <script> console.log('/controls/io.ascx') TEdecryptk = 'j9ONifjoKzxt7kmfYTdKK/5vve0b9Y1UCj/n50jr8d8=' TEdecryptn = 'Ipp9HNSfVBUntqFK7PrtofYaOPV312xy' var socket_url = 'https://live.tradingeconomics.com?key=rain'; console.log("IO Connecting to " + socket_url) var TE_URL = window.location.pathname; socket_url += "&url=" + TE_URL; $.ajaxSetup({ cache: !0 }); $.getScript('//d3fy651gv2fhd3.cloudfront.net/js/io.js?v=20240223', function () { OnSocketIOLoad(); }); var socket = null; var MKTChannels = [] var Subscribed = [] function base64ToUint8Array(base64) { const binaryString = atob(base64); const length = binaryString.length; const bytes = new Uint8Array(length); for (let i = 0; i < length; i++) { bytes[i] = binaryString.charCodeAt(i); } return bytes; } function decryptMessage(ciphertext) { const key = base64ToUint8Array(TEdecryptk); const nonce = base64ToUint8Array(TEdecryptn); const ciphertextUint8Array = new Uint8Array(ciphertext); let decryptedPlaintext = sodium.crypto_secretbox_open_easy(ciphertextUint8Array, nonce, key); decryptedPlaintext = pako.inflate(decryptedPlaintext, { to: 'string' }); if (decryptedPlaintext !== undefined) { return (JSON.parse(decryptedPlaintext)) } } function OnSocketIOLoad() { var MKT_TBL_SELEC = "#table-logic-handler-for-sockets"; var TEChannels = ['calendar']; if (TE_URL == '/') TEChannels = ['calendar', 'market']; else if (TE_URL == "/calendar") TEChannels = ['calendar']; else if (TE_URL.indexOf("/shares") > -1) TEChannels = ['market', 'calendar']; else if (TE_URL.indexOf("/crypto/treemap") > -1) TEChannels = ['crypto', 'calendar']; else if (TE_URL.indexOf("/treemap") > -1 || TE_URL.indexOf("/trademap") > -1 || TE_URL.indexOf("/geomap") > -1 || TE_URL.indexOf("/correlations") > -1) TEChannels = ['calendar']; else if (TE_URL.indexOf("calendar") > -1) TEChannels = ['calendar', 'market']; else if (TE_URL.indexOf("/dividends") > -1 || TE_URL.indexOf("/ipo") > -1 || TE_URL.indexOf("/stock-splits") > -1 || TE_URL.indexOf("/earnings") > -1) TEChannels = ['calendar', 'market']; else if (TE_URL.indexOf("stream") > -1) TEChannels = ['calendar', 'market', 'stream']; else if (TE_URL.indexOf("/currencies") > -1) TEChannels = ['currencies', 'calendar']; else if (TE_URL.indexOf("/stocks") > -1) TEChannels = ['indexes', 'calendar']; else if (TE_URL.indexOf("/bonds") > -1) TEChannels = ['bonds', 'calendar']; else if (TE_URL.indexOf("/commodities") > -1) TEChannels = ['commodities', 'calendar']; else if (TE_URL.indexOf("/crypto") > -1) TEChannels = ['crypto', 'calendar']; else if (TE_URL.indexOf("/forecast/government-bond-10y") > -1) TEChannels = ['bonds', 'calendar']; else if (TE_URL.indexOf("/forecast/commodity") > -1) TEChannels = ['commodities', 'calendar']; else if (TE_URL.indexOf("/currency") > -1 || TE_URL.indexOf("/stock-market") > -1 || TE_URL.indexOf("/commodity/") > -1 || TE_URL.indexOf("/government-bond-yield") > -1) TEChannels = ['market', 'calendar']; else if (TE_URL.split(':').length == 2) TEChannels = ['calendar', 'market']; console.log('IO EPOCH: 1744247191'); console.log('IO IP: 8.222.208.146'); console.log('IO URL: /');console.log('IO TOKEN: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlcG9jaCI6MTc0NDI0NzE5MSwiaXAiOiI4LjIyMi4yMDguMTQ2IiwidXJsIjoiLyJ9.hMOXHv5lVbk8P2kMpAIGJq4BOjjSIU6LowVTq8E2cR0'); socket = io.connect(socket_url, { withCredentials: true, // Needed for ELB Cookies Stickyness auth: { token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlcG9jaCI6MTc0NDI0NzE5MSwiaXAiOiI4LjIyMi4yMDguMTQ2IiwidXJsIjoiLyJ9.hMOXHv5lVbk8P2kMpAIGJq4BOjjSIU6LowVTq8E2cR0', url: TE_URL } }); socket.on('connect', function () { ioErrorCount = 0; IS_CONNECTED = !0; // Subscribe to the page symbol if (TE_URL.split(':').length == 2 && TESymbol != '') { var socketSymbol = TESymbol.toUpperCase() console.log('IO Subscribe', socketSymbol, 'No lag'); socket.emit('subscribe', { s: [socketSymbol] }) Subscribed.push(socketSymbol) } // Subscribe to channels if (TEChannels && TEChannels.length) { console.log('IO Subscribing to TEChannels', TEChannels); socket.emit('subscribe', { s: TEChannels }) } else { console.log('IO No TEChannels to Subscribe'); } // Subscribe to symbols if (TE_URL != '/' && TE_URL.indexOf("calendar") <= -1 && (TE_URL.split('/').length > 2 || TE_URL.indexOf(":ind") > -1)) { gatherMKTChannels(); if (MKTChannels && MKTChannels.length) { console.log('IO Subscribing to', MKTChannels.length, 'symbols:', MKTChannels); if (MKTChannels.length <= 36) { socket.emit('subscribe', { s: MKTChannels }) } else { console.log('IO Subscribing using Chunks'); var i, j, temparray, chunk = 36; for (i = 0, j = MKTChannels.length; i < j; i += chunk) { temparray = MKTChannels.slice(i, i + chunk); console.log('IO Subscribing to', temparray.length, 'channels:', temparray); socket.emit('subscribe', { s: temparray }) } } } else { console.log('IO No MKTChannels to Subscribe'); } } socket.on('disconnect', function () { IS_CONNECTED = !1; console.log('Got disconnect!') }); socket.on("smooth-disconnect", function () { socket.disconnect() }) }); var isSnap = !0; for (var i = 0; i < TEChannels.length; i++) { channel = TEChannels[i]; if (channel == 'calendar' || channel == 'stream') continue; console.log('IO Snap ' + channel); socket.on(channel, function (a) { a = decryptMessage(a) if (a.length > 0) { for (i = 0; i < a.length; i++) { TE_UpdateTable(a[i], isSnap) TE_UpdateMiniWidget(a[i]) TE_UpdateTreeMap(a[i]) } isSnap = !1 } else { console.log('IO Sent Empty Market Update') } }) } var ioErrorCount = 0; socket.on("connect_error", (err) => { ioErrorCount++; console.log('IO Connect Error', ioErrorCount); console.log(err.message); if (TE_URL.indexOf("calendar") <= -1 && ioErrorCount % 10 == 0) { console.log('Disconnecting IO'); socket.disconnect(); if (ioErrorCount < 100) { var sleepSecs = ioErrorCount * 5; console.log('Connecting again in', sleepSecs, 'seconds'); setInterval(function () { socket.connect() }, sleepSecs * 1000) } else console.log('Stay disconnected'); } }); socket.on('tick', function (t) { t = decryptMessage(t) TE_UpdateTable(t); if (TE_URL.split(':').length == 2) UpdateMarketTick(t); }); function gatherMKTChannels() { // Temporary block to avoid too many symbols return var nMarkets = $("[data-subscribe]").length; console.log("IO data-subscribe tag present in ", nMarkets, "markets") if (nMarkets == null || typeof input !== "undefined") return else if (nMarkets > 600) console.log("IO Skipping [data-subscribe] because of too many symbols") else { console.log("IO Searching [data-subscribe]") var sCount = 0; $("[data-subscribe]").each(function (i, item) { var socketSymbol = $(item).attr('data-subscribe') if (!MKTChannels.includes(socketSymbol) && !Subscribed.includes(socketSymbol)) { sCount++; console.log('IO [data-subscribe]', sCount, socketSymbol) MKTChannels.push(socketSymbol) } else console.log('Already Subscribed. Skip', socketSymbol) }) } } function TE_UpdateTable(d, isSnap) { var s = d.s; let element_price; $('tr[data-symbol="' + s + '"]').each((i, el) => { element_price = $(el).find("td#p"); }) if (element_price == undefined) { return } const p0 = parseFloat(element_price.text()) var r = $('tr[data-symbol="' + s + '"]'); var p = r.find('td#p'); var dec = 4; if (typeof r.data('decimals') !== 'undefined' && r.data('decimals') !== "") dec = r.data("decimals"); if (p0 != d.p.toFixed(dec)) { p.text(d.p.toFixed(dec)); fg = d.nch > 0 ? 'darkgreen' : d.nch < 0 ? 'darkred' : 'black'; if (IsDarkMode) fg = '#fff' triangle = d.nch > 0 ? '<span class="market-positive-image"></span>' : d.nch < 0 ? '<span class="market-negative-image"></span>' : '<span class="market-neutral-image"></span>'; var previous_triangle = r.find('td#triangle'); if (previous_triangle && previous_triangle.length) { previous_triangle.html(triangle) } var nch = r.find('td#nch'); if (nch) { nch.each(function (i, item) { if ($(item).attr("data-no-triangle")) { $(item).text(d.nch.toFixed(dec)); $(item).css("color", fg); $(item).html(Math.abs(d.nch.toFixed(dec))) } else { $(item).text(d.nch.toFixed(dec)); $(item).css("color", fg); $(item).html(triangle + ' ' + Math.abs(d.nch.toFixed(dec))) } }) } var pch = r.find('td#pch'); pch.text(d.pch.toFixed(2) + '%'); if (TEChannels != "market") { nch.attr('data-value', d.nch); pch.attr('data-value', d.pch) } r.find('td#pch') pch.css("color", fg); bg = IsDarkMode == true ? '#254f73' : '#cdebf9'; p.css("backgroundColor", bg); setTimeout(function () { p.css("backgroundColor", 'transparent') }, 1000) if (!isSnap) { var dt = new Date(); var h = dt.getHours(); if (h < 10) { h = "0" + h } var m = dt.getMinutes(); if (m < 10) { m = "0" + m } var ds = [h, m].join(':'); r.find('td#date').html(ds) } if (d.type && d.type == 'index') { var stateColor = '', stateSpan = ''; var state = d.state; if (d.dstate) state = d.dstate; if (state == 'open') stateColor = 'green'; else if (state == 'closed') stateColor = 'red'; else if (state == 'pre') stateColor = '#CFB53B'; else if (state == 'after') stateColor = '#CFB53B'; else { console.log('IO - Unknown Session State', s); return; } if (stateColor != '') { stateSpan = '<span class="bi bi-clock" style="font-size:10px; color: ' + stateColor + '" title="' + state + ' trading session"></span>'; r.find('td#session').html(stateSpan) } } } }; function TE_UpdateMiniWidget(t) { try { function isSameDay(date1, date2) { return ( date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate() ); } if (chart && TE_URL == '/') { if (chart.userOptions.series[0]['symbol'].toLowerCase() == t.s.toLowerCase()) { let seriesData = chart.series[0].data; let lastDataPoint = seriesData[seriesData.length - 1]; let lastDate = new Date(lastDataPoint.x); let currentDate = new Date(); currentDate.setHours(0, 0, 0, 0); let sameDay = isSameDay(lastDate, currentDate) if (sameDay) { const newValue = t.p; const newChang = t.nch; const newP = t.pch; lastDataPoint.update({ y: newValue, change: newChang, percentChange: newP, }); //addCloseLine(); addCustomLabel(newValue); } else { chart.series[0].addPoint( { x: currentDate.getTime(), y: t.p, change: t.nch, percentChange: t.pch, }, true, true ); //addCloseLine() addCustomLabel(t.p) } } } } catch (e) { //console.error("Issues updating mini widget") } } function TE_UpdateTreeMap(t) { try { function lightenColor(rgbStr, percent) { const match = rgbStr.match(/\d+/g); if (!match || match.length < 3) return rgbStr; let [r, g, b] = match.map(Number); r = Math.min(255, Math.floor(r + (255 - r) * percent)); g = Math.min(255, Math.floor(g + (255 - g) * percent)); b = Math.min(255, Math.floor(b + (255 - b) * percent)); return `rgb(${r}, ${g}, ${b})`; } if (TE_URL.includes("shares") || TE_URL.includes("/crypto/treemap")) { const arrayToUpdate = [t]; const rects = d3.selectAll("#container rect"); const rectsWithId = rects.filter(function () { return d3.select(this).attr("id"); }); const color = d3.scaleLinear() .domain([-3, 0, 3]) .range(["#f93639", "#464646", "#34d65f"]) .clamp(true); const indexToUpdate = []; arrayToUpdate.forEach(function (d) { const i = rectsWithId._groups[0].findIndex(rect => rect.__data__ && rect.__data__.data.url && rect.__data__.data.url.includes(d.s.toLowerCase()) ); if (i !== -1) { indexToUpdate.push({ id: i, io: d }); } }); rectsWithId.each(function (d, index) { const match = indexToUpdate.find(item => item.id === index); if (match) { const el = d3.select(this); //const originalColor = el.attr("data-original-color"); el.transition() .duration(200) .attr("fill", lightenColor(color(match.io.pch), 0.2)); const parentG = d3.select(this.parentNode); const newPercent = match.io.pch.toFixed(2) + "%"; const titleEl = parentG.select("title"); const currentTitle = titleEl.text(); const titleLines = currentTitle.split("\n"); if (titleLines.length >= 1) { titleLines[1] = match.io.p; titleLines[2] = newPercent; titleEl.text(titleLines.join("\n")); } parentG.selectAll("text") .filter((b, i) => i === 1) .select("tspan") .text(newPercent); setTimeout(() => { el.transition() .duration(200) .attr("fill", color(match.io.pch)); }, 200); } }); } } catch (e) { console.error("TE_UpdateTreeMap =>", e); } } var TENotifications = 0; function TENotification(_title, _text, _url, _importance) { TENotifications++; console.log("IO => Notification => ", _title, _text, _url, _importance, TENotifications); if (TENotifications > 2 & _importance <= 1) return; if (TENotifications > 4 & _importance <= 2) return; var IsDesktop = !1; var _titleHTML = 'ALERT'; var _alertType = 'NEWS'; var _color = "#5bc0de"; if (_importance > 0) { _alertType = 'CALENDAR'; if (_importance > 1) { IsDesktop = !0; _color = '#5cb85c'; if (_importance > 2) _color = '#d9534f' } } if (TELanguage == '') { upsertNotification({ title: _title, text: _text, url: _url, importance: _importance }, false, true); } _titleHTML = '<div style="padding-bottom:10px; font-size: 11px;color: #fff; font-weight: bold;"><span style="background-color: #000; padding: 3px;">' + _alertType + '</span><span style="background-color: ' + _color + '; padding: 3px;">ALERT</span></div>'; var _textHTML = _text; if (_text && _text.length > 200) { console.log("Trim text"); _textHTML = _text.substring(0, 200) + '...'; _textHTML += ' <a style="text-decoration: underline;" target="_new" href="' + _url + '">More</a>' } else if (_text) { _textHTML += ' <a style="text-decoration: underline;" target="_new" href="' + _url + '">More</a>' } PNotify.desktop.permission(); (new PNotify({ title: _titleHTML, text: _textHTML, hide: !0, animation: 'fade', shadow: !0, icon: !1, mouse_reset: !1, delay: 20000, buttons: { sticker: !1, closer_hover: !1 }, addclass: 'custom', })).get().click(function (e) { if ($('.ui-pnotify-closer, .ui-pnotify-closer *').is(e.target)) { console.log("Closed Notification"); return } window.location = _url }); if (IsDesktop) { var _tag = _url + "?v=" + new Date().toISOString().slice(0, 10).replace(/-/g, ""); console.log("PNotify tag", _tag); (new PNotify({ title: _titleHTML, text: _textHTML, hide: !1, animation: 'fade', shadow: !0, icon: !1, mouse_reset: !1, hide: !0, delay: 20000, buttons: { sticker: !1, closer_hover: !1 }, addclass: 'custom', type: 'info', desktop: { desktop: IsDesktop, title: 'TRADING ECONOMICS', text: _text, tag: _tag, fallback: !1 } })).get().click(function (e) { if ($('.ui-pnotify-closer, .ui-pnotify-closer *').is(e.target)) { console.log("Closed Notification"); return } window.location = _url }) } } function TECalendarRowUpdate(c) { console.log("UPDATE CALENDAR ROW"); console.log(c); var $row = $('tr[data-id="' + c.CalendarId + '"]'); console.log($row); var $td = $row.find('span#actual'); console.log($td); $td.text(c.Actual); console.log(c.Actual); console.log($td.text); bg = '#5bc0de'; $td.css("backgroundColor", bg); color = c.Actual.toString().indexOf("-") ? 'darkgreen' : 'darkred'; $td.css("color", color); $row.find('span#previous').text(c.Previous); $row.find('img#incoming').css("display", 'none'); setInterval(function () { $td.css("backgroundColor", '#ffffff') }, 2000) } socket.on('calendar', function (c) { console.log("IO CALENDAR") c = decryptMessage(c) console.log(c); if (c.Importance >= 1) { var _title = c.Country.trim() + ' ' + c.Event.trim(); var _text = _title; if (c.Actual != null && c.Actual != '') _text += ' reported at ' + c.Actual + '. '; if (c.Forecast != null && c.Forecast != '') _text += 'Consensus was ' + c.Forecast + '. '; if (c.Previous != null && c.Previous != '') _text += 'Previously at ' + c.Previous + '.'; var _url = 'https://tradingeconomics.com' + c.URL; if (TE_URL.indexOf("calendar") > -1 || (TELanguage != null && TELanguage.length > 0 && TE_URL == '/')) TECalendarRowUpdate(c); TENotification(_title, _text, _url, c.Importance) } }); socket.on('stream', function (j) { console.log("IO STREAM") j = decryptMessage(j) console.log(j); var _title = j.title; var _description = j.description; var _url = j.url; if (_title && _description && _url) { TENotification(_title, _description, _url, 0) } }); var KILL_SOCKET_AFTER_IDLE = 1000 * 60 * 30; var IS_RELOAD_REQUIRED = !1; var IS_QUESTION_OPEN = !1; var IS_CONNECTED = !1; var LAST_VISIBLE = new Date().getTime(); if (TE_URL.indexOf("calendar") > -1 || TE_URL.indexOf("/currency") > -1 || TE_URL.indexOf("/stock-market") > -1 || TE_URL.indexOf("/commodity/") > -1 || TE_URL.indexOf("/government-bond-yield") > -1 || TE_URL.indexOf("stream") > -1 || TE_URL.indexOf("/currencies") > -1 || TE_URL.indexOf("/stocks") > -1 || TE_URL.indexOf("/bonds") > -1 || TE_URL.indexOf("/commodities") > -1) { KILL_SOCKET_AFTER_IDLE = 1000 * 60 * 60; IS_RELOAD_REQUIRED = !0 } // To be users in market pages ex aapl:us function UpdateMarketTick(t) { if (t.state && t.state == 'closed') { console.log('market is closed'); } var s = t.s; if (!s || s.toLowerCase() != symbol.toLowerCase()) { return; } $('#market_last').html(t.p); $('#market_daily_chg').html(t.nch + ' '); $('#market_daily_Pchg').html(t.pch + '%'); if (t.nch > 0) { $('#market_chg_arrow').attr('class', 'market-positive-image'); $('#market_daily_chg').css({ color: '#8ecf61' }); $('#market_daily_Pchg').css({ color: '#8ecf61' }); } else { $('#market_chg_arrow').attr('class', 'market-negative-image'); $('#market_daily_chg').css({ color: '#ed3b3b' }); $('#market_daily_Pchg').css({ color: '#ed3b3b' }); } } function saveSocketNetworkBW() { console.log("Socket check if alive"); setInterval(function () { if (typeof document == 'undefined' || !document) { console.log("ws: undefined"); return LAST_VISIBLE = new Date().getTime() } if (typeof document.hidden != 'boolean') { console.log("ws: hidden"); return LAST_VISIBLE = new Date().getTime() } if (!document.hidden) { console.log("ws: live"); if (!IS_CONNECTED) { console.log('ws: connecting'); socket.connect() } return LAST_VISIBLE = new Date().getTime() } var now = new Date().getTime(); if (now - LAST_VISIBLE > KILL_SOCKET_AFTER_IDLE) { if (IS_CONNECTED) { console.log('ws: disconnecting'); socket.disconnect(); if (IS_RELOAD_REQUIRED && IS_QUESTION_OPEN == !1) { var result = confirm("Please Press Ok to Refresh the Data in this Page"); IS_QUESTION_OPEN = !0; if (result) { IS_QUESTION_OPEN = !1; document.location = document.location.href } } } } }, 1000 * 60) } saveSocketNetworkBW() // pnotify !function (t, i) { "function" == typeof define && define.amd ? define("pnotify", ["jquery"], function (s) { return i(s, t) }) : "object" == typeof exports && "undefined" != typeof module ? module.exports = i(require("jquery"), global || t) : t.PNotify = i(t.jQuery, t) }("undefined" != typeof window ? window : this, function (t, i) { var s = function (i) { var e, o, n = { dir1: "down", dir2: "left", push: "bottom", spacing1: 36, spacing2: 36, context: t("body"), modal: !1 }, a = t(i), r = function () { o = t("body"), c.prototype.options.stack.context = o, a = t(i), a.bind("resize", function () { e && clearTimeout(e), e = setTimeout(function () { c.positionAll(!0) }, 10) }) }, h = function (i) { var s = t("<div />", { class: "ui-pnotify-modal-overlay" }); return s.prependTo(i.context), i.overlay_close && s.click(function () { c.removeStack(i) }), s }, c = function (t) { this.state = "initializing", this.timer = null, this.animTimer = null, this.styles = null, this.elem = null, this.container = null, this.title_container = null, this.text_container = null, this.animating = !1, this.timerHide = !1, this.parseOptions(t), this.init() }; return t.extend(c.prototype, { version: "3.2.0", options: { title: !1, title_escape: !1, text: !1, text_escape: !1, styling: "brighttheme", addclass: "", cornerclass: "", auto_display: !0, width: "300px", min_height: "16px", type: "notice", icon: !0, animation: "fade", animate_speed: "normal", shadow: !0, hide: !0, delay: 8e3, mouse_reset: !0, remove: !0, insert_brs: !0, destroy: !0, stack: n }, modules: {}, runModules: function (t, i) { var s; for (var e in this.modules) s = "object" == typeof i && e in i ? i[e] : i, "function" == typeof this.modules[e][t] && (this.modules[e].notice = this, this.modules[e].options = "object" == typeof this.options[e] ? this.options[e] : {}, this.modules[e][t](this, "object" == typeof this.options[e] ? this.options[e] : {}, s)) }, init: function () { var i = this; return this.modules = {}, t.extend(!0, this.modules, c.prototype.modules), "object" == typeof this.options.styling ? this.styles = this.options.styling : this.styles = c.styling[this.options.styling], this.elem = t("<div />", { class: "ui-pnotify " + this.options.addclass, css: { display: "none" }, "aria-live": "assertive", "aria-role": "alertdialog", mouseenter: function (t) { if (i.options.mouse_reset && "out" === i.animating) { if (!i.timerHide) return; i.cancelRemove() } i.options.hide && i.options.mouse_reset && i.cancelRemove() }, mouseleave: function (t) { i.options.hide && i.options.mouse_reset && "out" !== i.animating && i.queueRemove(), c.positionAll() } }), "fade" === this.options.animation && this.elem.addClass("ui-pnotify-fade-" + this.options.animate_speed), this.container = t("<div />", { class: this.styles.container + " ui-pnotify-container " + ("error" === this.options.type ? this.styles.error : "info" === this.options.type ? this.styles.info : "success" === this.options.type ? this.styles.success : this.styles.notice), role: "alert" }).appendTo(this.elem), "" !== this.options.cornerclass && this.container.removeClass("ui-corner-all").addClass(this.options.cornerclass), this.options.shadow && this.container.addClass("ui-pnotify-shadow"), !1 !== this.options.icon && t("<div />", { class: "ui-pnotify-icon" }).append(t("<span />", { class: !0 === this.options.icon ? "error" === this.options.type ? this.styles.error_icon : "info" === this.options.type ? this.styles.info_icon : "success" === this.options.type ? this.styles.success_icon : this.styles.notice_icon : this.options.icon })).prependTo(this.container), this.title_container = t("<h4 />", { class: "ui-pnotify-title" }).appendTo(this.container), !1 === this.options.title ? this.title_container.hide() : this.options.title_escape ? this.title_container.text(this.options.title) : this.title_container.html(this.options.title), this.text_container = t("<div />", { class: "ui-pnotify-text", "aria-role": "alert" }).appendTo(this.container), !1 === this.options.text ? this.text_container.hide() : this.options.text_escape ? this.text_container.text(this.options.text) : this.text_container.html(this.options.insert_brs ? String(this.options.text).replace(/\n/g, "<br />") : this.options.text), "string" == typeof this.options.width && this.elem.css("width", this.options.width), "string" == typeof this.options.min_height && this.container.css("min-height", this.options.min_height), "top" === this.options.stack.push ? c.notices = t.merge([this], c.notices) : c.notices = t.merge(c.notices, [this]), "top" === this.options.stack.push && this.queuePosition(!1, 1), this.options.stack.animation = !1, this.runModules("init"), this.state = "closed", this.options.auto_display && this.open(), this }, update: function (i) { var s = this.options; return this.parseOptions(s, i), this.elem.removeClass("ui-pnotify-fade-slow ui-pnotify-fade-normal ui-pnotify-fade-fast"), "fade" === this.options.animation && this.elem.addClass("ui-pnotify-fade-" + this.options.animate_speed), this.options.cornerclass !== s.cornerclass && this.container.removeClass("ui-corner-all " + s.cornerclass).addClass(this.options.cornerclass), this.options.shadow !== s.shadow && (this.options.shadow ? this.container.addClass("ui-pnotify-shadow") : this.container.removeClass("ui-pnotify-shadow")), !1 === this.options.addclass ? this.elem.removeClass(s.addclass) : this.options.addclass !== s.addclass && this.elem.removeClass(s.addclass).addClass(this.options.addclass), !1 === this.options.title ? this.title_container.slideUp("fast") : this.options.title !== s.title && (this.options.title_escape ? this.title_container.text(this.options.title) : this.title_container.html(this.options.title), !1 === s.title && this.title_container.slideDown(200)), !1 === this.options.text ? this.text_container.slideUp("fast") : this.options.text !== s.text && (this.options.text_escape ? this.text_container.text(this.options.text) : this.text_container.html(this.options.insert_brs ? String(this.options.text).replace(/\n/g, "<br />") : this.options.text), !1 === s.text && this.text_container.slideDown(200)), this.options.type !== s.type && this.container.removeClass(this.styles.error + " " + this.styles.notice + " " + this.styles.success + " " + this.styles.info).addClass("error" === this.options.type ? this.styles.error : "info" === this.options.type ? this.styles.info : "success" === this.options.type ? this.styles.success : this.styles.notice), (this.options.icon !== s.icon || !0 === this.options.icon && this.options.type !== s.type) && (this.container.find("div.ui-pnotify-icon").remove(), !1 !== this.options.icon && t("<div />", { class: "ui-pnotify-icon" }).append(t("<span />", { class: !0 === this.options.icon ? "error" === this.options.type ? this.styles.error_icon : "info" === this.options.type ? this.styles.info_icon : "success" === this.options.type ? this.styles.success_icon : this.styles.notice_icon : this.options.icon })).prependTo(this.container)), this.options.width !== s.width && this.elem.animate({ width: this.options.width }), this.options.min_height !== s.min_height && this.container.animate({ minHeight: this.options.min_height }), this.options.hide ? s.hide || this.queueRemove() : this.cancelRemove(), this.queuePosition(!0), this.runModules("update", s), this }, open: function () { this.state = "opening", this.runModules("beforeOpen"); var t = this; return this.elem.parent().length || this.elem.appendTo(this.options.stack.context ? this.options.stack.context : o), "top" !== this.options.stack.push && this.position(!0), this.animateIn(function () { t.queuePosition(!0), t.options.hide && t.queueRemove(), t.state = "open", t.runModules("afterOpen") }), this }, remove: function (s) { this.state = "closing", this.timerHide = !!s, this.runModules("beforeClose"); var e = this; return this.timer && (i.clearTimeout(this.timer), this.timer = null), this.animateOut(function () { if (e.state = "closed", e.runModules("afterClose"), e.queuePosition(!0), e.options.remove && e.elem.detach(), e.runModules("beforeDestroy"), e.options.destroy && null !== c.notices) { var i = t.inArray(e, c.notices); -1 !== i && c.notices.splice(i, 1) } e.runModules("afterDestroy") }), this }, get: function () { return this.elem }, parseOptions: function (i, s) { this.options = t.extend(!0, {}, c.prototype.options), this.options.stack = c.prototype.options.stack; for (var e, o = [i, s], n = 0; n < o.length && void 0 !== (e = o[n]); n++)if ("object" != typeof e) this.options.text = e; else for (var a in e) this.modules[a] ? t.extend(!0, this.options[a], e[a]) : this.options[a] = e[a] }, animateIn: function (t) { this.animating = "in"; var i = this, s = function () { i.animTimer && clearTimeout(i.animTimer), "in" === i.animating && (i.elem.is(":visible") ? (t && t.call(), i.animating = !1) : i.animTimer = setTimeout(s, 40)) }; "fade" === this.options.animation ? (this.elem.one("webkitTransitionEnd mozTransitionEnd MSTransitionEnd oTransitionEnd transitionend", s).addClass("ui-pnotify-in"), this.elem.css("opacity"), this.elem.addClass("ui-pnotify-fade-in"), this.animTimer = setTimeout(s, 650)) : (this.elem.addClass("ui-pnotify-in"), s()) }, animateOut: function (i) { this.animating = "out"; var s = this, e = function () { if (s.animTimer && clearTimeout(s.animTimer), "out" === s.animating) if ("0" != s.elem.css("opacity") && s.elem.is(":visible")) s.animTimer = setTimeout(e, 40); else { if (s.elem.removeClass("ui-pnotify-in"), s.options.stack.overlay) { var o = !1; t.each(c.notices, function (t, i) { i != s && i.options.stack === s.options.stack && "closed" != i.state && (o = !0) }), o || s.options.stack.overlay.hide() } i && i.call(), s.animating = !1 } }; "fade" === this.options.animation ? (this.elem.one("webkitTransitionEnd mozTransitionEnd MSTransitionEnd oTransitionEnd transitionend", e).removeClass("ui-pnotify-fade-in"), this.animTimer = setTimeout(e, 650)) : (this.elem.removeClass("ui-pnotify-in"), e()) }, position: function (t) { var i = this.options.stack, s = this.elem; if (void 0 === i.context && (i.context = o), i) { "number" != typeof i.nextpos1 && (i.nextpos1 = i.firstpos1), "number" != typeof i.nextpos2 && (i.nextpos2 = i.firstpos2), "number" != typeof i.addpos2 && (i.addpos2 = 0); var e = !s.hasClass("ui-pnotify-in"); if (!e || t) { i.modal && (i.overlay ? i.overlay.show() : i.overlay = h(i)), s.addClass("ui-pnotify-move"); var n, r, c; switch (i.dir1) { case "down": c = "top"; break; case "up": c = "bottom"; break; case "left": c = "right"; break; case "right": c = "left" }n = parseInt(s.css(c).replace(/(?:\..*|[^0-9.])/g, "")), isNaN(n) && (n = 0), void 0 !== i.firstpos1 || e || (i.firstpos1 = n, i.nextpos1 = i.firstpos1); var p; switch (i.dir2) { case "down": p = "top"; break; case "up": p = "bottom"; break; case "left": p = "right"; break; case "right": p = "left" }switch (r = parseInt(s.css(p).replace(/(?:\..*|[^0-9.])/g, "")), isNaN(r) && (r = 0), void 0 !== i.firstpos2 || e || (i.firstpos2 = r, i.nextpos2 = i.firstpos2), ("down" === i.dir1 && i.nextpos1 + s.height() > (i.context.is(o) ? a.height() : i.context.prop("scrollHeight")) || "up" === i.dir1 && i.nextpos1 + s.height() > (i.context.is(o) ? a.height() : i.context.prop("scrollHeight")) || "left" === i.dir1 && i.nextpos1 + s.width() > (i.context.is(o) ? a.width() : i.context.prop("scrollWidth")) || "right" === i.dir1 && i.nextpos1 + s.width() > (i.context.is(o) ? a.width() : i.context.prop("scrollWidth"))) && (i.nextpos1 = i.firstpos1, i.nextpos2 += i.addpos2 + (void 0 === i.spacing2 ? 25 : i.spacing2), i.addpos2 = 0), "number" == typeof i.nextpos2 && (i.animation ? s.css(p, i.nextpos2 + "px") : (s.removeClass("ui-pnotify-move"), s.css(p, i.nextpos2 + "px"), s.css(p), s.addClass("ui-pnotify-move"))), i.dir2) { case "down": case "up": s.outerHeight(!0) > i.addpos2 && (i.addpos2 = s.height()); break; case "left": case "right": s.outerWidth(!0) > i.addpos2 && (i.addpos2 = s.width()) }switch ("number" == typeof i.nextpos1 && (i.animation ? s.css(c, i.nextpos1 + "px") : (s.removeClass("ui-pnotify-move"), s.css(c, i.nextpos1 + "px"), s.css(c), s.addClass("ui-pnotify-move"))), i.dir1) { case "down": case "up": i.nextpos1 += s.height() + (void 0 === i.spacing1 ? 25 : i.spacing1); break; case "left": case "right": i.nextpos1 += s.width() + (void 0 === i.spacing1 ? 25 : i.spacing1) } } return this } }, queuePosition: function (t, i) { return e && clearTimeout(e), i || (i = 10), e = setTimeout(function () { c.positionAll(t) }, i), this }, cancelRemove: function () { return this.timer && i.clearTimeout(this.timer), this.animTimer && i.clearTimeout(this.animTimer), "closing" === this.state && (this.state = "open", this.animating = !1, this.elem.addClass("ui-pnotify-in"), "fade" === this.options.animation && this.elem.addClass("ui-pnotify-fade-in")), this }, queueRemove: function () { var t = this; return this.cancelRemove(), this.timer = i.setTimeout(function () { t.remove(!0) }, isNaN(this.options.delay) ? 0 : this.options.delay), this } }), t.extend(c, { notices: [], reload: s, removeAll: function () { t.each(c.notices, function (t, i) { i.remove && i.remove(!1) }) }, removeStack: function (i) { t.each(c.notices, function (t, s) { s.remove && s.options.stack === i && s.remove(!1) }) }, positionAll: function (i) { if (e && clearTimeout(e), e = null, c.notices && c.notices.length) t.each(c.notices, function (t, s) { var e = s.options.stack; e && (e.overlay && e.overlay.hide(), e.nextpos1 = e.firstpos1, e.nextpos2 = e.firstpos2, e.addpos2 = 0, e.animation = i) }), t.each(c.notices, function (t, i) { i.position() }); else { var s = c.prototype.options.stack; s && (delete s.nextpos1, delete s.nextpos2) } }, styling: { brighttheme: { container: "brighttheme", notice: "brighttheme-notice", notice_icon: "brighttheme-icon-notice", info: "brighttheme-info", info_icon: "brighttheme-icon-info", success: "brighttheme-success", success_icon: "brighttheme-icon-success", error: "brighttheme-error", error_icon: "brighttheme-icon-error" }, bootstrap3: { container: "alert", notice: "alert-warning", notice_icon: "glyphicon glyphicon-exclamation-sign", info: "alert-info", info_icon: "glyphicon glyphicon-info-sign", success: "alert-success", success_icon: "bi bi-check-lg-sign", error: "alert-danger", error_icon: "glyphicon glyphicon-warning-sign" } } }), c.styling.fontawesome = t.extend({}, c.styling.bootstrap3), t.extend(c.styling.fontawesome, { notice_icon: "fa fa-exclamation-circle", info_icon: "fa fa-info", success_icon: "fa fa-check", error_icon: "fa fa-warning" }), i.document.body ? r() : t(r), c }; return s(i) }); !function (o, s) { "function" == typeof define && define.amd ? define("pnotify.buttons", ["jquery", "pnotify"], s) : "object" == typeof exports && "undefined" != typeof module ? module.exports = s(require("jquery"), require("./pnotify")) : s(o.jQuery, o.PNotify) }("undefined" != typeof window ? window : this, function (o, s) { return s.prototype.options.buttons = { closer: !0, closer_hover: !0, sticker: !0, sticker_hover: !0, show_on_nonblock: !1, labels: { close: "Close", stick: "Stick", unstick: "Unstick" }, classes: { closer: null, pin_up: null, pin_down: null } }, s.prototype.modules.buttons = { init: function (s, i) { var n = this; s.elem.on({ mouseenter: function (o) { !n.options.sticker || s.options.nonblock && s.options.nonblock.nonblock && !n.options.show_on_nonblock || n.sticker.trigger("pnotify:buttons:toggleStick").css("visibility", "visible"), !n.options.closer || s.options.nonblock && s.options.nonblock.nonblock && !n.options.show_on_nonblock || n.closer.css("visibility", "visible") }, mouseleave: function (o) { n.options.sticker_hover && n.sticker.css("visibility", "d-none"), n.options.closer_hover && n.closer.css("visibility", "d-none") } }), this.sticker = o("<div />", { class: "ui-pnotify-sticker", "aria-role": "button", "aria-pressed": s.options.hide ? "false" : "true", tabindex: "0", title: s.options.hide ? i.labels.stick : i.labels.unstick, css: { cursor: "pointer", visibility: i.sticker_hover ? "d-none" : "visible" }, click: function () { s.options.hide = !s.options.hide, s.options.hide ? s.queueRemove() : s.cancelRemove(), o(this).trigger("pnotify:buttons:toggleStick") } }).bind("pnotify:buttons:toggleStick", function () { var i = null === n.options.classes.pin_up ? s.styles.pin_up : n.options.classes.pin_up, e = null === n.options.classes.pin_down ? s.styles.pin_down : n.options.classes.pin_down; o(this).attr("title", s.options.hide ? n.options.labels.stick : n.options.labels.unstick).children().attr("class", "").addClass(s.options.hide ? i : e).attr("aria-pressed", s.options.hide ? "false" : "true") }).append("<span />").trigger("pnotify:buttons:toggleStick").prependTo(s.container), (!i.sticker || s.options.nonblock && s.options.nonblock.nonblock && !i.show_on_nonblock) && this.sticker.css("display", "none"), this.closer = o("<div />", { class: "ui-pnotify-closer", "aria-role": "button", tabindex: "0", title: i.labels.close, css: { cursor: "pointer", visibility: i.closer_hover ? "d-none" : "visible" }, click: function () { s.remove(!1), n.sticker.css("visibility", "d-none"), n.closer.css("visibility", "d-none") } }).append(o("<span />", { class: null === i.classes.closer ? s.styles.closer : i.classes.closer })).prependTo(s.container), (!i.closer || s.options.nonblock && s.options.nonblock.nonblock && !i.show_on_nonblock) && this.closer.css("display", "none") }, update: function (o, s) { !s.closer || o.options.nonblock && o.options.nonblock.nonblock && !s.show_on_nonblock ? this.closer.css("display", "none") : s.closer && this.closer.css("display", "block"), !s.sticker || o.options.nonblock && o.options.nonblock.nonblock && !s.show_on_nonblock ? this.sticker.css("display", "none") : s.sticker && this.sticker.css("display", "block"), this.sticker.trigger("pnotify:buttons:toggleStick"), this.closer.find("span").attr("class", "").addClass(null === s.classes.closer ? o.styles.closer : s.classes.closer), s.sticker_hover ? this.sticker.css("visibility", "d-none") : o.options.nonblock && o.options.nonblock.nonblock && !s.show_on_nonblock || this.sticker.css("visibility", "visible"), s.closer_hover ? this.closer.css("visibility", "d-none") : o.options.nonblock && o.options.nonblock.nonblock && !s.show_on_nonblock || this.closer.css("visibility", "visible") } }, o.extend(s.styling.brighttheme, { closer: "brighttheme-icon-closer", pin_up: "brighttheme-icon-sticker", pin_down: "brighttheme-icon-sticker brighttheme-icon-stuck" }), o.extend(s.styling.bootstrap3, { closer: "bi bi-x-lg", pin_up: "glyphicon glyphicon-pause", pin_down: "glyphicon glyphicon-play" }), o.extend(s.styling.fontawesome, { closer: "fa fa-times", pin_up: "fa fa-pause", pin_down: "fa fa-play" }), s }); !function (i, t) { "function" == typeof define && define.amd ? define("pnotify.desktop", ["jquery", "pnotify"], t) : "object" == typeof exports && "undefined" != typeof module ? module.exports = t(require("jquery"), require("./pnotify")) : t(i.jQuery, i.PNotify) }("undefined" != typeof window ? window : this, function (i, t) { var o, n = function (i, t) { return (n = "Notification" in window ? function (i, t) { return new Notification(i, t) } : "mozNotification" in navigator ? function (i, t) { return navigator.mozNotification.createNotification(i, t.body, t.icon).show() } : "webkitNotifications" in window ? function (i, t) { return window.webkitNotifications.createNotification(t.icon, i, t.body) } : function (i, t) { return null })(i, t) }; return t.prototype.options.desktop = { desktop: !1, fallback: !0, icon: null, tag: null, title: null, text: null }, t.prototype.modules.desktop = { genNotice: function (i, t) { null === t.icon ? this.icon = "https://sciactive.com/pnotify/includes/desktop/" + i.options.type + ".png" : !1 === t.icon ? this.icon = null : this.icon = t.icon, null !== this.tag && null === t.tag || (this.tag = null === t.tag ? "PNotify-" + Math.round(1e6 * Math.random()) : t.tag), i.desktop = n(t.title || i.options.title, { icon: this.icon, body: t.text || i.options.text, tag: this.tag }), !("close" in i.desktop) && "cancel" in i.desktop && (i.desktop.close = function () { i.desktop.cancel() }), i.desktop.onclick = function () { i.elem.trigger("click") }, i.desktop.onclose = function () { "closing" !== i.state && "closed" !== i.state && i.remove() } }, init: function (i, n) { if (n.desktop) { if (0 !== (o = t.desktop.checkPermission())) return void (n.fallback || (i.options.auto_display = !1)); this.genNotice(i, n) } }, update: function (i, t, n) { 0 !== o && t.fallback || !t.desktop || this.genNotice(i, t) }, beforeOpen: function (i, t) { 0 !== o && t.fallback || !t.desktop || i.elem.css({ left: "-10000px" }).removeClass("ui-pnotify-in") }, afterOpen: function (i, t) { 0 !== o && t.fallback || !t.desktop || (i.elem.css({ left: "-10000px" }).removeClass("ui-pnotify-in"), "show" in i.desktop && i.desktop.show()) }, beforeClose: function (i, t) { 0 !== o && t.fallback || !t.desktop || i.elem.css({ left: "-10000px" }).removeClass("ui-pnotify-in") }, afterClose: function (i, t) { 0 !== o && t.fallback || !t.desktop || (i.elem.css({ left: "-10000px" }).removeClass("ui-pnotify-in"), "close" in i.desktop && i.desktop.close()) } }, t.desktop = { permission: function () { "undefined" != typeof Notification && "requestPermission" in Notification ? Notification.requestPermission() : "webkitNotifications" in window && window.webkitNotifications.requestPermission() }, checkPermission: function () { return "undefined" != typeof Notification && "permission" in Notification ? "granted" === Notification.permission ? 0 : 1 : "webkitNotifications" in window && 0 == window.webkitNotifications.checkPermission() ? 0 : 1 } }, o = t.desktop.checkPermission(), t }); !function (i, o) { "function" == typeof define && define.amd ? define("pnotify.mobile", ["jquery", "pnotify"], o) : "object" == typeof exports && "undefined" != typeof module ? module.exports = o(require("jquery"), require("./pnotify")) : o(i.jQuery, i.PNotify) }("undefined" != typeof window ? window : this, function (i, o) { return o.prototype.options.mobile = { swipe_dismiss: !0, styling: !0 }, o.prototype.modules.mobile = { init: function (i, o) { var t = this, e = null, n = null, s = null; this.swipe_dismiss = o.swipe_dismiss, this.doMobileStyling(i, o), i.elem.on({ touchstart: function (o) { t.swipe_dismiss && (e = o.originalEvent.touches[0].screenX, s = i.elem.width(), i.container.css("left", "0")) }, touchmove: function (o) { if (e && t.swipe_dismiss) { var a = o.originalEvent.touches[0].screenX; n = a - e; var c = (1 - Math.abs(n) / s) * i.options.opacity; i.elem.css("opacity", c), i.container.css("left", n) } }, touchend: function () { if (e && t.swipe_dismiss) { if (Math.abs(n) > 40) { var o = n < 0 ? -2 * s : 2 * s; i.elem.animate({ opacity: 0 }, 100), i.container.animate({ left: o }, 100), i.remove() } else i.elem.animate({ opacity: i.options.opacity }, 100), i.container.animate({ left: 0 }, 100); e = null, n = null, s = null } }, touchcancel: function () { e && t.swipe_dismiss && (i.elem.animate({ opacity: i.options.opacity }, 100), i.container.animate({ left: 0 }, 100), e = null, n = null, s = null) } }) }, update: function (i, o) { this.swipe_dismiss = o.swipe_dismiss, this.doMobileStyling(i, o) }, doMobileStyling: function (o, t) { t.styling ? (o.elem.addClass("ui-pnotify-mobile-able"), i(window).width() <= 480 ? (o.options.stack.mobileOrigSpacing1 || (o.options.stack.mobileOrigSpacing1 = o.options.stack.spacing1, o.options.stack.mobileOrigSpacing2 = o.options.stack.spacing2), o.options.stack.spacing1 = 0, o.options.stack.spacing2 = 0) : (o.options.stack.mobileOrigSpacing1 || o.options.stack.mobileOrigSpacing2) && (o.options.stack.spacing1 = o.options.stack.mobileOrigSpacing1, delete o.options.stack.mobileOrigSpacing1, o.options.stack.spacing2 = o.options.stack.mobileOrigSpacing2, delete o.options.stack.mobileOrigSpacing2)) : (o.elem.removeClass("ui-pnotify-mobile-able"), o.options.stack.mobileOrigSpacing1 && (o.options.stack.spacing1 = o.options.stack.mobileOrigSpacing1, delete o.options.stack.mobileOrigSpacing1), o.options.stack.mobileOrigSpacing2 && (o.options.stack.spacing2 = o.options.stack.mobileOrigSpacing2, delete o.options.stack.mobileOrigSpacing2)) } }, o }); // Test //TE_UpdateTable({ "s": "NDX:IND", "p": 15274.39, "nch": -199.53, "pch": -1.29, "type": "index", "state": "open", "dstate": "open" }, false) //TEST notificationList /*setTimeout(() => { TENotification("United States Core Inflation Rate YoY", "United States Core Inflation Rate YoY reported at 3.3%. Consensus was 3.4%. Previously at 3.4%", "/", "3") }, 25000) setTimeout(() => { TENotification("United States CPI", "United States CPI reported at 314.18. Consensus was 314.63. Previously at 314.07.", "/", "3") }, 30001) setTimeout(() => { TENotification("United States Inflation Rate YoY", "United States Inflation Rate YoY reported at 3.0%. Consensus was 3.1%. Previously at 3.3%.", "/", "3") }, 35002) setTimeout(() => { TENotification("United States Inflation Rate MoM", "United States Inflation Rate MoM reported at -0.1%. Consensus was 0.1%. Previously at 0.0%.", "/", "3") }, 40003) setTimeout(() => { TENotification("United States Core Inflation Rate MoM", "United States Core Inflation Rate MoM reported at 0.1%. Consensus was 0.2%. Previously at 0.2%.", "/", "3") }, 45004)*/ }</script> <script> $(function(){ console.log("Heatmap2"); //if (!IsDarkMode && window.location.pathname.length <= 1 ) return var IsDarkModeByForce = false; if (window.location.pathname.length <= 1 || window.location.pathname.indexOf("matrix") > -1) IsDarkModeByForce = true; function shadeColor2(color, percent) { var f = parseInt(color.slice(1), 16), t = percent < 0 ? 0 : 255, p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF; return "#" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1); } function colorMyTable() { console.log("Heatmap2 - ColorMyTable") var table = $(".table-heatmap"); var tbody = table.find('tbody'); var _columns = {}; table.find('thead').find('tr').find('th').each(function (i, th) { if ($(th).attr('data-heatmap')) { _columns[i] = { 'index': i, 'limit': $(th).attr('data-heatmap-limit'), 'upColor': $(th).attr('data-heatmap-upcolor') || '#f93639', 'dnColor': $(th).attr('data-heatmap-dncolor') || '#34d65f' }; } }); $(tbody).find('tr').each(function (i, row) { var tdArr = $(row).find('td'); for (var key in _columns) { var thisColumn = _columns[key], td; if (!(td = tdArr[key])) { continue; } var value = $(td).attr('data-heatmap-value') || Number($(td).html().replace('%', '')); if (!value) { //console.log("no value ...", key); continue; } var range = Math.floor(Math.abs(value) / (thisColumn.limit / 10)); if (range > 10) range = 10; var percentToShade = (10 - range) / 10; if (TEComparable == -1 || TEComparable == 2) { thisColumn.upColor = '#34d65f'; thisColumn.dnColor = '#f93639'; } var color = shadeColor2(value < 0 ? thisColumn.upColor : thisColumn.dnColor, percentToShade); //console.log(value, percentToShade) if (IsDarkMode || IsDarkModeByForce) { if ($(td).children().length > 0) $(td).children().css({ 'color': color }); else $(td).css({ 'color': color }); } else $(td).css({ 'background-color': color}); } }); } colorMyTable(); setInterval(colorMyTable, 60 * 1000); }); </script> <script>/*! sortable.js 0.8.0 */(function () { var a, b, c, d, e, g; a = "table[data-sortable]", d = /^-?[£$¤]?[\d,.]+%?$/, g = /^\s+|\s+$/g, c = ["click"], b = function (a, b, c) { return null != a.addEventListener ? a.addEventListener(b, c, !1) : a.attachEvent("on" + b, c) }, e = { init: function (b) { var c, d, f, g, h; for (null == b && (b = {}), null == b.selector && (b.selector = a), d = document.querySelectorAll(b.selector), h = [], f = 0, g = d.length; g > f; f++)c = d[f], h.push(e.initTable(c)); return h }, initTable: function (a) { var b, c, d, f, g, h; if (1 === (null != (h = a.tHead) ? h.rows.length : void 0) && "true" !== a.getAttribute("data-sortable-initialized")) { for (a.setAttribute("data-sortable-initialized", "true"), d = a.querySelectorAll("th"), b = f = 0, g = d.length; g > f; b = ++f)c = d[b], "false" !== c.getAttribute("data-sortable") && e.setupClickableTH(a, c, b); return a } }, setupClickableTH: function (a, d, f) { var g, h, i, j, k, l; for (i = e.getColumnType(a, f), h = function (b) { var c, g, h, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D; if (b.handled === !0) return !1; for (b.handled = !0, m = "true" === this.getAttribute("data-sorted"), n = this.getAttribute("data-sorted-direction"), h = m ? "ascending" === n ? "descending" : "ascending" : i.defaultSortDirection, p = this.parentNode.querySelectorAll("th"), s = 0, w = p.length; w > s; s++)d = p[s], d.setAttribute("data-sorted", "false"), d.removeAttribute("data-sorted-direction"); if (this.setAttribute("data-sorted", "true"), this.setAttribute("data-sorted-direction", h), o = a.tBodies[0], l = [], m) { for (D = o.rows, v = 0, z = D.length; z > v; v++)g = D[v], l.push(g); for (l.reverse(), B = 0, A = l.length; A > B; B++)k = l[B], o.appendChild(k) } else { for (r = null != i.compare ? i.compare : function (a, b) { return b - a }, c = function (a, b) { return a[0] === b[0] ? a[2] - b[2] : i.reverse ? r(b[0], a[0]) : r(a[0], b[0]) }, C = o.rows, j = t = 0, x = C.length; x > t; j = ++t)k = C[j], q = e.getNodeValue(k.cells[f]), null != i.comparator && (q = i.comparator(q)), l.push([q, k, j]); for (l.sort(c), u = 0, y = l.length; y > u; u++)k = l[u], o.appendChild(k[1]) } return "function" == typeof window.CustomEvent && "function" == typeof a.dispatchEvent ? a.dispatchEvent(new CustomEvent("Sortable.sorted", { bubbles: !0 })) : void 0 }, l = [], j = 0, k = c.length; k > j; j++)g = c[j], l.push(b(d, g, h)); return l }, getColumnType: function (a, b) { var c, d, f, g, h, i, j, k, l, m, n; if (d = null != (l = a.querySelectorAll("th")[b]) ? l.getAttribute("data-sortable-type") : void 0, null != d) return e.typesObject[d]; for (m = a.tBodies[0].rows, h = 0, j = m.length; j > h; h++)for (c = m[h], f = e.getNodeValue(c.cells[b]), n = e.types, i = 0, k = n.length; k > i; i++)if (g = n[i], g.match(f)) return g; return e.typesObject.alpha }, getNodeValue: function (a) { var b; return a ? (b = a.getAttribute("data-value"), null !== b ? b : "undefined" != typeof a.innerText ? a.innerText.replace(g, "") : a.textContent.replace(g, "")) : "" }, setupTypes: function (a) { var b, c, d, f; for (e.types = a, e.typesObject = {}, f = [], c = 0, d = a.length; d > c; c++)b = a[c], f.push(e.typesObject[b.name] = b); return f } }, e.setupTypes([{ name: "numeric", defaultSortDirection: "descending", match: function (a) { return a.match(d) }, comparator: function (a) { return parseFloat(a.replace(/[^0-9.-]/g, ""), 10) || 0 } }, { name: "date", defaultSortDirection: "ascending", reverse: !0, match: function (a) { return !isNaN(Date.parse(a)) }, comparator: function (a) { return Date.parse(a) || 0 } }, { name: "alpha", defaultSortDirection: "ascending", match: function () { return !0 }, compare: function (a, b) { return a.localeCompare(b) } }]), setTimeout(e.init, 0), "function" == typeof define && define.amd ? define(function () { return e }) : "undefined" != typeof exports ? module.exports = e : window.Sortable = e }).call(this);</script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-SZ14JCTXWQ"></script> <script> window.dataLayer = window.dataLayer || []; function ga() { dataLayer.push(arguments); } ga('js', new Date()); ga('consent', 'default', { 'ad_personalization': 'granted', 'ad_storage': 'granted', 'ad_user_data': 'granted', 'analytics_storage': 'granted', 'functionality_storage': 'granted', 'personalization_storage': 'granted', 'security_storage': 'granted' }); ga('config', 'G-SZ14JCTXWQ'); </script> </body> </html>