Finance
Try in Playground →Market hours, trading days, settlement dates, and options expiration
Import
import { ... } from 'ts-time-utils/finance'; Examples
Market Hours
Check market open/close times and trading status
import { isMarketOpen, isTradingDay, getMarketOpen, getMarketClose, getNextMarketOpen } from 'ts-time-utils/finance';
// Check if market is currently open
console.log('NYSE open now?', isMarketOpen(new Date(), 'NYSE'));
// Check if today is a trading day
console.log('Is trading day?', isTradingDay(new Date()));
// Get market hours for a specific date
const date = new Date('2025-01-15');
console.log('Market opens:', getMarketOpen(date));
console.log('Market closes:', getMarketClose(date));
// Find next market open (skips weekends & holidays)
const nextOpen = getNextMarketOpen(new Date());
console.log('Next market open:', nextOpen); Trading Days & Settlement
Calculate trading days and settlement dates
import { addTradingDays, countTradingDays, eachTradingDay, getSettlementDate, isMarketHoliday } from 'ts-time-utils/finance';
const start = new Date('2025-01-15');
// Add trading days (skips weekends & holidays)
const fiveDaysLater = addTradingDays(start, 5);
console.log('5 trading days later:', fiveDaysLater);
// Count trading days in range
const end = new Date('2025-01-31');
console.log('Trading days:', countTradingDays(start, end));
// Get all trading days in range
const tradingDays = eachTradingDay(start, end);
console.log('First 5 trading days:', tradingDays.slice(0, 5));
// T+2 settlement date
const settlement = getSettlementDate(start, 2);
console.log('T+2 settlement:', settlement);
// Check market holidays
console.log('Is Christmas a holiday?', isMarketHoliday(new Date('2025-12-25'))); Options Expiration
Calculate options expiration dates
import { getOptionsExpiration } from 'ts-time-utils/finance';
// Monthly options (3rd Friday)
const monthlyExp = getOptionsExpiration(2025, 1, 'monthly');
console.log('January monthly expiration:', monthlyExp);
// Quarterly options (Mar, Jun, Sep, Dec)
const quarterlyExp = getOptionsExpiration(2025, 3, 'quarterly');
console.log('Q1 quarterly expiration:', quarterlyExp);
// Get expiration for each month
for (let month = 1; month <= 12; month++) {
const exp = getOptionsExpiration(2025, month, 'monthly');
console.log(`${month}/2025 expiration: ${exp.toDateString()}`);
}