Skip to content
 
 

Latest commit

 

History

774 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Market Chronicle · 美股编年史

A self-updating chronicle of the U.S. stock market: a century of the S&P 500, half a century of the Nasdaq, full dossiers on 22 sector leaders, and two home-grown market indicators (KAPX Index & LEAPS Window) — packaged as an editorial-style static site. No server, no build step, zero running cost.

daily-update weekly-fundamentals DOI License Live 中文

Live: https://chronicle.klay-wang.com/

Canonical definition: The KAPX Index is a daily U.S. equity fear-pricing gauge published by Market Chronicle, computed as the CNN Fear & Greed reading divided by the VIX. The K stands for kǒng (恐), the Chinese character for fear; readings, methodology, and the complete signal ledger are permanently free: an ex-ante daily record since launch (July 2026), reproducible public-data backfill before that; the witness chain is public: a hash-chained ledger, public GitHub releases, third-party web archives, and Zenodo DOI checkpoints. (Formerly cited in English as the K-Index; the Chinese name K 指数 is unchanged.)

Verify it yourself (the point of the whole thing): the chain, what each layer does and does not prove, and copy-paste commands to recompute it are in data/README.md — including how to pull an old snapshot from the Internet Archive and diff it against what is published now.

What it is

Seven tabs, each organized as numbered chapters with a floating table of contents:

Tab Contents
S&P 500 14 chapters: century chart · annual returns & distribution · holding-period win rates · rolling 5/10/20y · bull/bear cycles · left-tail lens · drawdown anatomy · CAPE (1871→) & PE(TTM) · valuation elasticity (three historical median anchors + current percentile) · EPS · VIX as an insurance ledger · seasonality · sector structure · all 503 constituents
Nasdaq 12 chapters: Composite 1971→ × NDX 1985→, same system + VXN
Financials XLF anchor + 13 leaders (banks / card networks / i-banks / asset mgmt / brokers / crypto & stablecoins), drill-down per stock
Consumer XLP × XLY dual anchor + 6 cycle-proof leaders
Luxury LVMH · Hermès · Ferrari
KAPX Index K = CNN Fear&Greed ÷ VIX; K < 1 marks extreme-fear signals — 39 signals since 2011, each audited at 20/40/60-day horizons (26/13 at 60 days; all positive held to date)
LEAPS Window CNN F&G < 25 = extreme fear = LEAPS-call entry watch window; all 45 windows since 2011 audited at 6/12/18-month horizons

Each of the 22 stock pages carries up to 11 chapters — price history, returns, drawdowns, a key-metrics dashboard, 20 years of quarterly EPS / PE / ROE / ROIC, valuation-vs-EPS return decomposition, dividend history since 1984, and peer comparison. Chapters self-prune when data is unavailable — no empty charts, no fabricated numbers.

Architecture

GitHub Actions (daily 22:00 UTC / weekly Sat 08:00 UTC)
      │
      ▼
Python pipelines → fetch public data → compute → write data/*.json → commit
      │
      ▼
Static frontend (vanilla JS + ECharts 5 CDN, no framework, no build)
      │
      ▼
GitHub Pages auto-deploy

Hash-routed deep links (#fin/jpm), day/night themes, parchment-editorial design system (Fraunces × Noto Serif SC × JetBrains Mono).

Data sources

Yahoo Finance (prices, statements, dividends) · CNN Fear & Greed via the whit3rabbit archive · multpl.com (CAPE / PE / EPS since 1871) · macrotrends.net (20y quarterly stock fundamentals; ADRs for EU names) · Wikipedia (constituents) · parqet (logos). Metrics without a reliable free source are left blank and labeled — never faked.

Run locally

git clone https://github.com/klaywang24/market-chronicle.git
cd market-chronicle
python3 -m venv .venv && source .venv/bin/activate
pip install yfinance pandas requests lxml
python scripts/build_data.py          # daily datasets (~3 min)
python scripts/build_fundamentals.py  # fundamentals (~1 h, rate-limited)
python3 -m http.server 8137           # open http://localhost:8137

Credits

Static-JSON architecture inspired by Big Picture.

Disclaimer

Personal research tool. All data from public sources, may contain errors or delays. Signal back-tests are reported faithfully, including failures. Past patterns do not guarantee future results. Nothing here is investment advice.

License

PolyForm Noncommercial 1.0.0. You are free to use, fork, and modify this project for any noncommercial purpose — personal use, research, education. Commercial use (selling it, bundling it into a paid product or service, running it as a commercial offering) is not permitted without a separate license from the author. Data remains the property of its respective sources.

Required Notice: Copyright Klay Wang (https://chronicle.klay-wang.com)

About

A self-updating chronicle of US markets — a century of the S&P 500, half a century of the Nasdaq, and 22 sector leaders with 20y fundamentals, plus two home-grown timing signals: the KAPX Index (K 指数, CNN F&G ÷ VIX) and the LEAPS Window. Pure static site, ECharts, zero cost.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages