Settlement dates
T+1 settlement date calculator
Pick a market and a trade date to get the settlement date, skipping both the exchange's holidays and the payment system's closures. Free, no sign-up for NYSE, Nasdaq, London, Xetra and Tokyo.
US stocks: T+1 around the holidays
US equities settle T+1 under SEC Rule 15c6-1 amendments (T+1) (SEC), in effect since 2024-05-28. A settlement day has to be open for both the exchange and the Federal Reserve, so a trade before a holiday settles after it:
| Trade date | Settles | Cycle | Calendars |
|---|---|---|---|
| 2026-11-25 (Wed) | 2026-11-27 (Fri) | T+1 | XNYS + us-fed |
| 2026-12-24 (Thu) | 2026-12-28 (Mon) | T+1 | XNYS + us-fed |
| 2027-11-24 (Wed) | 2027-11-26 (Fri) | T+1 | XNYS + us-fed |
| 2027-12-30 (Thu) | 2027-12-31 (Fri) | T+1 | XNYS + us-fed |
More worked examples: Friday and pre-holiday trades. Europe, the UK and Switzerland move to T+1 for trades from 11 October 2027; see the dates and the legal status of each.
In code
curl "https://settledate.dev/v1/settlement-date?market=XNYS&trade_date=2026-12-24"
import requests
r = requests.get("https://settledate.dev/v1/settlement-date", params={"market": "XNYS", "trade_date": "2026-12-24"})
print(r.json()["settlement_date"]) # 2026-12-28
{
"market": "XNYS",
"trade_date": "2026-12-24",
"settlement_date": "2026-12-28",
"cycle": "T+1",
"basis": "market_rule",
"status": "in_effect",
"effective_from": "2024-05-28",
"rule": "SEC Rule 15c6-1 amendments (T+1)",
"source": "https://www.sec.gov/newsroom/press-releases/2023-29",
"calendars_used": [
"XNYS",
"us-fed"
],
"skipped_days": [
{
"date": "2026-12-25",
"reasons": [
{
"calendar": "XNYS",
"type": "holiday",
"name": "Christmas"
},
{
"calendar": "us-fed",
"type": "holiday",
"name": "Christmas Day"
}
]
}
]
}
Get a free key for more calls and every free calendar; paid plans add the rest.