Skip to content
View younghwan91's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report younghwan91

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
younghwan91/README.md

Younghwan Chae, Ph.D. · 채영환

Open-source quant infrastructure for Korean equities — built so that the rejections get published too.
PhD in mechanical engineering (mathematical optimization) · ML & perception engineer @ Doosan Robotics by day.
The through-line is optimization: strategy search is an optimization problem, and every trial is paid for.

한국어 · English

LinkedIn Gmail Résumé (PDF)

Four charts from the stack: which US industry has been forgotten, 31% of Korean stocks that ever traded are delisted, KRX price limits are not symmetric, pure noise passes 5 of 6 folds about half the time

Three things the data taught me, each with the code that found it:

  • KRX price limits are not symmetric. The +30% cap is floored to the tick of the target price, the −30% floor to the tick of the base price, so the two moves differ by up to 0.26 points depending on where you start. → krx-quant-core
  • 31% of the Korean stocks that ever traded are delisted. Drop them and a 2008 backtest loses 37% of its universe. The pipeline keeps them. → quant-airflow
  • Pure noise passes "5 of 6 folds positive" about half the time. So a strategy has to beat its own randomized version, not a fold count. → swing-it

Open-source

Three stacks, one shape — collect → store → research. Korean equities get the most of it: client libraries feed one Airflow pipeline into TimescaleDB, a shared core fixes the market rules, and the research and trading repos read from there. The search itself is treated as optimization with a bill attached: grid sweeps, Optuna TPE and a CMA-ES evolutionary engine write every config to a run ledger, Deflated Sharpe and PBO charge for the number of trials, and the out-of-sample window opens once.

%%{init: {"flowchart": {"useMaxWidth": false, "nodeSpacing": 12, "rankSpacing": 18, "padding": 6}, "themeVariables": {"fontSize": "11px"}}}%%
flowchart TB
    subgraph KR ["🇰🇷 Korean equities"]
        direction LR
        SRC["kiwoom-client<br/>krx-news-client<br/>krx-fundamentals-client"] --> AF["quant-airflow"] --> DB[("TimescaleDB")] --> RS["swing-it · daytrade-it · scalp-it"]
        KC["krx-quant-core"] --> RS
    end

    subgraph US ["🇺🇸 US equities"]
        direction LR
        SH["Sharadar"] --> DD[("DuckDB")] --> PR["portfolio-research · macro-sector-agent"]
    end

    subgraph CX ["🪙 Crypto"]
        direction LR
        EX["Exchange APIs"] --> CR["binance-quant-engine"] --> CI["crypto-quant-insights"]
    end

    KR ~~~ US ~~~ CX

    classDef source fill:#2563EB,stroke:#1E40AF,color:#FFFFFF
    classDef move   fill:#B45309,stroke:#78350F,color:#FFFFFF
    classDef out    fill:#059669,stroke:#065F46,color:#FFFFFF

    class SRC,SH,EX source
    class AF,DB,DD move
    class RS,KC,PR,CR,CI out

    style KR fill:#0F172A08,stroke:#64748B
    style US fill:#0F172A08,stroke:#64748B
    style CX fill:#0F172A08,stroke:#64748B
Loading

Blue — data sources · amber — collection & storage · green — research & engines. fin-checkup stands alone; scalp-it and daytrade-it are private.

Project What it is
kiwoom-client
DATA SOURCE
Kiwoom Securities REST API wrapper — every domestic-equity endpoint, real-time WebSocket, sync + async, auto token refresh. Ships an MCP server so AI agents call the same API as tools, real orders opt-in only · pip install kiwoom-client PyPI downloads
krx-news-client
DATA SOURCE
Korean market news and disclosures — DART filings and Toss Securities — as one schema, article bodies and per-company history included · pip install krx-news-client PyPI downloads
krx-fundamentals-client
DATA SOURCE
Korean corporate fundamentals — DART statements and dividends, Naver valuation (PER, PBR, yield), screening — as Pydantic models. No standing server
quant-airflow
PIPELINE
The one pipeline behind both equity stacks: Korean prices, supply/demand, earnings, consensus, news and disclosures into TimescaleDB, with delisted stocks backfilled so downstream backtests aren't survivorship-biased. The US Sharadar rebuild into DuckDB is paused since the subscription lapsed
krx-quant-core
SHARED CORE
Where the Korean-equity systems agree on market mechanics — tick sizes, asymmetric price limits, a dated transaction-tax schedule, order guards, DART disclosure classes, a kill switch — plus the validation statistics and a research layer (grid sweeps, Optuna TPE, BIPOP CMA-ES) whose run ledger records every trial and hard-locks the out-of-sample window. No strategies; all three consumers pin the same version
fin-checkup
TOOL
Risk-disclosure alerts (rights offerings, CB issues, audit opinions, delistings) routed to Telegram, plus a traffic-light financial checkup over DART & SEC EDGAR. Facts and measurements only — never a recommendation
swing-it
RESEARCH
KOSPI/KOSDAQ swing research on two axes: an observation screen of where money went by sector, and a judgment track where alpha hypotheses face walk-forward, random null controls, purged CV and Deflated Sharpe enforced as CI guardrails. The rejections are the product
portfolio-research
RESEARCH
US equity factor engine — strategy parameters walk-forward optimized on point-in-time, survivorship-bias-free data, with Deflated Sharpe & PBO charging for the search; tactical ETF allocation goes through the same gate · writeup
macro-sector-agent
RESEARCH
Top-down US sector-cycle research that asks which industry has been forgotten, not what to buy. An LLM judge argues from evidence at one narrow waist only; the machine never picks — it only excludes
binance-quant-engine
CRYPTO ENGINE
Strategy-agnostic Binance USDT-M futures backtest & execution engine — zero lookahead, backtest↔live parity, exits placed as exchange-side algo orders at entry, optional MCP server
crypto-quant-insights
RESEARCH
Chart-backed research notes from validating a live futures system — crash stress tests, win rate vs. reward-to-risk, in- vs. out-of-sample divergence, Kelly leverage vs. what's actually run, backtest vs. live fills. The strategy stays private; the findings don't
automated-stock-trading-systems
RESEARCH
Backtester for Bensdorp's seven non-correlated trading systems (educational reimplementation) — runs offline on a synthetic universe, no data vendor, no API key

Private

Strategies and parameters stay closed. Only structure and discipline are written down. Happy to walk through any of these on request.

Project What it is
scalp-it
PRIVATE
Korean intraday framework — live tick/orderbook collection, a pre-registered validation program (hashed pre-registrations, hard-locked out-of-sample window, measured once) and an order execution loop that now runs dry-run only
daytrade-it
PRIVATE
Korean-equity news day-trading system — a daemon polls Toss news, Claude extracts facts only (subject, novelty, direction) and code does the scoring, behind a DART hard-severity gate that refuses entries when its cache is missing or stale. Runs in paper mode now; the replay engine, ledger and write-ups stay
quantbox
PRIVATE
Binance USDT-M futures breakout/momentum system, traded live and currently paused. binance-quant-engine is the public extract with the strategies removed
crypto-pair-trading
PRIVATE
First iteration of the crypto pair-trading framework — predecessor of quantbox
resume-private
PRIVATE
Private résumé source (LaTeX)

Tech

Python C++ PyTorch CUDA TensorRT OpenCV pandas PostgreSQL TimescaleDB Airflow Docker

Pinned Loading

  1. portfolio-research portfolio-research Public

    미국주식 팩터 엔진 + ETF 전술배분 검증 — point-in-time·생존편향 보정 데이터 위에서 워크포워드를 Deflated Sharpe·PBO 로 게이팅. 채택만이 아니라 기각도 함께 공개 · US equity factor engine with walk-forward validation

    Python 2 1

  2. fin-checkup fin-checkup Public

    DART·SEC 공시 위험 알림 + 재무제표 신호등 리포트 — 유상증자·전환사채·감사의견·상장폐지를 감시하고, 재무 17개 지표를 작년·업종 중앙값·동종업계 백분위와 나란히 보여준다. 측정값과 사실만 전달, 투자권유 없음 · Korean & US disclosure risk alerts and financial health check

    Python

  3. krx-news-client krx-news-client Public

    한국 주식시장 뉴스·공시 수집 클라이언트 라이브러리 (토스/한경/더벨/DART) — kiwoom-client와 같은 성격의 pip 라이브러리

    Python 1 2