使用时间表在金融领域
使用时间表来可视化模拟和计算每周统计数据每日股票数据。
步骤1。加载数据。
这个例子是MAT-file的数据SimulatedStock.mat
下列哪加载:
日期对应关闭股票价格,
TMW_DATES
期初存货的价格,
TMW_OPEN
每天的股票价格,
TMW_HIGH
每天的股票价格较低,
TMW_LOW
关闭股票价格,
TMW_CLOSE, TMW_CLOSE_MISSING
每日交易,
TMW_VOLUME
一个表中的数据,
TMW_TB
负载SimulatedStock.matTMW_ *
步骤2。创建时间表。
在时间表中,您可以使用金融时间序列而不是向量。当使用一个时间表
,您可以轻松地跟踪日期。你可以操作数据系列基于日期,因为时间表
时间序列的对象跟踪管理。
使用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属性:描述:“模拟股票数据。“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“开放”“高”“低”“关闭”“体积”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: x1 datetime[1000]开始时间:04 - 9 - 2012 SampleRate:南步伐:南事件:[]CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。
步骤3。计算基本数据统计,填补缺失的数据。
使用MATLAB总结
功能视图的基本统计数据时间表
数据。通过回顾总结为每个变量,您可以识别丢失的值。然后,您可以使用MATLABfillmissing
函数来填充缺失数据在一个时间表通过指定填充方法。
summaryTMW =总结(TMW);summaryTMW.Close
ans =结构体字段:大小:1[1000]类型:“双”描述:单位:“连续性:[]分钟:83.4200中值:116.7500马克斯:162.1100 NumMissing: 3
TMW = fillmissing (TMW,“线性”);summaryTMW =总结(TMW);summaryTMW.Close
ans =结构体字段:大小:1[1000]类型:“双”描述:单位:“连续性:[]分钟:83.4200中值:116.7050马克斯:162.1100 NumMissing: 0
summaryTMW.Time
ans =结构体字段:大小(1000 1):类型:datetime的分钟:04 - sep - 2012中位数:2014年- 8月31日马克斯:24 - 8月2016 NumMissing: 0步伐:南
步骤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(指数);ema25 = ema25(指数);情节(ema15.Time ema15.Close,“r”);情节(ema25.Time ema25.Close,‘g’);持有从传奇(“价格”,“15天EMA”,“二十五天的教育津贴”)标题(“TMW Highlow阴谋”)
[macdLine, signalLine] = macd (TMW (:,“关闭”));情节(macdLine.Time macdLine.Close);持有在情节(signalLine.Time signalLine.Close);持有从标题(“TMW MACD”)传说(“MACD线”,信号线的)
第5步。创建一个每周回报和波动性系列。
从每天的股票价格计算每周回报,你必须重新取样频率从每日,每周的数据。使用时间表时,使用MATLAB函数调整时间
或同步
与各种聚合方法计算每周统计数据。调整时间表数据时间矢量的基础上,使用调整时间
和使用同步
与多个时间表。
weeklyOpen =调整时间(TMW (:,“开放”),“周”,“firstvalue”);weeklyHigh =调整时间(TMW (:,“高”),“周”,“马克斯”);weeklyLow =调整时间(TMW (:,“低”),“周”,“最小值”);weeklyClose =调整时间(TMW (:,“关闭”),“周”,“lastvalue”);weeklyTMW = [weeklyOpen weeklyHigh、weeklyLow weeklyClose);weeklyTMW =同步(weeklyTMW TMW (:,“体积”),“周”,“和”);头(weeklyTMW)
时间打开高低关闭音量___________交交__________ 02 - 9 - 2012 100 102.38 98.45 99.51 2.7279 e + 07年09 - 9 - 2012 99.72 101.55 96.52 97.52 2.8518 e + 07年16 - 9 - 2012 97.35 97.52 92.6 93.73 2.9151 e + 07 23 - 9 - 2012 93.55 98.03 92.25 97.35 3.179 e + 30 - 9月- 07年2012 97.3 103.15 96.68 99.66 3.3761 e + 07年07 - 10月- 2012 99.76 106.61 98.7 104.23 3.1299 e + 07年10月14 - 104.54 109.75 100.55 103.77 3.1534 - 2012 e + 07年10月21 - - 2012 103.84 104.32 96.95 97.41 3.1706 e + 7
对条目进行计算时间表
,使用MATLABrowfun
函数将一个函数应用到每一行的每周频率时间表。
returnFunc = @(开放,高,低,接近,卷)日志(关闭)——日志(开放);weeklyReturn = rowfun (returnFunc weeklyTMW,“OutputVariableNames”,{“返回”});weeklyStd =调整时间(TMW (:,“关闭”),“周”,@std);weeklyStd.Properties.VariableNames {“关闭”}=“波动”;weeklyTMW = [weeklyReturn、weeklyStd weeklyTMW]
weeklyTMW =208×7时间表波动时间返回打开关闭音量低___________ ___________ __________交交__________ 02 - 100年9月- 2012 -0.004912 0.59386 102.38 98.45 99.51 2.7279 e + 07年09 - 9 - 2012 -0.022309 0.63563 99.72 101.55 96.52 97.52 2.8518 e + 07年16 - 9 - 2012 -0.037894 0.93927 97.35 97.52 92.6 93.73 2.9151 e + 07 23 - 9 - 2012 0.039817 2.0156 93.55 98.03 92.25 97.35 3.179 e + 07 30 - 9 - 2012 0.023965 1.1014 97.3 103.15 96.68 99.66 3.3761 e + 07年07 - 10月- 2012 0.043833 1.3114 99.76 106.61 98.7 104.23 3.1299 e + 07年10月14 - - 2012 -0.0073929 1.8097 104.54 109.75 100.55 103.77 3.1534 e + 07年10月21 - - 2012 -0.063922 2.1603 103.84 104.32 96.95 97.41 3.1706 e + 07年10月28 - - 2012 -0.028309 0.9815 97.45 99.1 92.58 94.73 1.9866 e + 07年04 - 11月- 2012 -0.00010566 1.224 94.65 96.1 90.82 94.64 3.5043 e + 07年11 - 11月- 2012 0.077244 2.4854 94.39 103.98 93.84 101.97 3.0624 e + 07年11月18 - - 2012 0.022823 0.55896 102.23 105.27 101.24 104.59 2.5803 e + 25 - 11月- 07年2012 -0.012789 1.337 104.66 106.02 100.85 103.33 3.1402 e + 07年02 - 12月- 2012 -0.043801 0.2783 103.37 103.37 97.69 98.94 3.2136 e + 07年09 - 12月- 2012 -0.063475 1.9826 99.02 99.09 91.34 92.93 3.4447 e + 07年16 - 12月- 2012 0.0025787 1.2789 92.95 94.2 88.58 93.19 3.3247 e + 07⋮
另请参阅
时间表
|调整时间
|同步
|timerange
|withtol
|vartype
|issorted
|sortrows
|独特的
|diff
|isregular
|rmmissing
|fillmissing