How to Buy Korean Stocks in the US: Complete Guide (2026)

Can US Investors Buy Korean Stocks? Yes — US investors can absolutely buy Korean stocks. South Korea has one of Asia’s largest and most liquid stock markets, home to global giants like Samsung Electronics, SK Hynix, and LG Energy Solution. There are three main ways to invest in Korean stocks from the US: International brokers with KRX access (direct ownership) Korean ADRs on US exchanges (easiest) Korean ETFs (most diversified) Method 1: Buy Korean Stocks Directly (Best for Serious Investors) Interactive Brokers (IBKR) — Best Overall Interactive Brokers is the top choice for US investors wanting direct access to Korean stocks. ...

July 10, 2026 · Phillip

pykrx get_market_ohlcv_by_date: Complete Guide with Examples

What is get_market_ohlcv_by_date? get_market_ohlcv_by_date is one of the most commonly used functions in the pykrx library. It retrieves OHLCV (Open, High, Low, Close, Volume) data for a specific Korean stock ticker over a date range. Installation pip install pykrx Basic Syntax from pykrx import stock df = stock.get_market_ohlcv_by_date(fromdate, todate, ticker) Parameters: fromdate — Start date in YYYYMMDD format (string) todate — End date in YYYYMMDD format (string) ticker — Korean stock ticker (e.g., "005930" for Samsung Electronics) Basic Example from pykrx import stock # Get Samsung Electronics (005930) data for 2024 df = stock.get_market_ohlcv_by_date("20240101", "20241231", "005930") print(df.head()) Output: ...

July 9, 2026 · Phillip

pykrx Tutorial: 10 Real Examples for Korean Stock Data (2026)

Introduction pykrx is the easiest way to get Korean stock market data in Python. No API key needed, no account required — just install and start pulling data. This guide covers 10 real-world examples from basic price data to advanced screening. Setup pip install pykrx pandas from pykrx import stock import pandas as pd from datetime import datetime, timedelta # Helper: today's date TODAY = datetime.now().strftime("%Y%m%d") MONTH_AGO = (datetime.now() - timedelta(days=30)).strftime("%Y%m%d") YEAR_AGO = (datetime.now() - timedelta(days=365)).strftime("%Y%m%d") Example 1: Get Stock Price History from pykrx import stock # Samsung Electronics (005930) df = stock.get_market_ohlcv_by_date("20240101", "20241231", "005930") df.columns = ["Open", "High", "Low", "Close", "Volume"] print(df.tail()) Example 2: Get All KOSPI Tickers from pykrx import stock kospi = stock.get_market_ticker_list(market="KOSPI") kosdaq = stock.get_market_ticker_list(market="KOSDAQ") print(f"KOSPI stocks: {len(kospi)}") print(f"KOSDAQ stocks: {len(kosdaq)}") # Get company name name = stock.get_market_ticker_name("005930") print(f"005930 = {name}") # 삼성전자 Example 3: Market Cap Rankings from pykrx import stock # Top 10 KOSPI by market cap df = stock.get_market_cap_by_ticker(TODAY, market="KOSPI") top10 = df.sort_values("시가총액", ascending=False).head(10) for ticker, row in top10.iterrows(): name = stock.get_market_ticker_name(ticker) market_cap_trillion = row["시가총액"] / 1e12 print(f"{name}: {market_cap_trillion:.1f}T KRW") Example 4: Fundamental Data (PER, PBR, Dividend) from pykrx import stock # Get fundamentals for all KOSPI stocks df = stock.get_market_fundamental_by_ticker(TODAY, market="KOSPI") # Find undervalued stocks (low PER, low PBR) undervalued = df[ (df["PER"] > 0) & (df["PER"] < 10) & (df["PBR"] > 0) & (df["PBR"] < 1.0) ].copy() undervalued["name"] = [stock.get_market_ticker_name(t) for t in undervalued.index] print(undervalued[["name", "PER", "PBR", "DIV"]].sort_values("PER").head(10)) Example 5: KOSPI Index Data from pykrx import stock # Get KOSPI index history # "1001" = KOSPI, "2001" = KOSDAQ kospi_index = stock.get_index_ohlcv_by_date("20240101", "20241231", "1001") print(kospi_index.tail()) # Year high/low print(f"2024 KOSPI High: {kospi_index['고가'].max():,}") print(f"2024 KOSPI Low: {kospi_index['저가'].min():,}") Example 6: Foreign Investor Trading Data from pykrx import stock # Foreign net buying/selling for Samsung df = stock.get_market_trading_volume_by_date( "20240101", "20241231", "005930" ) print(df.tail()) # Days with heavy foreign buying foreign_buying = df[df["외국인"] > 1000000] print(f"Heavy foreign buying days: {len(foreign_buying)}") Example 7: Sector Performance from pykrx import stock # Get sector (theme) data # Major KOSPI sector tickers sectors = { "1001": "KOSPI", "1028": "KOSPI200", "2001": "KOSDAQ", "1163": "KOSPI IT", "1150": "KOSPI Finance" } for code, name in sectors.items(): df = stock.get_index_ohlcv_by_date(MONTH_AGO, TODAY, code) if not df.empty: start = df["종가"].iloc[0] end = df["종가"].iloc[-1] change = (end - start) / start * 100 print(f"{name}: {change:+.2f}%") Example 8: Volume Surge Detector from pykrx import stock import pandas as pd def find_volume_surges(market="KOSPI", multiplier=3.0): """Find stocks with volume 3x above their 20-day average""" tickers = stock.get_market_ticker_list(market=market) surges = [] for ticker in tickers[:50]: # Limit for demo try: df = stock.get_market_ohlcv_by_date(MONTH_AGO, TODAY, ticker) if len(df) < 20: continue avg_vol = df["거래량"].iloc[:-1].mean() today_vol = df["거래량"].iloc[-1] if today_vol > avg_vol * multiplier: name = stock.get_market_ticker_name(ticker) surges.append({ "ticker": ticker, "name": name, "volume_ratio": today_vol / avg_vol, "close": df["종가"].iloc[-1] }) except: continue return sorted(surges, key=lambda x: x["volume_ratio"], reverse=True) surges = find_volume_surges() for s in surges[:5]: print(f"{s['name']}: {s['volume_ratio']:.1f}x average volume") Example 9: Simple Backtesting from pykrx import stock import pandas as pd def backtest_moving_average(ticker, short=5, long=20): """Simple moving average crossover backtest""" df = stock.get_market_ohlcv_by_date("20230101", "20241231", ticker) df.columns = ["Open", "High", "Low", "Close", "Volume"] df[f"MA{short}"] = df["Close"].rolling(short).mean() df[f"MA{long}"] = df["Close"].rolling(long).mean() # Signal: 1 = buy, -1 = sell df["signal"] = 0 df.loc[df[f"MA{short}"] > df[f"MA{long}"], "signal"] = 1 df.loc[df[f"MA{short}"] < df[f"MA{long}"], "signal"] = -1 # Returns df["returns"] = df["Close"].pct_change() df["strategy"] = df["signal"].shift(1) * df["returns"] total_return = (1 + df["strategy"].dropna()).prod() - 1 buy_hold = (df["Close"].iloc[-1] - df["Close"].iloc[0]) / df["Close"].iloc[0] print(f"Strategy return: {total_return:.2%}") print(f"Buy & hold return: {buy_hold:.2%}") return df result = backtest_moving_average("005930") Example 10: Export to Excel from pykrx import stock import pandas as pd # Get data for multiple stocks watchlist = { "005930": "Samsung Electronics", "000660": "SK Hynix", "373220": "LG Energy Solution", "005380": "Hyundai Motor", "035420": "NAVER" } with pd.ExcelWriter("korean_stocks.xlsx") as writer: for ticker, name in watchlist.items(): df = stock.get_market_ohlcv_by_date("20240101", "20241231", ticker) df.columns = ["Open", "High", "Low", "Close", "Volume"] df.to_excel(writer, sheet_name=name[:30]) print(f"Saved {name}") print("Excel file created: korean_stocks.xlsx") Common Mistakes Mistake Fix Date with dashes "2024-01-01" Remove dashes: "20240101" Using company name as ticker Use 6-digit number: "005930" Calling too frequently Add time.sleep(0.5) between calls Empty result on weekends KRX is closed Sat/Sun Key Takeaways pykrx is free and requires no API key Date format is always YYYYMMDD Column names default to Korean — rename for easier use Add delays between multiple API calls to avoid rate limiting For real-time data and trading, use KIS API instead Related Guides pykrx get_market_ohlcv_by_date: Complete Guide Build a Korean Stock Screener with pykrx KIS API vs pykrx: Which Should You Use?

July 8, 2026 · Phillip

pykrx vs FinanceDataReader: Which is Better for Korean Stocks?

Overview When building a Korean stock data pipeline in Python, you’ll encounter two popular libraries: pykrx and FinanceDataReader. Both are free and open-source, but they have different strengths. What is pykrx? pykrx is a Python library that pulls data directly from the KRX (Korea Exchange) website. It is focused exclusively on Korean markets. Install: pip install pykrx What is FinanceDataReader? FinanceDataReader (FDR) is a broader financial data library that supports Korean stocks, US stocks, ETFs, crypto, and more — all through a unified API. ...

July 7, 2026 · Phillip

The Complete Beginner's Guide to Korean Stock Market (KRX)

What is the Korean Stock Market? The Korean Stock Exchange, officially known as KRX (Korea Exchange), is one of Asia’s largest stock markets. It is operated by the Korea Exchange and headquartered in Busan, South Korea. KRX consists of three main markets: KOSPI – Korea Composite Stock Price Index (large-cap) KOSDAQ – Korea Securities Dealers Automated Quotations (small/mid-cap, tech-focused) KONEX – Korea New Exchange (startups and SMEs) KOSPI vs KOSDAQ KOSPI KOSDAQ Focus Large-cap, blue-chip Small/mid-cap, tech Listed companies ~800 ~1,600 Key stocks Samsung, Hyundai, LG Kakao, Celltrion Comparison Similar to NYSE Similar to NASDAQ Key Facts Total market cap: Approximately $2 trillion USD Trading currency: Korean Won (KRW) Settlement: T+2 Regulator: Financial Services Commission (FSC) Why Invest in Korean Stocks? Tech giants at a discount – Samsung, SK Hynix trade at lower valuations than US peers K-wave beneficiaries – Entertainment, beauty, and content companies EV battery leaders – LG Energy Solution, Samsung SDI, SK On Semiconductor exposure – Korea is home to two of the world’s top chip makers Next Steps Ready to start investing? Read our next guide on KOSPI vs KOSDAQ differences.

June 28, 2026 · Phillip

KOSPI vs KOSDAQ: What's the Difference?

Overview When investing in Korean stocks, you’ll encounter two main markets: KOSPI and KOSDAQ. Understanding the difference is essential before you start trading. KOSPI (Korea Composite Stock Price Index) KOSPI is Korea’s main board — think of it as the Korean equivalent of the NYSE or S&P 500. Key characteristics: Established in 1956 Home to Korea’s largest companies (Samsung Electronics, Hyundai Motor, POSCO) More stable, lower volatility Dominated by institutional and foreign investors Stricter listing requirements Top KOSPI stocks: ...

June 27, 2026 · Phillip

Best Brokers to Buy Korean Stocks as a Foreigner (2026)

Can Foreigners Buy Korean Stocks? Yes! Foreign investors can legally invest in Korean stocks. However, there are some registration requirements depending on your situation. Option 1: Korean Domestic Brokers Mirae Asset Securities Most internationally friendly Korean broker English support available Global trading platform Best for: Serious investors wanting direct KRX access Korea Investment & Securities Provides KIS API for algorithmic trading Strong mobile app Best for: Algo traders and developers Kiwoom Securities Most popular among retail traders Low fees Best for: Active traders Option 2: International Brokers with KRX Access Interactive Brokers Direct KRX access Competitive fees (~0.08%) English interface Best for: Most foreign investors outside Korea Fee Comparison Broker Commission Min Fee Interactive Brokers 0.08% $1 Mirae Asset Global 0.1-0.3% Varies Kiwoom 0.015% 1,000 KRW Korea Investment 0.015% 1,000 KRW My Recommendation For most foreigners: Start with Interactive Brokers — easiest setup, English interface, direct KRX access. ...

June 26, 2026 · Phillip

Korean Stock Market Hours (KST, EST, GMT) — Complete 2026 Guide

Korean Stock Market Trading Hours The Korean Stock Exchange (KRX) operates Monday through Friday, excluding Korean public holidays. Regular Trading Hours Session KST EST (UTC-5) GMT (UTC+0) Pre-market 08:00 – 09:00 18:00 – 19:00 (prev day) 23:00 – 00:00 (prev day) Regular market 09:00 – 15:30 19:00 – 01:30 00:00 – 06:30 After-hours 15:40 – 18:00 01:40 – 04:00 06:40 – 09:00 Key Notes Lunch break: No lunch break (continuous trading) Settlement: T+2 (two business days) Currency: Korean Won (KRW) For US-Based Investors If you’re based in the US, Korean market hours overlap with your evening/night hours: ...

June 25, 2026 · Phillip

How Korean Short Selling Works (and When It Gets Banned)

Short Selling in Korea: Overview Short selling in Korea is heavily regulated compared to the US market. Korea has a history of temporarily banning short selling during market crises, which is a unique characteristic of the KRX. Types of Short Selling in Korea 1. Covered Short Selling Borrowing shares before selling Legal and allowed (with restrictions) Must have borrowed shares confirmed before selling 2. Naked Short Selling Selling shares without borrowing them first Illegal in Korea Heavy penalties for violations Who Can Short Sell? Investor Type Short Selling Allowed? Foreign institutional investors Yes Domestic institutional investors Yes Retail investors Yes (since 2025) Korea’s Short Selling Bans Korea has banned short selling multiple times: ...

June 24, 2026 · Phillip

Korean ETFs 101: TIGER vs KODEX vs KINDEX (Complete Guide)

What Are Korean ETFs? Korean ETFs trade on the KRX just like stocks. They’re an easy way to get exposure to Korean markets without picking individual stocks. The Big Three Korean ETF Providers TIGER ETFs (Mirae Asset) Korea’s largest ETF provider Wide product range Popular funds: TIGER 200, TIGER NASDAQ100 KODEX ETFs (Samsung Asset Management) Second largest provider High liquidity Popular funds: KODEX 200, KODEX Leverage KINDEX ETFs (Korea Investment Trust) Smaller but competitive Popular funds: KINDEX 200 Must-Know Korean ETFs ETF Ticker Description Expense Ratio TIGER 200 102110 Top 200 KOSPI stocks 0.05% KODEX 200 069500 Top 200 KOSPI stocks 0.15% TIGER NASDAQ100 133690 US NASDAQ 100 exposure 0.07% KODEX Leverage 122630 2x KOSPI 200 0.64% TIGER EV Battery 305540 EV Battery sector 0.40% KODEX Semiconductor 091160 Semiconductor sector 0.45% For Foreign Investors If you’re outside Korea, consider these alternatives for Korean market exposure: ...

June 23, 2026 · Phillip