gpt4 book ai didi

matlab - 如何在给定每日 fts 的情况下提取月度金融时间序列

转载 作者:行者123 更新时间:2023-12-04 10:18:16 26 4
gpt4 key购买 nike

我知道我们可以在财务工具箱中使用“tomonthly”函数,但这会返回一个默认的每月数据,取每个月的最后一个工作日。

如果我想要每个月的第一个工作日怎么办?

我已经尝试通过以下方式将“ED”设置为 1:

ftsFuture = fints (matlabDate, lnPrice);
monthlyFuture = tomonthly(ftsFuture,'ED',1);

但这只是部分成功,因为如果该月的 1 日是工作日,那没问题,但如果不是工作日,则成为前一个工作日,即上个月.

我还尝试通过以下方式将“BusDays”设置为 0:

ftsFuture = fints (matlabDate, lnPrice);
monthlyFuture = tomonthly(ftsFuture,'ED',1, 'BusDays',0);

这成功地将每个条目强制为每个月的 1 日,但显然不正确,因为其中一些日期显然不是工作日!

非常感谢任何帮助!

最佳答案

有一种方法可以从每个月的第一个工作日开始的每月周期内的每日金融时间序列中提取数据。我们可以使用 tomonthlybusdate 函数获取系列中间的日期。

假设数据开始于某个月的月初,结束于某个月的月底,我们添加第一个日期并删除我们将在操作后得到的最后一个日期。

ftsFuture = fints (matlabDate, lnPrice);
monthlyFuture = tomonthly(ftsFuture);
eomDates = monthlyFuture.dates ; % getting end of month business days)
fomDates = busdate(eomDates) ; % getting first month bussines days)
fomDates(end)=[] ; % deleting the last date in the array (out of range otherwise).
firstday = ftsFuture.dates(1); % adding the first date of the series.
fomDates = [firstday ; fomDates];
fomDates = datestr(fomDates);
fomftsFuture = ftsFuture(fomDates);

关于matlab - 如何在给定每日 fts 的情况下提取月度金融时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26361539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com