{"id":167,"date":"2017-08-04T12:00:48","date_gmt":"2017-08-04T03:00:48","guid":{"rendered":"http:\/\/wizmade2014.cafe24.com\/en\/?page_id=167"},"modified":"2026-07-20T17:23:42","modified_gmt":"2026-07-20T08:23:42","slug":"market-trends-exchange-rate","status":"publish","type":"page","link":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/","title":{"rendered":"Currency Exchange Rates"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" style=\"margin-top:18px;margin-bottom:18px\"\/>\n\n\n\n<!--\n  Daily NK \u2014 North Korea Exchange Rate Widget\n  Three city charts side by side + data table.\n  To update: edit the DATA array at the top of the <script> section.\n  Format: { date: \"YYYY-MM-DD\", p: Pyongyang, s: Sinuiju, h: Hyesan }\n-->\n\n<style>\n  .dnk-er-wrap {\n    font-family: Georgia, serif;\n    color: #1a1a1a;\n    max-width: 960px;\n    margin: 0 auto;\n  }\n\n  \/* \u2500\u2500 Per-chart range buttons \u2500\u2500 *\/\n  .dnk-er-chart-ranges {\n    display: flex;\n    gap: 4px;\n    flex-wrap: wrap;\n    margin: 0 0 10px;\n  }\n  .dnk-er-chart-ranges button {\n    font-family: Georgia, serif;\n    font-size: 10px;\n    font-weight: 600;\n    letter-spacing: .04em;\n    padding: 3px 8px;\n    border: 1px solid #ccc;\n    background: #fff;\n    color: #555;\n    cursor: pointer;\n    border-radius: 2px;\n    transition: background .15s, color .15s;\n  }\n  .dnk-er-chart-ranges button.active,\n  .dnk-er-chart-ranges button:hover {\n    background: var(--city-color);\n    color: #fff;\n    border-color: var(--city-color);\n  }\n\n  \/* \u2500\u2500 stacked chart grid \u2500\u2500 *\/\n  .dnk-er-charts {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 16px;\n    margin-bottom: 28px;\n  }\n\n  .dnk-er-chart-box {\n    background: #fff;\n    border: 1px solid #e0e0e0;\n    border-top: 3px solid var(--city-color);\n    padding: 14px 14px 10px;\n  }\n  .dnk-er-chart-city {\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: .07em;\n    text-transform: uppercase;\n    color: var(--city-color);\n    margin: 0 0 2px;\n  }\n  .dnk-er-chart-label {\n    font-size: 11px;\n    color: #999;\n    font-family: Georgia, serif;\n    margin: 0 0 10px;\n  }\n  .dnk-er-canvas {\n    display: block;\n    width: 100%;\n    height: 260px;\n    cursor: crosshair;\n  }\n\n  \/* \u2500\u2500 Table \u2500\u2500 *\/\n  .dnk-er-table-box {\n    background: #fff;\n    border: 1px solid #e0e0e0;\n    border-top: 3px solid #c0392b;\n    padding: 20px;\n  }\n  .dnk-er-table-title {\n    font-size: 13px;\n    font-weight: 700;\n    letter-spacing: .06em;\n    text-transform: uppercase;\n    color: #555;\n    margin: 0 0 4px;\n  }\n  .dnk-er-table-sub {\n    font-size: 12px;\n    color: #888;\n    font-family: Georgia, serif;\n    margin: 0 0 14px;\n  }\n  .dnk-er-tbl {\n    width: 100%;\n    border-collapse: collapse;\n    font-family: Georgia, serif;\n    font-size: 13px;\n  }\n  .dnk-er-tbl thead tr { border-bottom: 2px solid #c0392b; }\n  .dnk-er-tbl th {\n    text-align: left;\n    font-weight: 700;\n    font-size: 11px;\n    letter-spacing: .05em;\n    text-transform: uppercase;\n    color: #555;\n    padding: 6px 10px 8px;\n  }\n  .dnk-er-tbl td {\n    padding: 7px 10px;\n    border-bottom: 1px solid #eee;\n    color: #222;\n  }\n  .dnk-er-tbl tbody tr:last-child td { border-bottom: none; }\n  .dnk-er-tbl tbody tr:hover td { background: #fafafa; }\n  .dnk-er-tbl td:not(:first-child) {\n    font-variant-numeric: tabular-nums;\n    font-family: Georgia, serif;\n    font-size: 13px;\n  }\n  .dnk-er-show-more {\n    display: block;\n    margin: 14px auto 0;\n    font-family: Georgia, serif;\n    font-size: 12px;\n    font-weight: 600;\n    color: #c0392b;\n    background: none;\n    border: 1px solid #c0392b;\n    border-radius: 2px;\n    padding: 6px 18px;\n    cursor: pointer;\n    letter-spacing: .04em;\n  }\n  .dnk-er-show-more:hover { background: #c0392b; color: #fff; }\n  .dnk-er-source {\n    font-family: Georgia, serif;\n    font-size: 11px;\n    color: #aaa;\n    margin: 10px 0 0;\n    text-align: right;\n  }\n  .dnk-er-dl-btn {\n    font-family: Georgia, serif;\n    font-size: 12px;\n    font-weight: 600;\n    color: #fff;\n    background: #c0392b;\n    border: none;\n    border-radius: 2px;\n    padding: 7px 14px;\n    cursor: pointer;\n    white-space: nowrap;\n    letter-spacing: .03em;\n  }\n  .dnk-er-dl-btn:hover { background: #a93226; }\n\n<\/style>\n\n<div class=\"dnk-er-wrap\">\n\n  <!-- 3 charts -->\n  <div class=\"dnk-er-charts\">\n    <div class=\"dnk-er-chart-box\" style=\"--city-color:#c0392b\">\n      <p class=\"dnk-er-chart-city\">Pyongyang<\/p>\n      <p class=\"dnk-er-chart-label\">1 USD \u2192 KPW<\/p>\n      <div class=\"dnk-er-chart-ranges\" id=\"dnk-er-ranges-p\">\n        <button data-months=\"6\">6M<\/button>\n        <button data-months=\"12\">1Y<\/button>\n        <button data-months=\"24\">2Y<\/button>\n        <button data-months=\"60\">5Y<\/button>\n        <button data-months=\"120\">10Y<\/button>\n        <button data-months=\"180\">15Y<\/button>\n        <button data-months=\"0\" class=\"active\">All<\/button>\n      <\/div>\n      <canvas class=\"dnk-er-canvas\" id=\"dnk-canvas-p\"><\/canvas>\n    <\/div>\n    <div class=\"dnk-er-chart-box\" style=\"--city-color:#2471a3\">\n      <p class=\"dnk-er-chart-city\">Sinuiju<\/p>\n      <p class=\"dnk-er-chart-label\">1 USD \u2192 KPW<\/p>\n      <div class=\"dnk-er-chart-ranges\" id=\"dnk-er-ranges-s\">\n        <button data-months=\"6\">6M<\/button>\n        <button data-months=\"12\">1Y<\/button>\n        <button data-months=\"24\">2Y<\/button>\n        <button data-months=\"60\">5Y<\/button>\n        <button data-months=\"120\">10Y<\/button>\n        <button data-months=\"180\">15Y<\/button>\n        <button data-months=\"0\" class=\"active\">All<\/button>\n      <\/div>\n      <canvas class=\"dnk-er-canvas\" id=\"dnk-canvas-s\"><\/canvas>\n    <\/div>\n    <div class=\"dnk-er-chart-box\" style=\"--city-color:#1e8449\">\n      <p class=\"dnk-er-chart-city\">Hyesan<\/p>\n      <p class=\"dnk-er-chart-label\">1 USD \u2192 KPW<\/p>\n      <div class=\"dnk-er-chart-ranges\" id=\"dnk-er-ranges-h\">\n        <button data-months=\"6\">6M<\/button>\n        <button data-months=\"12\">1Y<\/button>\n        <button data-months=\"24\">2Y<\/button>\n        <button data-months=\"60\">5Y<\/button>\n        <button data-months=\"120\">10Y<\/button>\n        <button data-months=\"180\">15Y<\/button>\n        <button data-months=\"0\" class=\"active\">All<\/button>\n      <\/div>\n      <canvas class=\"dnk-er-canvas\" id=\"dnk-canvas-h\"><\/canvas>\n    <\/div>\n  <\/div>\n\n  <!-- table -->\n  <div class=\"dnk-er-table-box\">\n    <div style=\"display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:14px;\">\n      <div>\n        <p class=\"dnk-er-table-title\" style=\"margin:0 0 4px;\">Exchange Rate Data<\/p>\n        <p class=\"dnk-er-table-sub\" style=\"margin:0;\">1 USD to KPW \u2014 most recent entries shown first<\/p>\n      <\/div>\n      <button class=\"dnk-er-dl-btn\" onclick=\"downloadExcel()\">\u203a Download Excel<\/button>\n    <\/div>\n    <table class=\"dnk-er-tbl\">\n      <thead>\n        <tr>\n          <th>Date<\/th>\n          <th>Pyongyang<\/th>\n          <th>Sinuiju<\/th>\n          <th>Hyesan<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody id=\"dnk-er-tbody\"><\/tbody>\n    <\/table>\n    <button class=\"dnk-er-show-more\" id=\"dnk-er-show-more\">Show more \u25be<\/button>\n    <p class=\"dnk-er-source\">Source: Daily NK in-country network<\/p>\n  <\/div>\n\n<\/div>\n\n<script>\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\/\/  DATA \u2014 edit this to update charts and table.\n\/\/  Keep newest entry first.\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst DATA = [\n{ date:\"2026-07-19\", p:65000, s:65100, h:65150}, \n{ date:\"2026-07-05\", p:60000, s:60100, h:60120},  \n{ date:\"2026-06-21\", p:63100, s:63120, h:63130 },\n  { date:\"2026-06-07\", p:65200, s:65220, h:65230 },\n  { date:\"2026-05-24\", p:71800, s:71820, h:71830 },\n  { date:\"2026-05-10\", p:72100, s:72120, h:72150 },\n  { date:\"2026-04-26\", p:69120, s:69140, h:69150 },\n  { date:\"2026-04-12\", p:70100, s:70120, h:70140 },\n  { date:\"2026-03-29\", p:54200, s:54210, h:54240 },\n  { date:\"2026-03-15\", p:51300, s:51310, h:51350 },\n  { date:\"2026-03-01\", p:41300, s:41310, h:41320 },\n  { date:\"2026-02-01\", p:35700, s:35720, h:35740 },\n  { date:\"2026-01-18\", p:37200, s:37220, h:37230 },\n  { date:\"2026-01-04\", p:39200, s:39210, h:39220 },\n  { date:\"2025-12-21\", p:39000, s:39130, h:39140 },\n  { date:\"2025-12-07\", p:36300, s:36330, h:36330 },\n  { date:\"2025-11-23\", p:35300, s:35310, h:35330 },\n  { date:\"2025-11-10\", p:36300, s:36350, h:36340 },\n  { date:\"2025-10-26\", p:38200, s:38250, h:38240 },\n  { date:\"2025-10-12\", p:37500, s:37000, h:38230 },\n  { date:\"2025-09-28\", p:32100, s:31130, h:33180 },\n  { date:\"2025-09-15\", p:31000, s:31100, h:31100 },\n  { date:\"2025-08-31\", p:43400, s:43500, h:43450 },\n  { date:\"2025-08-17\", p:43000, s:43100, h:43100 },\n  { date:\"2025-07-19\", p:30800, s:30810, h:30830 },\n  { date:\"2025-07-05\", p:30700, s:30720, h:30800 },\n  { date:\"2025-06-22\", p:27500, s:27520, h:27600 },\n  { date:\"2025-06-07\", p:27700, s:27800, h:27800 },\n  { date:\"2025-05-25\", p:24700, s:24730, h:24880 },\n  { date:\"2025-05-10\", p:20000, s:20100, h:20050 },\n  { date:\"2025-04-27\", p:22000, s:22100, h:22050 },\n  { date:\"2025-03-30\", p:21200, s:21300, h:21290 },\n  { date:\"2025-03-16\", p:20200, s:20300, h:20270 },\n  { date:\"2025-03-02\", p:20100, s:20120, h:20130 },\n  { date:\"2025-02-16\", p:20070, s:20100, h:20120 },\n  { date:\"2025-02-02\", p:21000, s:21050, h:21070 },\n  { date:\"2025-01-18\", p:21700, s:21770, h:21800 },\n  { date:\"2024-12-22\", p:21300, s:21350, h:21370 },\n  { date:\"2024-12-07\", p:21000, s:21300, h:21400 },\n  { date:\"2024-11-24\", p:17900, s:18300, h:18000 },\n  { date:\"2024-11-10\", p:18100, s:18200, h:18400 },\n  { date:\"2024-10-27\", p:16000, s:16200, h:16100 },\n  { date:\"2024-10-13\", p:15900, s:16100, h:16000 },\n  { date:\"2024-10-01\", p:16000, s:16100, h:16050 },\n  { date:\"2024-09-15\", p:16100, s:16200, h:16150 },\n  { date:\"2024-09-02\", p:16500, s:16700, h:16500 },\n  { date:\"2024-08-18\", p:15100, s:15260, h:15200 },\n  { date:\"2024-08-05\", p:15200, s:15160, h:15100 },\n  { date:\"2024-07-21\", p:14250, s:14300, h:14100 },\n  { date:\"2024-07-07\", p:14200, s:14200, h:14100 },\n  { date:\"2024-06-23\", p:14200, s:14100, h:14000 },\n  { date:\"2024-06-09\", p:12100, s:12000, h:12400 },\n  { date:\"2024-05-26\", p:8920,  s:8930,  h:8910  },\n  { date:\"2024-05-12\", p:8850,  s:8870,  h:8860  },\n  { date:\"2024-04-28\", p:8700,  s:8730,  h:8720  },\n  { date:\"2024-04-14\", p:8750,  s:8770,  h:8780  },\n  { date:\"2024-03-31\", p:8720,  s:8740,  h:8730  },\n  { date:\"2024-03-17\", p:8500,  s:8570,  h:8600  },\n  { date:\"2024-03-04\", p:8460,  s:8470,  h:8500  },\n  { date:\"2024-02-18\", p:8510,  s:8540,  h:8580  },\n  { date:\"2024-02-04\", p:8380,  s:8450,  h:8400  },\n  { date:\"2024-01-21\", p:8400,  s:8440,  h:8460  },\n  { date:\"2024-01-07\", p:8300,  s:8350,  h:8300  },\n  { date:\"2023-12-10\", p:8280,  s:8350,  h:8300  },\n  { date:\"2023-11-25\", p:8400,  s:8430,  h:8300  },\n  { date:\"2023-11-13\", p:8400,  s:8450,  h:8350  },\n  { date:\"2023-10-30\", p:8500,  s:8550,  h:8400  },\n  { date:\"2023-10-15\", p:8550,  s:8600,  h:8450  },\n  { date:\"2023-10-01\", p:8500,  s:8460,  h:8430  },\n  { date:\"2023-09-17\", p:8380,  s:8390,  h:8400  },\n  { date:\"2023-09-03\", p:8380,  s:8390,  h:8400  },\n  { date:\"2023-08-20\", p:8300,  s:8330,  h:8320  },\n  { date:\"2023-08-06\", p:8270,  s:8280,  h:8290  },\n  { date:\"2023-07-23\", p:8180,  s:8200,  h:8200  },\n  { date:\"2023-07-09\", p:8400,  s:8400,  h:8450  },\n  { date:\"2023-06-25\", p:8330,  s:8350,  h:8470  },\n  { date:\"2023-06-11\", p:8300,  s:8350,  h:8250  },\n  { date:\"2023-05-29\", p:8390,  s:8400,  h:8350  },\n  { date:\"2023-05-14\", p:8216,  s:8230,  h:8250  },\n  { date:\"2023-04-30\", p:8400,  s:8360,  h:8350  },\n  { date:\"2023-04-16\", p:8010,  s:8020,  h:8020  },\n  { date:\"2023-04-03\", p:8120,  s:8240,  h:8220  },\n  { date:\"2023-03-19\", p:8120,  s:8240,  h:8220  },\n  { date:\"2023-03-05\", p:8280,  s:8300,  h:8250  },\n  { date:\"2023-02-19\", p:8360,  s:8400,  h:8300  },\n  { date:\"2023-02-06\", p:8370,  s:8380,  h:8300  },\n  { date:\"2023-01-22\", p:8070,  s:8120,  h:8200  },\n  { date:\"2023-01-09\", p:8400,  s:8400,  h:8300  },\n  { date:\"2022-12-25\", p:8400,  s:8400,  h:8350  },\n  { date:\"2022-12-11\", p:8400,  s:8400,  h:8300  },\n  { date:\"2022-11-27\", p:8400,  s:8400,  h:8200  },\n  { date:\"2022-11-13\", p:8150,  s:8200,  h:8150  },\n  { date:\"2022-10-30\", p:8110,  s:8120,  h:8130  },\n  { date:\"2022-10-16\", p:8150,  s:8160,  h:8100  },\n  { date:\"2022-10-03\", p:8000,  s:8000,  h:7980  },\n  { date:\"2022-09-18\", p:8200,  s:8250,  h:8000  },\n  { date:\"2022-09-06\", p:8100,  s:8050,  h:8000  },\n  { date:\"2022-08-21\", p:8350,  s:8200,  h:7500  },\n  { date:\"2022-08-08\", p:8130,  s:8120,  h:8200  },\n  { date:\"2022-07-26\", p:8150,  s:8200,  h:8000  },\n  { date:\"2022-07-10\", p:7100,  s:7120,  h:7120  },\n  { date:\"2022-06-26\", p:7200,  s:7230,  h:7250  },\n  { date:\"2022-06-12\", p:7100,  s:7120,  h:7120  },\n  { date:\"2022-05-30\", p:7300,  s:7350,  h:7260  },\n  { date:\"2022-05-16\", p:6560,  s:6570,  h:6580  },\n  { date:\"2022-05-01\", p:6500,  s:6530,  h:6560  },\n  { date:\"2022-04-17\", p:6400,  s:6450,  h:6500  },\n  { date:\"2022-04-04\", p:6510,  s:6550,  h:6600  },\n  { date:\"2022-03-20\", p:6450,  s:6520,  h:6610  },\n  { date:\"2022-03-07\", p:6570,  s:6570,  h:6580  },\n  { date:\"2022-02-20\", p:6300,  s:6350,  h:6200  },\n  { date:\"2022-02-07\", p:6590,  s:6575,  h:6525  },\n  { date:\"2022-01-24\", p:6750,  s:6730,  h:6675  },\n  { date:\"2022-01-11\", p:4720,  s:4700,  h:4650  },\n  { date:\"2021-12-27\", p:4720,  s:4690,  h:4630  },\n  { date:\"2021-12-13\", p:4700,  s:4690,  h:4630  },\n  { date:\"2021-11-29\", p:4690,  s:4680,  h:4600  },\n  { date:\"2021-11-14\", p:5500,  s:5500,  h:5350  },\n  { date:\"2021-11-01\", p:4950,  s:5000,  h:4900  },\n  { date:\"2021-10-17\", p:4900,  s:4950,  h:4870  },\n  { date:\"2021-10-04\", p:5050,  s:5010,  h:4900  },\n  { date:\"2021-09-20\", p:5200,  s:5230,  h:5150  },\n  { date:\"2021-09-06\", p:5430,  s:5420,  h:5380  },\n  { date:\"2021-08-22\", p:4700,  s:4720,  h:4800  },\n  { date:\"2021-08-09\", p:4700,  s:4730,  h:4690  },\n  { date:\"2021-07-26\", p:6200,  s:6100,  h:6000  },\n  { date:\"2021-07-12\", p:6000,  s:6000,  h:5900  },\n  { date:\"2021-06-27\", p:5100,  s:5100,  h:5050  },\n  { date:\"2021-06-16\", p:4900,  s:4850,  h:5000  },\n  { date:\"2021-06-08\", p:5990,  s:5950,  h:5500  },\n  { date:\"2021-06-02\", p:7100,  s:7000,  h:7120  },\n  { date:\"2021-05-18\", p:7000,  s:7000,  h:6900  },\n  { date:\"2021-05-03\", p:6900,  s:6850,  h:6500  },\n  { date:\"2021-04-20\", p:6400,  s:6500,  h:6900  },\n  { date:\"2021-04-05\", p:6300,  s:6250,  h:6270  },\n  { date:\"2021-03-22\", p:6900,  s:6920,  h:6750  },\n  { date:\"2021-03-09\", p:6800,  s:6720,  h:6750  },\n  { date:\"2021-02-23\", p:6700,  s:6620,  h:6900  },\n  { date:\"2021-02-07\", p:7400,  s:7660,  h:7250  },\n  { date:\"2021-01-25\", p:7300,  s:7400,  h:7420  },\n  { date:\"2021-01-11\", p:6100,  s:5900,  h:5800  },\n  { date:\"2020-12-24\", p:6600,  s:6500,  h:6900  },\n  { date:\"2020-12-12\", p:7150,  s:7160,  h:7150  },\n  { date:\"2020-11-28\", p:6500,  s:6380,  h:6450  },\n  { date:\"2020-11-15\", p:6930,  s:7010,  h:6990  },\n  { date:\"2020-10-21\", p:8000,  s:7920,  h:8020  },\n  { date:\"2020-10-12\", p:8010,  s:8020,  h:8090  },\n  { date:\"2020-09-29\", p:8400,  s:8320,  h:8420  },\n  { date:\"2020-09-18\", p:8400,  s:8320,  h:8400  },\n  { date:\"2020-09-02\", p:8300,  s:8290,  h:8300  },\n  { date:\"2020-08-23\", p:8300,  s:8280,  h:8320  },\n  { date:\"2020-08-03\", p:8290,  s:8250,  h:8280  },\n  { date:\"2020-07-19\", p:8250,  s:8180,  h:8300  },\n  { date:\"2020-07-01\", p:8300,  s:8230,  h:8380  },\n  { date:\"2020-06-19\", p:8370,  s:8290,  h:8440  },\n  { date:\"2020-06-06\", p:8240,  s:8260,  h:8400  },\n  { date:\"2020-05-23\", p:8220,  s:8200,  h:8400  },\n  { date:\"2020-05-09\", p:8210,  s:8180,  h:8270  },\n  { date:\"2020-04-27\", p:7410,  s:7360,  h:7310  },\n  { date:\"2020-04-11\", p:8470,  s:8480,  h:8610  },\n  { date:\"2020-03-20\", p:8395,  s:8340,  h:8410  },\n  { date:\"2020-03-07\", p:8320,  s:8295,  h:8390  },\n  { date:\"2020-02-27\", p:8300,  s:8270,  h:8380  },\n  { date:\"2020-02-18\", p:8250,  s:8170,  h:8200  },\n  { date:\"2020-02-11\", p:8340,  s:8300,  h:8410  },\n  { date:\"2020-02-06\", p:8370,  s:8320,  h:8450  },\n  { date:\"2020-01-27\", p:8460,  s:8400,  h:8450  },\n  { date:\"2020-01-17\", p:8400,  s:8300,  h:8450  },\n  { date:\"2019-12-22\", p:8320,  s:8200,  h:8290  },\n  { date:\"2019-12-06\", p:8400,  s:8310,  h:8360  },\n  { date:\"2019-11-15\", p:8100,  s:8100,  h:8190  },\n  { date:\"2019-11-01\", p:8080,  s:8100,  h:8170  },\n  { date:\"2019-10-14\", p:8160,  s:8210,  h:8350  },\n  { date:\"2019-09-30\", p:8310,  s:8360,  h:8400  },\n  { date:\"2019-09-11\", p:8090,  s:8110,  h:8190  },\n  { date:\"2019-08-20\", p:8400,  s:8520,  h:8460  },\n  { date:\"2019-08-06\", p:7850,  s:7880,  h:7900  },\n  { date:\"2019-07-23\", p:7840,  s:7880,  h:7890  },\n  { date:\"2019-07-09\", p:7805,  s:7870,  h:7885  },\n  { date:\"2019-06-25\", p:7750,  s:7800,  h:7830  },\n  { date:\"2019-06-11\", p:8025,  s:8020,  h:8035  },\n  { date:\"2019-05-28\", p:8025,  s:8030,  h:8040  },\n  { date:\"2019-05-14\", p:8010,  s:8020,  h:8040  },\n  { date:\"2019-04-30\", p:8000,  s:8005,  h:8160  },\n  { date:\"2019-04-17\", p:8000,  s:8040,  h:8100  },\n  { date:\"2019-03-26\", p:8000,  s:8040,  h:8100  },\n  { date:\"2019-03-13\", p:8025,  s:8100,  h:8140  },\n  { date:\"2019-02-26\", p:8025,  s:8100,  h:8140  },\n  { date:\"2019-02-12\", p:8200,  s:8160,  h:8210  },\n  { date:\"2019-01-23\", p:8200,  s:8160,  h:8360  },\n  { date:\"2019-01-08\", p:8500,  s:8430,  h:8570  },\n  { date:\"2018-12-26\", p:8500,  s:8430,  h:8570  },\n  { date:\"2018-12-11\", p:8000,  s:8060,  h:8105  },\n  { date:\"2018-11-27\", p:8200,  s:8180,  h:8200  },\n  { date:\"2018-11-13\", p:8190,  s:8140,  h:8200  },\n  { date:\"2018-10-30\", p:8180,  s:8160,  h:8190  },\n  { date:\"2018-10-16\", p:8200,  s:8200,  h:8250  },\n  { date:\"2018-10-02\", p:8220,  s:8100,  h:8250  },\n  { date:\"2018-09-04\", p:8260,  s:8160,  h:8290  },\n  { date:\"2018-08-07\", p:8025,  s:8050,  h:8050  },\n  { date:\"2018-07-10\", p:8040,  s:8050,  h:8080  },\n  { date:\"2018-06-05\", p:8100,  s:8180,  h:8120  },\n  { date:\"2018-05-02\", p:8000,  s:8030,  h:8060  },\n  { date:\"2018-04-07\", p:8050,  s:8040,  h:8070  },\n  { date:\"2018-03-06\", p:8095,  s:8100,  h:8120  },\n  { date:\"2018-01-24\", p:8000,  s:8070,  h:8105  },\n  { date:\"2017-12-14\", p:8000,  s:8000,  h:8025  },\n  { date:\"2017-11-06\", p:8005,  s:8050,  h:8110  },\n  { date:\"2017-09-27\", p:8100,  s:8125,  h:8240  },\n  { date:\"2017-08-04\", p:8130,  s:8110,  h:8125  },\n  { date:\"2017-06-28\", p:8070,  s:8050,  h:8095  },\n  { date:\"2017-04-25\", p:8040,  s:8032,  h:8100  },\n  { date:\"2017-02-27\", p:8070,  s:8060,  h:8050  },\n  { date:\"2017-01-26\", p:8000,  s:8000,  h:8050  },\n  { date:\"2016-12-27\", p:8060,  s:8015,  h:8230  },\n  { date:\"2016-11-04\", p:8140,  s:8105,  h:8140  },\n  { date:\"2016-10-10\", p:8025,  s:8020,  h:8050  },\n  { date:\"2016-09-05\", p:8215,  s:8205,  h:8230  },\n  { date:\"2016-07-29\", p:8212,  s:8260,  h:8285  },\n  { date:\"2016-07-08\", p:8325,  s:8310,  h:8320  },\n  { date:\"2016-06-13\", p:8400,  s:8417,  h:8515  },\n  { date:\"2016-05-25\", p:8010,  s:8085,  h:8010  },\n  { date:\"2016-04-29\", p:8100,  s:8250,  h:8100  },\n  { date:\"2016-03-25\", p:8128,  s:8150,  h:8065  },\n  { date:\"2016-02-12\", p:8190,  s:8269,  h:8210  },\n  { date:\"2016-01-13\", p:8190,  s:8260,  h:8190  },\n  { date:\"2015-12-08\", p:8640,  s:9760,  h:8800  },\n  { date:\"2015-10-27\", p:8600,  s:8900,  h:9000  },\n  { date:\"2015-09-07\", p:8260,  s:8200,  h:8320  },\n  { date:\"2015-08-05\", p:8200,  s:8200,  h:8155  },\n  { date:\"2015-06-18\", p:8150,  s:8200,  h:8025  },\n  { date:\"2015-05-20\", p:8180,  s:8250,  h:8590  },\n  { date:\"2015-04-08\", p:8100,  s:8200,  h:8400  },\n  { date:\"2015-02-26\", p:8100,  s:8170,  h:8390  },\n  { date:\"2015-01-07\", p:8000,  s:8000,  h:8150  },\n  { date:\"2014-12-15\", p:8000,  s:8000,  h:8300  },\n  { date:\"2014-11-20\", p:8330,  s:8450,  h:8670  },\n  { date:\"2014-10-15\", p:8100,  s:8200,  h:8430  },\n  { date:\"2014-09-15\", p:8100,  s:8230,  h:8470  },\n  { date:\"2014-08-12\", p:7940,  s:8120,  h:8310  },\n  { date:\"2014-07-18\", p:7100,  s:7350,  h:7500  },\n  { date:\"2014-06-20\", p:7300,  s:7690,  h:8100  },\n  { date:\"2014-05-29\", p:7800,  s:8140,  h:8260  },\n  { date:\"2014-04-21\", p:7650,  s:7700,  h:8000  },\n  { date:\"2014-03-24\", p:7300,  s:7500,  h:7550  },\n  { date:\"2014-02-17\", p:8400,  s:8300,  h:8400  },\n  { date:\"2013-12-26\", p:8400,  s:8260,  h:8300  },\n  { date:\"2013-11-13\", p:8100,  s:8150,  h:8180  },\n  { date:\"2013-09-17\", p:8020,  s:8090,  h:8140  },\n  { date:\"2013-08-02\", p:8190,  s:8180,  h:8110  },\n  { date:\"2013-06-25\", p:8150,  s:8120,  h:7860  },\n  { date:\"2013-05-01\", p:8470,  s:8580,  h:8500  },\n  { date:\"2013-04-03\", p:8760,  s:8810,  h:8530  },\n  { date:\"2013-03-04\", p:8700,  s:8750,  h:8490  },\n  { date:\"2013-02-06\", p:8100,  s:8000,  h:8350  },\n  { date:\"2013-01-09\", p:9100,  s:8950,  h:8750  },\n  { date:\"2012-12-17\", p:7800,  s:8000,  h:8450  },\n  { date:\"2012-10-29\", p:6300,  s:6700,  h:6460  },\n  { date:\"2012-09-27\", p:6370,  s:6450,  h:6500  },\n  { date:\"2012-07-13\", p:5400,  s:5190,  h:5280  },\n  { date:\"2012-06-14\", p:4450,  s:4470,  h:4540  },\n  { date:\"2012-04-25\", p:4150,  s:3990,  h:3630  },\n  { date:\"2012-03-02\", p:3750,  s:3780,  h:3640  },\n  { date:\"2012-01-21\", p:4400,  s:4300,  h:4200  },\n  { date:\"2011-12-13\", p:5100,  s:5100,  h:5200  },\n  { date:\"2011-11-14\", p:4000,  s:3900,  h:3850  },\n  { date:\"2011-10-07\", p:3100,  s:3100,  h:3150  },\n  { date:\"2011-09-06\", p:2900,  s:2850,  h:2900  },\n  { date:\"2011-08-08\", p:2540,  s:2650,  h:2700  },\n  { date:\"2011-07-04\", p:2700,  s:2750,  h:2800  },\n  { date:\"2011-06-20\", p:2800,  s:2850,  h:2900  },\n  { date:\"2011-05-03\", p:3150,  s:3200,  h:3200  },\n  { date:\"2011-04-11\", p:3000,  s:2900,  h:2850  },\n  { date:\"2011-02-28\", p:3050,  s:3000,  h:3000  },\n  { date:\"2011-01-18\", p:3100,  s:3300,  h:3300  },\n  { date:\"2010-12-23\", p:2000,  s:2050,  h:2100  },\n  { date:\"2010-11-30\", p:1400,  s:1450,  h:1400  },\n  { date:\"2010-10-06\", p:1300,  s:1380,  h:1400  },\n  { date:\"2010-09-06\", p:1500,  s:1600,  h:1600  },\n  { date:\"2010-07-21\", p:1580,  s:1750,  h:1700  },\n  { date:\"2010-05-25\", p:1000,  s:900,   h:950   },\n  { date:\"2010-04-07\", p:700,   s:700,   h:750   },\n  { date:\"2010-03-23\", p:1100,  s:1050,  h:1000  },\n  { date:\"2010-03-08\", p:2300,  s:2500,  h:2350  },\n  { date:\"2010-02-23\", p:500,   s:510,   h:515   },\n  { date:\"2010-01-14\", p:215,   s:217,   h:220   },\n  { date:\"2009-11-22\", p:3845,  s:3840,  h:3845  },\n  { date:\"2009-10-11\", p:3822,  s:3820,  h:3825  },\n  { date:\"2009-09-13\", p:3800,  s:3700,  h:3800  },\n  { date:\"2009-08-15\", p:3600,  s:3500,  h:3620  },\n];\n\n\/\/ \u2500\u2500 helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction fmtDate(d) {\n  return new Date(d + 'T00:00:00').toLocaleDateString('en-US', { year:'numeric', month:'short', day:'numeric' });\n}\nfunction fmtNum(n) { return n === 0 ? '\u2014' : n.toLocaleString(); }\n\nfunction getFiltered(months) {\n  const rows = [...DATA].reverse(); \/\/ oldest first for charting\n  if (!months) return rows;\n  const cutoff = new Date();\n  cutoff.setMonth(cutoff.getMonth() - months);\n  return rows.filter(r => new Date(r.date) >= cutoff);\n}\n\n\/\/ \u2500\u2500 chart state (for redraw on hover) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst CHART_STATE = {};\n\nfunction renderChartBase(ctx, W, H, rows, key, color) {\n  const PAD = { top:10, right:28, bottom:34, left:52 };\n  const cw = W - PAD.left - PAD.right;\n  const ch = H - PAD.top  - PAD.bottom;\n\n  const vals = rows.map(r => r[key]);\n  const minV = Math.min(...vals);\n  const maxV = Math.max(...vals);\n  const range = maxV - minV || 1;\n\n  const xS = i => PAD.left + (i \/ (rows.length - 1)) * cw;\n  const yS = v => PAD.top  + ch - ((v - minV) \/ range) * ch;\n\n  ctx.clearRect(0, 0, W, H);\n\n  \/\/ grid + y-labels\n  const ticks = 4;\n  ctx.lineWidth = 1;\n  for (let i = 0; i <= ticks; i++) {\n    const y = PAD.top + (i \/ ticks) * ch;\n    ctx.strokeStyle = '#eee';\n    ctx.beginPath(); ctx.moveTo(PAD.left, y); ctx.lineTo(PAD.left + cw, y); ctx.stroke();\n    const v = Math.round(maxV - (i \/ ticks) * range);\n    const lbl = v >= 1000 ? (v\/1000).toFixed(v >= 10000 ? 0 : 1)+'k' : v;\n    ctx.fillStyle = '#aaa'; ctx.font = '9px Georgia'; ctx.textAlign = 'right';\n    ctx.fillText(lbl, PAD.left - 4, y + 3);\n  }\n\n  \/\/ x-labels\n  const maxL = Math.min(rows.length, 5);\n  ctx.fillStyle = '#aaa'; ctx.font = '9px Georgia'; ctx.textAlign = 'center';\n  for (let i = 0; i < maxL; i++) {\n    const idx = Math.round(i * (rows.length - 1) \/ (maxL - 1));\n    const d = new Date(rows[idx].date + 'T00:00:00');\n    const lbl = d.toLocaleDateString('en-US', { month:'short', year:'2-digit' });\n    ctx.fillText(lbl, xS(idx), H - PAD.bottom + 12);\n  }\n\n  \/\/ area fill\n  ctx.beginPath();\n  rows.forEach((r, i) => {\n    const x = xS(i), y = yS(r[key]);\n    i === 0 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n  });\n  ctx.lineTo(xS(rows.length - 1), PAD.top + ch);\n  ctx.lineTo(xS(0), PAD.top + ch);\n  ctx.closePath();\n  ctx.fillStyle = color + '18';\n  ctx.fill();\n\n  \/\/ line\n  ctx.beginPath();\n  ctx.strokeStyle = color;\n  ctx.lineWidth = 2;\n  ctx.lineJoin = 'round';\n  rows.forEach((r, i) => {\n    const x = xS(i), y = yS(r[key]);\n    i === 0 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n  });\n  ctx.stroke();\n\n  return { PAD, cw, ch, minV, maxV, range, xS, yS };\n}\n\nfunction drawCrosshair(canvasId, mouseX) {\n  const state = CHART_STATE[canvasId];\n  if (!state) return;\n  const { ctx, W, H, rows, key, color, PAD, cw, ch, minV, maxV, range, xS, yS } = state;\n\n  \/\/ redraw base\n  renderChartBase(ctx, W, H, rows, key, color);\n\n  if (mouseX === null) return;\n\n  \/\/ find nearest data point\n  const clampedX = Math.max(PAD.left, Math.min(PAD.left + cw, mouseX));\n  const frac = (clampedX - PAD.left) \/ cw;\n  const idx = Math.round(frac * (rows.length - 1));\n  const row = rows[idx];\n  if (!row) return;\n\n  const px = xS(idx);\n  const py = yS(row[key]);\n\n  \/\/ vertical line\n  ctx.save();\n  ctx.strokeStyle = '#999';\n  ctx.lineWidth = 1;\n  ctx.setLineDash([3, 3]);\n  ctx.beginPath();\n  ctx.moveTo(px, PAD.top);\n  ctx.lineTo(px, PAD.top + ch);\n  ctx.stroke();\n  ctx.setLineDash([]);\n  ctx.restore();\n\n  \/\/ dot on line\n  ctx.beginPath();\n  ctx.arc(px, py, 4, 0, Math.PI * 2);\n  ctx.fillStyle = color;\n  ctx.fill();\n  ctx.strokeStyle = '#fff';\n  ctx.lineWidth = 1.5;\n  ctx.stroke();\n\n  \/\/ tooltip box\n  const valLbl = row[key].toLocaleString();\n  const dateLbl = fmtDate(row.date);\n  const line1 = dateLbl;\n  const line2 = valLbl + ' KPW';\n\n  ctx.font = 'bold 10px Georgia';\n  const w1 = ctx.measureText(line1).width;\n  ctx.font = '10px Georgia';\n  const w2 = ctx.measureText(line2).width;\n  const boxW = Math.max(w1, w2) + 16;\n  const boxH = 36;\n\n  let bx = px + 10;\n  if (bx + boxW > W - PAD.right) bx = px - boxW - 10;\n  let by = py - boxH \/ 2;\n  if (by < PAD.top) by = PAD.top;\n  if (by + boxH > PAD.top + ch) by = PAD.top + ch - boxH;\n\n  ctx.fillStyle = 'rgba(255,255,255,0.96)';\n  ctx.strokeStyle = '#ddd';\n  ctx.lineWidth = 1;\n  ctx.beginPath();\n  ctx.roundRect(bx, by, boxW, boxH, 3);\n  ctx.fill();\n  ctx.stroke();\n\n  ctx.fillStyle = '#333';\n  ctx.font = 'bold 10px Georgia';\n  ctx.textAlign = 'left';\n  ctx.fillText(line1, bx + 8, by + 14);\n  ctx.font = '10px Georgia';\n  ctx.fillStyle = color;\n  ctx.fillText(line2, bx + 8, by + 27);\n}\n\nfunction drawChart(canvasId, key, color, months) {\n  const canvas = document.getElementById(canvasId);\n  if (!canvas) return;\n  const ctx = canvas.getContext('2d');\n  const rows = getFiltered(months).filter(r => r[key] > 0);\n\n  const dpr = window.devicePixelRatio || 1;\n  const W = canvas.offsetWidth;\n  const H = canvas.offsetHeight;\n  canvas.width  = W * dpr;\n  canvas.height = H * dpr;\n  ctx.scale(dpr, dpr);\n\n  if (rows.length < 2) { ctx.clearRect(0,0,W,H); return; }\n\n  const geom = renderChartBase(ctx, W, H, rows, key, color);\n\n  \/\/ store state for crosshair redraws\n  CHART_STATE[canvasId] = { ctx, W, H, rows, key, color, ...geom };\n\n  \/\/ attach hover\/touch listeners once\n  if (!canvas._dnkListened) {\n    canvas._dnkListened = true;\n\n    const getX = e => {\n      const rect = canvas.getBoundingClientRect();\n      const dpr  = window.devicePixelRatio || 1;\n      const clientX = e.touches ? e.touches[0].clientX : e.clientX;\n      return (clientX - rect.left) * (canvas.width \/ dpr \/ rect.width);\n    };\n\n    canvas.addEventListener('mousemove', e => drawCrosshair(canvasId, getX(e)));\n    canvas.addEventListener('mouseleave', () => drawCrosshair(canvasId, null));\n    canvas.addEventListener('touchmove',  e => { e.preventDefault(); drawCrosshair(canvasId, getX(e)); }, { passive: false });\n    canvas.addEventListener('touchend',   () => drawCrosshair(canvasId, null));\n  }\n}\n\n\n\n\/\/ \u2500\u2500 per-chart range buttons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst activeMonths = { p: 0, s: 0, h: 0 };\nconst erKeyMap = { p: ['p', '#c0392b', 'dnk-canvas-p'], s: ['s', '#2471a3', 'dnk-canvas-s'], h: ['h', '#1e8449', 'dnk-canvas-h'] };\n\nObject.keys(erKeyMap).forEach(cityKey => {\n  const [key, color, canvasId] = erKeyMap[cityKey];\n  document.querySelectorAll(`#dnk-er-ranges-${cityKey} button`).forEach(btn => {\n    btn.addEventListener('click', function() {\n      document.querySelectorAll(`#dnk-er-ranges-${cityKey} button`).forEach(b => b.classList.remove('active'));\n      this.classList.add('active');\n      activeMonths[cityKey] = parseInt(this.dataset.months);\n      drawChart(canvasId, key, color, activeMonths[cityKey]);\n    });\n  });\n});\n\n\/\/ \u2500\u2500 table \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst ROWS_INIT = 20;\nlet rowsShown = ROWS_INIT;\n\nfunction renderTable() {\n  const tbody = document.getElementById('dnk-er-tbody');\n  tbody.innerHTML = DATA.slice(0, rowsShown).map(r => `\n    <tr>\n      <td>${fmtDate(r.date)}<\/td>\n      <td>${fmtNum(r.p)}<\/td>\n      <td>${fmtNum(r.s)}<\/td>\n      <td>${fmtNum(r.h)}<\/td>\n    <\/tr>`).join('');\n  const btn = document.getElementById('dnk-er-show-more');\n  btn.style.display = rowsShown >= DATA.length ? 'none' : 'block';\n}\n\ndocument.getElementById('dnk-er-show-more').addEventListener('click', () => {\n  rowsShown = Math.min(rowsShown + 20, DATA.length);\n  renderTable();\n});\n\n\/\/ \u2500\u2500 init \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nwindow.addEventListener('load', () => {\n  drawChart('dnk-canvas-p', 'p', '#c0392b', 0);\n  drawChart('dnk-canvas-s', 's', '#2471a3', 0);\n  drawChart('dnk-canvas-h', 'h', '#1e8449', 0);\n  renderTable();\n});\nwindow.addEventListener('resize', () => {\n  drawChart('dnk-canvas-p', 'p', '#c0392b', activeMonths.p);\n  drawChart('dnk-canvas-s', 's', '#2471a3', activeMonths.s);\n  drawChart('dnk-canvas-h', 'h', '#1e8449', activeMonths.h);\n});\n\n\/\/ \u2500\u2500 Excel download \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction downloadExcel() {\n  \/\/ Build a simple XML-based Excel file (works in all modern browsers, opens natively in Excel)\n  const rows = [['Date', 'Pyongyang (KPW)', 'Sinuiju (KPW)', 'Hyesan (KPW)']];\n  DATA.forEach(r => {\n    rows.push([fmtDate(r.date), r.p || '', r.s || '', r.h || '']);\n  });\n\n  let xml = '<?xml version=\"1.0\"?><?mso-application progid=\"Excel.Sheet\"?>';\n  xml += '<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" ';\n  xml += 'xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\">';\n  xml += '<Worksheet ss:Name=\"Exchange Rates\"><Table>';\n\n  rows.forEach((row, ri) => {\n    xml += '<Row>';\n    row.forEach(cell => {\n      const isNum = ri > 0 && typeof cell === 'number';\n      const type  = isNum ? 'Number' : 'String';\n      xml += `<Cell><Data ss:Type=\"${type}\">${String(cell).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;')}<\/Data><\/Cell>`;\n    });\n    xml += '<\/Row>';\n  });\n\n  xml += '<\/Table><\/Worksheet><\/Workbook>';\n\n  const blob = new Blob([xml], { type: 'application\/vnd.ms-excel' });\n  const url  = URL.createObjectURL(blob);\n  const a    = document.createElement('a');\n  a.href     = url;\n  a.download = 'dailynk-exchange-rates.xls';\n  a.click();\n  URL.revokeObjectURL(url);\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":122,"featured_media":38275,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-pagebuilder-title.php","meta":{"wikipediapreview_detectlinks":true,"footnotes":""},"class_list":["post-167","page","type-page","status-publish","has-post-thumbnail"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>North Korea Exchange Rate Tracker | USD to KPW<\/title>\n<meta name=\"description\" content=\"Track the informal USD to North Korean won (KPW) exchange rate with data sourced from Daily NK&#039;s in-country network.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Currency Exchange Rates\" \/>\n<meta property=\"og:description\" content=\"Track the informal USD to North Korean won (KPW) exchange rate with data sourced from Daily NK&#039;s in-country network.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/\" \/>\n<meta property=\"og:site_name\" content=\"North Korea News \u2014 Daily NK | Latest DPRK Updates 2026\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-20T08:23:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dailynk.com\/english\/wp-content\/uploads\/sites\/2\/2018\/10\/\ucea1\ucc98.png\" \/>\n\t<meta property=\"og:image:width\" content=\"680\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/\",\"url\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/\",\"name\":\"North Korea Exchange Rate Tracker | USD to KPW\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2018\\\/10\\\/\ucea1\ucc98.png\",\"datePublished\":\"2017-08-04T03:00:48+00:00\",\"dateModified\":\"2026-07-20T08:23:42+00:00\",\"description\":\"Track the informal USD to North Korean won (KPW) exchange rate with data sourced from Daily NK's in-country network.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2018\\\/10\\\/\ucea1\ucc98.png\",\"contentUrl\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2018\\\/10\\\/\ucea1\ucc98.png\",\"width\":680,\"height\":420},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/market-trends-exchange-rate\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Currency Exchange Rates\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/#website\",\"url\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/\",\"name\":\"North Korea News \u2014 Daily NK | Latest DPRK Updates 2026\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/#organization\",\"name\":\"Daily NK English\",\"url\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/04\\\/top_logo@1x.png\",\"contentUrl\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/04\\\/top_logo@1x.png\",\"width\":272,\"height\":90,\"caption\":\"Daily NK English\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dailynk.com\\\/english\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"description\":\"An independent online news organization based in Seoul, South Korea, reporting on internal North Korean affairs through a network of in-country sources and defector journalists. Part of the Unification Media Group (UMG) consortium.\",\"email\":\"dailynkenglish@uni-media.net\",\"telephone\":\"82-2-732-6998\",\"legalName\":\"DailyNK\",\"foundingDate\":\"2004-12-01\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1\",\"maxValue\":\"10\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"North Korea Exchange Rate Tracker | USD to KPW","description":"Track the informal USD to North Korean won (KPW) exchange rate with data sourced from Daily NK's in-country network.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/","og_locale":"en_US","og_type":"article","og_title":"Currency Exchange Rates","og_description":"Track the informal USD to North Korean won (KPW) exchange rate with data sourced from Daily NK's in-country network.","og_url":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/","og_site_name":"North Korea News \u2014 Daily NK | Latest DPRK Updates 2026","article_modified_time":"2026-07-20T08:23:42+00:00","og_image":[{"width":680,"height":420,"url":"https:\/\/www.dailynk.com\/english\/wp-content\/uploads\/sites\/2\/2018\/10\/\ucea1\ucc98.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/","url":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/","name":"North Korea Exchange Rate Tracker | USD to KPW","isPartOf":{"@id":"https:\/\/www.dailynk.com\/english\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/#primaryimage"},"image":{"@id":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dailynk.com\/english\/wp-content\/uploads\/sites\/2\/2018\/10\/\ucea1\ucc98.png","datePublished":"2017-08-04T03:00:48+00:00","dateModified":"2026-07-20T08:23:42+00:00","description":"Track the informal USD to North Korean won (KPW) exchange rate with data sourced from Daily NK's in-country network.","breadcrumb":{"@id":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/#primaryimage","url":"https:\/\/www.dailynk.com\/english\/wp-content\/uploads\/sites\/2\/2018\/10\/\ucea1\ucc98.png","contentUrl":"https:\/\/www.dailynk.com\/english\/wp-content\/uploads\/sites\/2\/2018\/10\/\ucea1\ucc98.png","width":680,"height":420},{"@type":"BreadcrumbList","@id":"https:\/\/www.dailynk.com\/english\/market-trends-exchange-rate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dailynk.com\/english\/"},{"@type":"ListItem","position":2,"name":"Currency Exchange Rates"}]},{"@type":"WebSite","@id":"https:\/\/www.dailynk.com\/english\/#website","url":"https:\/\/www.dailynk.com\/english\/","name":"North Korea News \u2014 Daily NK | Latest DPRK Updates 2026","description":"","publisher":{"@id":"https:\/\/www.dailynk.com\/english\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dailynk.com\/english\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dailynk.com\/english\/#organization","name":"Daily NK English","url":"https:\/\/www.dailynk.com\/english\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dailynk.com\/english\/#\/schema\/logo\/image\/","url":"https:\/\/www.dailynk.com\/english\/wp-content\/uploads\/sites\/2\/2026\/04\/top_logo@1x.png","contentUrl":"https:\/\/www.dailynk.com\/english\/wp-content\/uploads\/sites\/2\/2026\/04\/top_logo@1x.png","width":272,"height":90,"caption":"Daily NK English"},"image":{"@id":"https:\/\/www.dailynk.com\/english\/#\/schema\/logo\/image\/"},"description":"An independent online news organization based in Seoul, South Korea, reporting on internal North Korean affairs through a network of in-country sources and defector journalists. Part of the Unification Media Group (UMG) consortium.","email":"dailynkenglish@uni-media.net","telephone":"82-2-732-6998","legalName":"DailyNK","foundingDate":"2004-12-01","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1","maxValue":"10"}}]}},"_links":{"self":[{"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/pages\/167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/users\/122"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/comments?post=167"}],"version-history":[{"count":24,"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/pages\/167\/revisions"}],"predecessor-version":[{"id":325266,"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/pages\/167\/revisions\/325266"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/media\/38275"}],"wp:attachment":[{"href":"https:\/\/www.dailynk.com\/english\/wp-json\/wp\/v2\/media?parent=167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}