Korean Stock Market Holidays 2026 — Complete List

Korean Stock Market Holidays 2026 The KRX (Korea Exchange) is closed on all Korean national holidays and weekends. Here is the complete list for 2026. Full Holiday Calendar Date Day Holiday January 1 Thursday New Year’s Day January 28-30 Wed-Fri Lunar New Year March 1 Sunday Independence Movement Day May 5 Tuesday Children’s Day May 25 Monday Buddha’s Birthday June 6 Saturday Memorial Day August 17 Monday Liberation Day (observed) September 28-30 Mon-Wed Chuseok (Harvest Festival) October 3 Friday National Foundation Day October 9 Thursday Hangul Day December 25 Friday Christmas Key Notes for Traders When a holiday falls on a weekend, the market may observe it on the nearest weekday Lunar New Year and Chuseok are the longest holiday periods (2-4 days) Trading volume is typically low in the days before major holidays After long holidays, markets can be volatile as positions are adjusted Planning Your Trades Before holidays: ...

June 22, 2026 · Phillip

KIS API Setup Guide: Step-by-Step for Beginners (2026)

What is the KIS API? The KIS API (Korea Investment & Securities API) is a REST/WebSocket API that allows developers to: Get real-time stock quotes Place buy/sell orders programmatically Access account balance and portfolio data Stream real-time market data via WebSocket Prerequisites A Korea Investment & Securities brokerage account KIS API access approval Python 3.8+ installed Step 1: Open a KIS Account Visit the Korea Investment & Securities website and apply for an account. Foreigners can apply online in many cases. ...

June 21, 2026 · Phillip

How to Get Your KIS API Key — Complete Guide (2026)

Overview Getting a KIS API key requires a Korea Investment & Securities account. This guide walks you through the entire process. Requirements Valid ID (passport for foreigners) Korean phone number OR Korea-based identity verification Bank account for funding Step 1: Create KIS Account Visit the Korea Investment & Securities website and select non-face-to-face account opening. For foreigners: Prepare your passport You may need to visit a branch in person depending on your nationality Some nationalities can complete the process online Step 2: Enable API Trading Log into HTS or the mobile app Go to the API application menu Agree to terms and conditions Select API type: Real trading or Paper trading (모의투자) Tip: Start with Paper trading to test your code before using real money. ...

June 20, 2026 · Phillip

pykrx Tutorial: Pull Korean Stock Data with Python (2026)

What is pykrx? pykrx is an open-source Python library that pulls data from the KRX website. It is the easiest way to get Korean stock market data without needing a paid API. Installation pip install pykrx Basic Usage Get Stock Price History from pykrx import stock # Get Samsung Electronics (005930) price history df = stock.get_market_ohlcv_by_date("20240101", "20241231", "005930") print(df.head()) Get All KOSPI Tickers from pykrx import stock # Get all KOSPI tickers tickers = stock.get_market_ticker_list(market="KOSPI") print(f"Total KOSPI stocks: {len(tickers)}") # Get company name from ticker name = stock.get_market_ticker_name("005930") print(f"005930 = {name}") # Samsung Electronics Get Market Cap Data # Get market cap for all KOSPI stocks df = stock.get_market_cap_by_ticker("20241231", market="KOSPI") print(df.sort_values("시가총액", ascending=False).head(10)) Get Fundamental Data # Get PER, PBR, dividend yield df = stock.get_market_fundamental_by_ticker("20241231", market="KOSPI") print(df[["PER", "PBR", "DIV"]].head()) Building a Simple Screener from pykrx import stock def screen_low_per_stocks(market="KOSPI", max_per=10): today = "20241231" fundamentals = stock.get_market_fundamental_by_ticker(today, market=market) low_per = fundamentals[ (fundamentals["PER"] > 0) & (fundamentals["PER"] < max_per) ] low_per["name"] = [stock.get_market_ticker_name(t) for t in low_per.index] return low_per[["name", "PER", "PBR", "DIV"]].sort_values("PER") results = screen_low_per_stocks() print(results.head(20)) pykrx vs KIS API Comparison Feature pykrx KIS API Real-time data No Yes Historical data Yes Yes Order placement No Yes Cost Free Free (with account) Best for Research, backtesting Live trading

June 19, 2026 · Phillip

Build a Korean Stock Screener with pykrx (Python Tutorial)

What We’re Building A Python-based Korean stock screener that: Pulls data from KRX via pykrx Filters stocks by multiple criteria (PER, PBR, volume) Exports results to CSV Can be automated with GitHub Actions Setup pip install pykrx pandas Complete Screener Code from pykrx import stock import pandas as pd from datetime import datetime, timedelta class KoreanStockScreener: def __init__(self, market="KOSPI"): self.market = market self.today = datetime.now().strftime("%Y%m%d") def get_all_data(self): fundamentals = stock.get_market_fundamental_by_ticker( self.today, market=self.market ) market_cap = stock.get_market_cap_by_ticker( self.today, market=self.market ) df = pd.concat([fundamentals, market_cap[["시가총액", "거래량"]]], axis=1) df["name"] = [stock.get_market_ticker_name(t) for t in df.index] return df def screen(self, max_per=15, max_pbr=1.5, min_div=2.0, min_volume=100000): df = self.get_all_data() filtered = df[ (df["PER"] > 0) & (df["PER"] < max_per) & (df["PBR"] > 0) & (df["PBR"] < max_pbr) & (df["DIV"] > min_div) & (df["거래량"] > min_volume) ] return filtered[["name", "PER", "PBR", "DIV", "시가총액", "거래량"]] def export(self, df, filename="screener_results.csv"): df.to_csv(filename, encoding="utf-8-sig") print(f"Saved {len(df)} stocks to {filename}") # Run screener screener = KoreanStockScreener(market="KOSPI") results = screener.screen(max_per=12, max_pbr=1.2, min_div=3.0) print(results.head(20)) screener.export(results) Automating with GitHub Actions Create .github/workflows/screener.yml: ...

June 18, 2026 · Phillip

Automate Korean Stock Alerts with GitHub Actions

Overview In this guide, we’ll build a free automated stock alert system that: Runs every day at market open (9 AM KST) Screens Korean stocks using pykrx Sends alerts via Telegram Requires zero server infrastructure (GitHub Actions is free) Prerequisites GitHub account Telegram account Basic Python knowledge Step 1: Create a Telegram Bot Open Telegram and search for @BotFather Send /newbot command Choose a name and username for your bot Save the API token you receive Step 2: Get Your Chat ID Send a message to your new bot Visit: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates Find your chat_id in the response Step 3: Create the Alert Script # alert.py import requests from pykrx import stock from datetime import datetime import os TELEGRAM_TOKEN = os.environ["TELEGRAM_TOKEN"] TELEGRAM_CHAT_ID = os.environ["TELEGRAM_CHAT_ID"] def send_telegram(message): url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage" payload = {"chat_id": TELEGRAM_CHAT_ID, "text": message, "parse_mode": "HTML"} requests.post(url, json=payload) def get_top_movers(): today = datetime.now().strftime("%Y%m%d") df = stock.get_market_ohlcv_by_ticker(today, market="KOSPI") df["change_pct"] = (df["종가"] - df["시가"]) / df["시가"] * 100 top_gainers = df.nlargest(5, "change_pct") return top_gainers def main(): movers = get_top_movers() message = "<b>Korean Market Alert - Top Movers Today</b>\n\n" for ticker, row in movers.iterrows(): name = stock.get_market_ticker_name(ticker) message += f"{name} ({ticker}): +{row['change_pct']:.1f}%\n" send_telegram(message) if __name__ == "__main__": main() Step 4: GitHub Actions Workflow Create .github/workflows/alert.yml: ...

June 17, 2026 · Phillip

KIS API vs pykrx: Which Should You Use for Korean Stock Trading?

Overview If you’re building a Korean stock trading system in Python, you’ll encounter two main tools: KIS API and pykrx. Here’s a detailed breakdown of when to use each. What is pykrx? pykrx is an open-source library that scrapes publicly available data from the KRX website. It requires no account or API key. Best for: Historical data research Backtesting trading strategies Stock screening and analysis Learning and prototyping What is KIS API? KIS API is the official API from Korea Investment & Securities. It requires a brokerage account and API approval. ...

June 16, 2026 · Phillip

Korean Capital Gains Tax Guide for Foreign Investors (2026)

Overview Understanding Korean tax rules is essential for foreign investors in the KRX. The good news: most foreign investors pay little to no capital gains tax on Korean stocks. Disclaimer: This is general information only. Consult a tax professional for advice specific to your situation. Korean Capital Gains Tax for Foreign Investors General Rule: Mostly Exempt Foreign investors are generally exempt from Korean capital gains tax on listed Korean stocks (KOSPI/KOSDAQ) under most tax treaties. ...

June 15, 2026 · Phillip

Top Korean Dividend Stocks 2026 — High Yield KOSPI Guide

Why Korean Dividend Stocks? Korean stocks are known for their low valuations and historically lower dividend yields compared to global peers. However, dividend culture in Korea has been improving significantly since 2022, driven by: Government pressure on companies to return cash to shareholders The Korea Discount narrowing campaign Corporate governance reforms What to Look For When screening Korean dividend stocks, focus on: Dividend yield above 3% Payout history of 5+ consecutive years Payout ratio below 60% (sustainable) Strong free cash flow Low debt ratio Top Dividend-Paying Sectors in Korea 1. Telecom Korean telecom companies (KT, SK Telecom, LG Uplus) consistently pay 4-6% dividend yields with stable cash flows. ...

June 14, 2026 · Phillip

How to Read Korean Financial Statements in English

Where to Find Korean Financial Statements DART (Data Analysis, Retrieval and Transfer System) DART (dart.fss.or.kr) is Korea’s official financial disclosure system — equivalent to the US SEC EDGAR. All Korean listed companies must file reports here. DART now offers an English interface and many large companies file English versions of their reports. Key Report Types Korean Name English Name Frequency 사업보고서 Annual Report Yearly 반기보고서 Semi-annual Report Every 6 months 분기보고서 Quarterly Report Every 3 months 공정공시 Fair Disclosure As needed Key Financial Terms Income Statement (손익계산서) Korean English 매출액 Revenue / Sales 영업이익 Operating Income 당기순이익 Net Income EPS (주당순이익) Earnings Per Share Balance Sheet (재무상태표) Korean English 자산총계 Total Assets 부채총계 Total Liabilities 자본총계 Total Equity 부채비율 Debt-to-Equity Ratio Key Ratios Korean English What to Look For PER P/E Ratio Lower = cheaper PBR P/B Ratio Below 1 = undervalued ROE Return on Equity Higher = better DIV Dividend Yield Higher = more income Using DART API for Automated Data DART provides a free API for programmatic access: ...

June 13, 2026 · Phillip