主要内容

convert2semiannual

汇总时间表数据,以半年为周期

描述

例子

TT2= convert2semiannual (TT1以半年为周期聚合数据(例如,每天或每周记录的数据)。

TT2= convert2semiannual (TT1名称,值使用一个或多个名称-值参数指定的其他选项。

例子

全部折叠

加载模拟股票价格数据和相应的对数收益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因此结果具有半年周期性。

  1. 通过DataTimeTable直接向convert2semiannual

  2. 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是相等的。

输入参数

全部折叠

将数据汇总到半年一次的周期中,指定为时间表。

每个变量可以是数值向量(单变量序列)或数值矩阵(多变量序列)。

请注意

  • S表示缺失值。

  • 时间戳必须按升序或降序排列。

默认情况下,所有的日子都是工作日。如果您的时间表没有考虑到非业务日(周末、假日和市场关闭),请通过使用添加业务日历识别功能addBusinessCalendar第一。例如,下面的命令添加业务日历逻辑以只包括纽约证交所的工作日。

TT = addBusinessCalendar(TT);

数据类型:时间表

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

例子:TT2 = convert2semiannual(TT1,'Aggregation',["lastvalue" "sum"])

聚合法TT1定义如何在半年到半年周期的工作日内聚合数据(日内聚合),指定为以下方法之一、方法的字符串向量或长度numVariables方法的单元格向量,其中numVariables变量的数量是多少TT1

  • “和”—每年或每天的总和。

  • “的意思是”—计算每年或每天的平均值。

  • “刺激”—计算每一年或每一天的值的乘积。

  • “最小值”—计算每年或每天的最小值。

  • “马克斯”—计算每年或每天的最大值。

  • “firstvalue”-使用每年或每天的第一个值。

  • “lastvalue”-使用每一年或每一天的最后一个值。

  • @customfcn-自定义聚合方法,接受表变量并返回数字标量(用于单变量系列)或行向量(用于多变量系列)。函数必须接受空输入[]

如果指定一个方法,convert2semiannual中的所有时间序列应用指定的方法TT1.如果指定字符串向量或单元格向量聚合convert2semiannual适用于聚合(jTT1 (:,jconvert2semiannual每次应用每个聚合方法(有关详细信息,请参见调整时间).例如,考虑一个表示的每日时间表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,指定为聚合方法、方法的字符串向量或长度numVariables细胞向量的方法。有关受支持的方法和行为的详细信息,请参见金宝app“聚合”名称-值参数。

数据类型:字符|字符串|细胞|function_handle

输出参数

全部折叠

半年数据,作为时间表返回。convert2semiannual在6月和12月的最后一个工作日报告半年汇总结果。的时间安排TT1而且TT2都是一样的。

如果变量为TT1在抽样时间范围内,没有年度内的营业日记录,convert2semiannual返回一个对于这个变量和年周期TT2

年的第一次约会TT2第一个日期所在的半年期间的最后一个营业日期是TT1发生时,提供TT1在这半年的时间里都有生意。否则第一次约会就泡影了TT2是下一个半年结束的业务日期。

年的最后一次约会TT2最后日期所在的半年期间的最后营业日期是TT1发生时,提供TT1在这半年的时间里都有生意。否则最后的日期TT2是前一个半年结束的业务日期。

版本历史

R2021a中引入