交易日是指金融市场正常交易的日子,通常不包括周末和法定节假日。
Matlab 提供了多种方法来获取交易日,包括:
1. datestr
matlab
dates = datestr(datetime('2022-01-01'):datetime('2023-12-31'), 'ddmmmmyyyy');
2. businessdays
matlab
dates = businessdays('2022-01-01', '2023-12-31');
3. tradingdays
matlab
dates = tradingdays('2022-01-01', '2023-12-31', 'Exchange', 'NYSE');
businessdays
和 tradingdays
函数允许指定交易所来考虑特定交易所的交易日历。
可以使用 Exchange
参数指定交易所,例如:
NYSE
:纽约证券交易所NASDAQ
:纳斯达克证券交易所LON
:伦敦证券交易所businessdays
和 tradingdays
函数会自动考虑法定节假日,但您也可以手动指定要排除的假期,例如:
matlab
dates = businessdays('2022-01-01', '2023-12-31', 'Holidays', {'2023-07-04', '2023-12-25'});
如果需要将日期转换为交易日,可以使用 busdate
函数,例如:
matlab
date = datetime('2023-01-02');
trading_date = busdate(date); % 得到 2023-01-03
示例 1:获取 2023 年纽约证券交易所的交易日
matlab
dates = tradingdays('2023-01-01', '2023-12-31', 'Exchange', 'NYSE');
disp(dates);
输出:
2023-01-03
2023-01-04
...
2023-12-26
2023-12-27
2023-12-28
2023-12-29
示例 2:排除特定假期
matlab
dates = businessdays('2022-01-01', '2023-12-31', 'Holidays', {'2023-07-04', '2023-12-25'});
disp(dates);
输出:
2022-01-03
2022-01-04
...
2023-12-22
2023-12-26
2023-12-27
2023-12-28
2023-12-29