主要内容

在金融中使用时间表

这个例子展示了如何使用时间表来从模拟的每日股票数据中可视化和计算每周的统计数据。

步骤1.加载数据。

本例中的数据在mat文件中simulatedstock.mat.,其中加载以下内容:

  • 与股票收盘价相对应的日期,TMW_DATES

  • 期初存货的价格,TMW_OPEN

  • 股票价格的每日高点,TMW_HIGH

  • 股票价格的每日新低,tmw_low.

  • 关闭股票价格,tmw_close,tmw_close_missing.

  • 日交易量,tmw_volume.

  • 表中的数据,TMW_TB

负载simulatedstock.mat.tmw_ *

步骤2.创建时间表。

在时间表中,你可以使用金融时间序列,而不是向量。当使用一个时间表,你可以很容易地追踪日期。您可以根据日期操作数据系列,因为a时间表对象跟踪时间序列的管理。

使用MATLAB®.时间表函数来创建时间表对象。或者,您可以使用MATLAB转换函数table2timetable将表转换为时间表。在这个例子中,时间表TMW_TT由桌子构成,仅用于说明目的。创建一个后时间表对象,您可以使用描述场的时间表对象存储有关时间表的元信息。

%从矢量输入中创建时间表TMW =时间表(TMW_OPEN TMW_HIGH、TMW_LOW TMW_CLOSE_MISSING, TMW_VOLUME,“VariableNames”,{“开放”,“高”,“低”,'关',“体积”},'rowtimes', TMW_DATES);%从表格转换为时间表tmw_tt = table2timetable(tmw_tb,'rowtimes', TMW_DATES);TMW.Properties。描述=模拟股票数据。;TMW.Properties
ans = TimetableProperties with properties: Description: '模拟股票数据。“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“开放”“高”“低”“关闭”“体积”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: x1 datetime[1000]开始时间:04 - 9 - 2012 SampleRate:南步伐:南CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。

步骤3.计算基本数据统计信息,并填充缺少的数据。

使用MATLAB总结查看基本统计的功能时间表数据。通过检查每个变量的摘要,您可以识别缺失的值。然后就可以使用MATLAB了fillmissing命令功能通过指定的填充方法,对时间表中缺失的数据进行填充。

summaryTMW =总结(TMW);summaryTMW.Close
ans =结构与字段:大小:[1000 1]类型:'double'描述:" Units: "连续性:[]Min: 83.4200 Median: 116.7500 Max: 162.1100 NumMissing: 3
tmw = fillmissing(tmw,“线性”);summaryTMW =总结(TMW);summaryTMW.Close
ans =结构与字段:Size:[1000 1]类型:'double'描述:" Units: "连续性:[]Min: 83.4200 Median: 116.7050 Max: 162.1100 NumMissing: 0
summarytmw.time.
ans =结构与字段:尺寸:[1000 1]类型:'DateTime'Min:04-2012中位数:2014年8月31日 -  2016年8月24日Nummissing:0时间:NAN

步骤4.可视化数据。

要可视化时间表数据,请使用金融图表功能,例如highlow要么Movivg.。在这个例子中,移动平均线信息被绘制在同一个图表上highlow提供一个完整的可视化。利用MATLAB得到2014年的股票表现时间范围选择行的函数时间表。可视化一个技术指标,如移动平均线的收敛散度(MACD),通过时间表对象进入macd函数进行分析。

index = timerange(DateTime(' 01 - 1月- 2014,“场所”,“en_US”),约会时间(2014年- 12月31日的,“场所”,“en_US”),“关闭”);highlow (TMW(指数:));持有ema15 = movavg (TMW (:,'关'),“指数”15);ema25 = movavg (TMW (:,'关'),“指数”,25);ema15 = ema15(指数,:);EMA25 = EMA25(指数,:);情节(EMA15.Time,Ema15.Close,“r”);情节(ema25.Time ema25.Close,‘g’);持有关闭传奇(“价格”,'15-Day EMA','25-day EMA')标题(“TMW的高潮情节”)

[MacDline,signalline] = Macd(tmw(:,'关'));情节(macdLine.Time macdLine.Close);持有情节(signalline.time,signalline.Close);持有关闭标题('macd for tmw')传说('MACD线','信号线')

第5步。创建一个每周回报和波动系列。

若要从每日股票价格计算每周回报,必须将数据频率从每日重新采样为每周。使用时间表时,使用MATLAB函数ret要么同步使用各种聚合方法计算每周统计数据。将时间表数据调整为时间向量,使用ret和使用同步与多个时间表。

Weeklyopen = Retime(TMW(:,“开放”),'每周','FirstValue');weeklyHigh =调整时间(TMW (:,“高”),'每周','max');Weeklylow = Retime(TMW(:,“低”),'每周',“最小值”);weeklyClose =调整时间(TMW (:,'关'),'每周','lastvalue');weeklyTMW = [weeklyOpen weeklyHigh、weeklyLow weeklyClose);weeklyTMW =同步(weeklyTMW TMW (:,“体积”),'每周','和');头(周最近)
ans =.8×5时间表时间开放高低卷_________ ______ ___________________________________02-SEP-2012 100 102.38 98.45 99.51 2.7279E + 07 09-SEP-2012 99.72 101.55 96.52 97.52 2.8518E + 07 16-SEP-2012 97.35 97.52 92.6 93.73 2.9151E +07 23-SEP-2012 93.55 98.03 92.25 97.35 3.179E + 07 30-SEP-2012 97.3 103.15 96.68 99.66 3.3761E + 07 07-OCT-2012 99.76 106.61 98.7 104.23 3.1299E + 07 14-OCT-2012 104.54 109.75 100.55 103.77 3.1534E + 07 21-OCT-2012 103.84 104.32 96.95 97.41 3.1706E + 07

对a中的项执行计算时间表,使用matlabRowfun.用于将函数应用于每周频率时间表的每行。

returnfunc = @(打开,高,低,关闭,卷)日志(关闭) - 日志(打开);WeeklyReturn = Rowfun(Returnfunc,WeeklyTMW,'outputvariablenames',{'返回'});weeklyStd =调整时间(TMW (:,'关'),'每周',@ std);Weekystd.properties.variablenames {'关'} =“波动”;WeeklyTMW = [WeeklyReturn,WeeklyStd,WeeklyTMW]
Weeklytmw =208×7时间表时间返回波动率开放高低较低卷___________ _____________________________________________________________________________0.02309 0.63563 99.09 -201.55 96.52 97.52 2.8518E + 07 16-SEP-2012 -0.037894 0.93927 97.35 97.52 92.6 93.73 2.9151E + 07 23-SEP-2012 0.039817 2.0156 93.55 98.03 93.55 98.03 92.25 97.35 3.179CS + 07 30-SEP-2012 0.014 97.310 1.3014 99.66 3.3761CE + 07 07-OCT-2012 0.042 0.042 0.042 0.042 0.0421.3114 99.76 106.61 98.7 104.23 3.1299E + 07 14-101-0.0073929 1.8097 104.54 109.75 100.55 103.77 3.1534CY + 07 21-101-10-2012-0.063922 2.1603 103.84 104.32 96.95 97.41 3.1706E + 07 28-OCT-2012-10.028309 0.9815 97.4599.1 92.58 94.73 1.9866e + 07 04-NOV-2012 -0.00010566 1.224 94.65 96.1 90.82 94.64 3.5043e + 07 11-NOV-2012 0.077244 2.4854 94.39 103.98 93.84 101.97 3.0624e + 07 18-NOV-2012 0.022823 0.55896 102.23 105.27 101.24 104.59 2.5803E + 07 25-11-2012 -0.012789 1.337 104.66 106.02 100.85 103.33 3.1402E + 07 02-DEC-2012 -0.043801 0.2783 103.37 103.37 97.69 98.94 3.2136E + 07 09-DEC-2012-0.063475 1.9826 99.02 99.09 91.34 92.93 3.4447E + 07 16-DEC-2012 0.0025787 1.2789 92.95 94.2 88.58 93.19 3.3247E + 07⋮

另请参阅

||||||||||||

相关话题