convert2semiannual
汇总时间表数据,以半年为周期
描述
例子
汇总时间表数据,以半年为周期
加载模拟股票价格数据和相应的对数收益SimulatedStockSeries.mat
.
负载SimulatedStockSeries
的时间表DataTimeTable
包含2018年1月1日至2020年12月31日纽约证券交易所(NYSE)交易时间(09:30至16:00)中在不同不规则时间记录的测量值。
例如,显示前几个观察结果。
头(DataTimeTable)
Time Price Log_Return ____________________ ________________ 01-Jan-2018 11:52:48 100 -0.025375 01-Jan-2018 13:23:13 101.14 0.011336 01-Jan-2018 14:45:09 101.5 0.0035531 01- 2018 15:30:30 100.15 -0.01339 02-Jan-2018 10:43:37 99.72 -0.0043028 03-Jan-2018 10:02:21 100.11 0.0039033 03-Jan-2018 11:22:37 103.96 0.037737 03-Jan-2018 13:42:27 107.05 0.02929
DataTimeTable
不包括业务日历意识。如果希望考虑非业务日(周末、假日和市场关闭),并且您拥有Financial Toolbox™许可证,请使用addBusinessCalendar
函数。
通过报告每个1月至6月和7月至12月期间的最终价格,将价格系列汇总为半年系列。
SemiannualPrice = convert2semiannual(DataTimeTable(:,“价格”));尾(SemiannualPrice)
时间价格___________ ______ 2018年6月30日99.29 2018年12月31日84.26 2019年6月30日169.77 2019年12月31日153.22 2020年6月30日224.29 2020年12月31日301.04
SemiannualPrice
是否有包含每半年报告期最终价格的时间表DataTimeTable
.
为每个变量指定聚合方法
这个例子展示了如何为变量的单位指定适当的聚合方法。它还展示了如何使用convert2semiannual
汇总当日数据和汇总季度数据,从而得到等效的半年汇总数据。
加载模拟股票价格数据和相应的对数收益SimulatedStockSeries.mat
.
负载SimulatedStockSeries
价格系列价格
包含绝对测量值,而日志返回序列Log_Return
是连续观测中价格序列的变化率。因为级数有不同的单位,所以在聚合级数时必须指定适当的方法。具体来说,如果报告给定周期的最终价格,则必须报告每个周期内的日志收益之和。
要理解如何维护聚合方法之间的一致性,请使用两种聚合方法DataTimeTable
因此结果具有半年周期性。
通过
DataTimeTable
直接向convert2semiannual
.总
DataTimeTable
通过使用,使结果具有季度周期性convert2quarterly
,然后将结果传递给convert2semiannual
.
在这两种情况下,指定报告最后的价格和每个期间的日志返回的总和。
直接汇总数据,使结果具有半年一次的周期性。对于每个系列,指定适合于该单元的聚合方法。
Aggmethods = [“lastvalue”“和”];SemiannualTT1 = convert2semiannual(DataTimeTable,Aggregation=aggmethods);尾(SemiannualTT1)
时间价格Log_Return ___________ ______ __________ 30-Jun-2018 99.29 -0.032501 31-Dec-2018 84.26 -0.16414 30-Jun-2019 169.77 0.70054 31-Dec-2019 153.22 -0.10257 30-Jun-2020 224.29 0.38107 31-Dec-2020 301.04 0.2943
SemiannualTT1
是包含半年数据的时间表。价格
是每个1月至6月和7月至12月期间的最终股价系列,以及Log_Return
是每半年期间的日志收益之和。
聚合数据分为两个步骤:聚合数据,使结果具有季度周期性,然后将季度数据聚合为半年数据。对于每个系列,指定适合于该单元的聚合方法。
QuarterlyTT = convert2quarterly(DataTimeTable,Aggregation=aggmethods);尾(QuarterlyTT)
时间价格Log_Return ___________ ______ __________ 31-Mar-2019 112.93 0.29286 30- june -2019 169.77 0.40768 30- september -2019 148.97 -0.1307 31- december -2019 153.22 0.02813 31-Mar-2020 229.88 0.40568 30-Jun-2020 224.29 -0.024618 30- september -2020 246.77 0.095517 31-Dec-2020 301.04 0.19879
SemiannualTT2 = convert2semiannual(QuarterlyTT,Aggregation=aggmethods)
SemiannualTT2 =6×2时间表时间价格Log_Return ___________ ______ __________ 30-Jun-2018 99.29 -0.032501 31-Dec-2018 84.26 -0.16414 30-Jun-2019 169.77 0.70054 31-Dec-2019 153.22 -0.10257 30-Jun-2020 224.29 0.38107 31-Dec-2020 301.04 0.2943
QuarterlyTT
是以季度为周期的时间表。价格
是每个季度的最终股价系列,和Log_Return
是每个季度的日志收益之和。
SemiannualTT1
而且SemiannualTT2
是相等的。
输入参数
TT1
- - - - - -数据以半年为周期进行汇总
时间表
将数据汇总到半年一次的周期中,指定为时间表。
每个变量可以是数值向量(单变量序列)或数值矩阵(多变量序列)。
请注意
南
S表示缺失值。时间戳必须按升序或降序排列。
默认情况下,所有的日子都是工作日。如果您的时间表没有考虑到非业务日(周末、假日和市场关闭),请通过使用添加业务日历识别功能addBusinessCalendar
第一。例如,下面的命令添加业务日历逻辑以只包括纽约证交所的工作日。
TT = addBusinessCalendar(TT);
数据类型:时间表
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
例子:TT2 = convert2semiannual(TT1,'Aggregation',["lastvalue" "sum"])
聚合
- - - - - -半年至半年周期的汇总方法(日内汇总)
“lastvalue”
(默认)|“和”
|“刺激”
|“的意思是”
|“最小值”
|“马克斯”
|“firstvalue”
|特征向量|函数处理|字符串向量|字符向量或函数句柄的单元格向量
聚合法TT1
定义如何在半年到半年周期的工作日内聚合数据(日内聚合),指定为以下方法之一、方法的字符串向量或长度numVariables
方法的单元格向量,其中numVariables
变量的数量是多少TT1
.
“和”
—每年或每天的总和。“的意思是”
—计算每年或每天的平均值。“刺激”
—计算每一年或每一天的值的乘积。“最小值”
—计算每年或每天的最小值。“马克斯”
—计算每年或每天的最大值。“firstvalue”
-使用每年或每天的第一个值。“lastvalue”
-使用每一年或每一天的最后一个值。@customfcn
-自定义聚合方法,接受表变量并返回数字标量(用于单变量系列)或行向量(用于多变量系列)。函数必须接受空输入[]
.
如果指定一个方法,convert2semiannual
中的所有时间序列应用指定的方法TT1
.如果指定字符串向量或单元格向量聚合
,convert2semiannual
适用于聚合(
来j
)TT1 (:,
;j
)convert2semiannual
每次应用每个聚合方法(有关详细信息,请参见调整时间
).例如,考虑一个表示的每日时间表TT1
有三个变量。
时间AAA BBB CCC ___________ ______ ______ _________________ 01 - 1月- 2018 100.00 200.00 300.00 400.00 02 - 1月- 2018 100.02 200.04 300.06 400.08 03 - 1月- 2018 99.96 199.92 299.88 399.84 . . . . . . . . . . . . . . .2018年6月28日69.63 139.26 208.89 278.52 2018年6月29日70.15 140.3 210.45 280.60 2018年6月30日75.77 151.54 227.31 303.08 01- 7月-2018年75.68 151.36 227.04 302.72 02- 7月-2018年71.34 142.68 214.02 285.36 03- 7月-2018 69.25 138.50 207.75 277.00 . . . . . . . . . . . . . . .2018年12月29- 29日249.16 498.32 747.48 996.64 2018年12月30- 30日250.21 500.42 750.63 1000.84 2018年12月31日256.75 513.50 770.25 1027.00
TT2
(在这种情况下,所有的日子都是工作日“lastvalue”
于每半年期间的最后一个营业日报告),详情如下。时间AAA BBB CCC ___________ ______ ______ ________________ 30 - 2018年6月- 75.77 151.54 227.31 303.08 2018年- 12月31日256.75 - 513.50 770.25 - 1027.00
所有方法都省略丢失的数据(南
S)对每个变量的直接聚合计算。的第一行中出现缺失值的情况TT1
,聚合结果中也可能出现缺失值TT2
.要处理缺失数据,请编写并指定支持缺失数据的自定义聚合方法(函数句柄)。金宝app
数据类型:字符
|字符串
|细胞
|function_handle
每天
- - - - - -日内聚合法为TT1
“lastvalue”
(默认)|“和”
|“刺激”
|“的意思是”
|“最小值”
|“马克斯”
|“firstvalue”
|特征向量|函数处理|字符串向量|字符向量或函数句柄的单元格向量
日内聚合法为TT1
,指定为聚合方法、方法的字符串向量或长度numVariables
细胞向量的方法。有关受支持的方法和行为的详细信息,请参见金宝app“聚合”
名称-值参数。
数据类型:字符
|字符串
|细胞
|function_handle
输出参数
TT2
-半年数据
时间表
半年数据,作为时间表返回。convert2semiannual
在6月和12月的最后一个工作日报告半年汇总结果。的时间安排TT1
而且TT2
都是一样的。
如果变量为TT1
在抽样时间范围内,没有年度内的营业日记录,convert2semiannual
返回一个南
对于这个变量和年周期TT2
.
年的第一次约会TT2
第一个日期所在的半年期间的最后一个营业日期是TT1
发生时,提供TT1
在这半年的时间里都有生意。否则第一次约会就泡影了TT2
是下一个半年结束的业务日期。
年的最后一次约会TT2
最后日期所在的半年期间的最后营业日期是TT1
发生时,提供TT1
在这半年的时间里都有生意。否则最后的日期TT2
是前一个半年结束的业务日期。
版本历史
R2021a中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。