在财务中使用时间表
使用时间表从模拟的每日库存数据可视化和计算每周统计数据。
步骤1。加载数据。
本例的数据在mat文件中SimulatedStock.mat
,它会加载以下内容:
股票收盘价对应的日期,
TMW_DATES
开盘股价,
TMW_OPEN
股票价格的日高点,
TMW_HIGH
股票价格的每日低点,
TMW_LOW
收盘股价,
TMW_CLOSE, TMW_CLOSE_MISSING
日交易量:
TMW_VOLUME
表格中的数据,
TMW_TB
负载SimulatedStock.matTMW_ *
步骤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 = table2时间表(TMW_TB,“RowTimes”, TMW_DATES);TMW.Properties.Description =“模拟股票数据。”;TMW。属性
ans = timeableproperties带有属性:描述:“模拟股票数据。”UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Open' 'High' 'Low' 'Close' 'Volume'} variabledescription: {} VariableUnits: {} variableccontinuency: [] RowTimes: [1000x1 datetime] StartTime: 04-Sep-2012 SampleRate: NaN TimeStep: NaN CustomProperties:未设置自定义属性。使用addprop和rmprop修改CustomProperties。
步骤3。计算基本数据统计,并填写缺失数据。
使用MATLAB总结
属性的基本统计信息时间表
数据。通过检查每个变量的摘要,可以确定缺失的值。然后你可以使用MATLABfillmissing
函数通过指定填充方法来填充时间表中缺失的数据。
summaryTMW =摘要(TMW);summaryTMW。关闭
ans =带字段的结构:大小:[1000 1]类型:“双”描述:“单位:”连续性:[]最小值:83.4200中位数:116.7500最大值:162.1100 NumMissing: 3
TMW =填充缺失(TMW,“线性”);summaryTMW =摘要(TMW);summaryTMW。关闭
ans =带字段的结构:大小:[1000 1]类型:“双”描述:“单位:”连续性:[]最小值:83.4200中位数:116.7050最大值:162.1100 NumMissing: 0
summaryTMW。时间
ans =带字段的结构:Size: [1000 1] Type: 'datetime' Min: 04- sept -2012 Median: 31- august -2014 Max: 24- august 2016 NumMissing: 0 TimeStep: NaN
步骤4。可视化数据。
要使时间表数据可视化,请使用财务图表函数,例如highlow
或movavg
.在这个例子中,移动平均线信息被绘制在相同的图表上highlow
提供一个完整的可视化。为了得到2014年的股票表现,使用MATLABtimerange
属性的行时间表
.要可视化一个技术指标,如移动平均收敛发散度(MACD),请传递时间表
对象放入macd
函数用于分析。
索引= timerange(datetime(' 01 - 1月- 2014,“场所”,“en_US”)、日期时间(2014年- 12月31日的,“场所”,“en_US”),“关闭”);highlow (TMW(指数:));持有在ema15 = movavg(TMW(:,“关闭”),“指数”15);ema25 = movavg(TMW(:,“关闭”),“指数”25);Ema15 = Ema15 (index,:);Ema25 = Ema25 (index,:);情节(ema15.Time ema15.Close,“r”);情节(ema25.Time ema25.Close,‘g’);持有从传奇(“价格”,“15天EMA”,“二十五天的教育津贴”)标题(“TMW的高低图”)
[macdLine, signalLine] = macd(TMW(:,“关闭”));情节(macdLine.Time macdLine.Close);持有在情节(signalLine.Time signalLine.Close);持有从标题(“TMW的MACD”)传说(“MACD线”,信号线的)
第5步。创建每周收益和波动系列。
要从每日股票价格计算每周收益,必须将数据频率从每日重新采样到每周。当处理时间表时,使用MATLAB函数调整时间
或同步
用各种聚合方法计算每周统计数据。若要将时间表数据调整为时间矢量基础,请使用调整时间
和使用同步
有多个时间表。
weeklyOpen = retime(TMW(:,“开放”),“周”,“firstvalue”);weeklyHigh = retime(TMW(:,“高”),“周”,“马克斯”);weeklyLow = retime(TMW(:,“低”),“周”,“最小值”);weeklyClose = retime(TMW(:,“关闭”),“周”,“lastvalue”);weeklyTMW = [weeklyOpen,weeklyHigh,weeklyLow,weeklyClose];weeklyTMW =同步(weeklyTMW,TMW(:,“体积”),“周”,“和”);头(weeklyTMW)
时间打开高低关闭Volume ___________ ______ ______ ______ ______ __________ 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 30-Sep-2012 93.55 98.03 92.25 97.35 3.179e+07 07- september -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
的项上执行计算时间表
,使用MATLABrowfun
函数将函数应用到每周频率时间表的每一行。
returnFunc = @(open,high,low,close,volume) log(close) - log(open);weeklyReturn = rowfun(returnFunc,weeklyTMW,“OutputVariableNames”, {“返回”});weeklyStd = retime(TMW(:,“关闭”),“周”, @std);weeklyStd.Properties.VariableNames {“关闭”} =“波动”;weeklyTMW = [weeklyReturn,weeklyStd,weeklyTMW]
weeklyTMW =208×7时间表时间收益波动率开盘高低收盘成交量___________ ___________ __________ ______ ______ ______ ______ __________ 02- september -2012 -0.004912 0.59386 100 102.38 98.45 99.51 2.7279e+07 09- september -2012 -0.022309 0.63563 99.72 101.55 96.52 97.52 2.8518e+07 16- september -2012 -0.037894 0.93927 97.35 97.52 92.6 93.73 2.9151e+07 23- september -2012 0.039817 2.0156 93.55 98.03 92.25 97.35 3.179e+07 07- september -2012 0.023965 1.1014 97.3 103.15 96.68 99.66 3.3761e+07 07- oct -2012 0.043833 1.3114 99.76 106.61 98.7 104.233.1299e+07 14-Oct-2012 -0.0073929 1.8097 104.54 109.75 100.55 103.77 3.1534e+07 21-Oct-2012 -0.063922 0.9815 97.45 94.73 1.9866e+07 04- 11- 2012 -0.00010566 1.224 94.65 96.1 90.82 94.64 3.5043e+07 11- 11- 2012 0.077244 2.4854 94.39 103.98 93.84 101.97 3.0624e+07 18- 11- 2012 0.022823 0.55896 102.23 105.27 101.24 104.59 2.5803e+07 02- 12 -2012 -0.0438010.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的型号
另请参阅
时间表
|调整时间
|同步
|timerange
|withtol
|vartype
|issorted
|sortrows
|独特的
|diff
|isregular
|rmmissing
|fillmissing