主要内容

使用金融时刻表

此示例显示如何使用时间表以模拟日常股票数据可视化和计算每周统计信息。

步骤1。加载数据。

此示例的数据位于Mat文件中SimulatedStock.mat,加载以下内容:

  • 与关闭股票价格相对应的日期,tmw_dates.

  • 开户股价,tmw_open.

  • 每日高度股票价格,tmw_high.

  • 每日股票价格低,TMW_LOW

  • 关闭股票价格,TMW_CLOSE, TMW_CLOSE_MISSING

  • 每日交易量,TMW_VOLUME

  • 表中的数据,tmw_tb.

加载SimulatedStock.matTMW_ *

步骤2。创建时间表。

在时间表中,您可以使用财务时间序列而不是与向量合作。使用时时间表,您可以轻松跟踪日期。您可以根据日期操纵数据系列,因为时间表对象跟踪时间序列的管理。

使用MATLAB®时间表功能创建一个时间表目的。或者,您可以使用MATLAB转换功能table2timesable.把表格转换成时间表。在这个例子中,时间表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.description =.'模拟股票数据。;tmw.properties.
ANS = TimetableProperties具有属性:描述:'模拟股票数据。UserData:[] Dimensionnames:{'time''} variablenames:{'开放''高''低''关闭''volume'} VariabledEscriptions:{}变量:{} variablecontizity:{} variablecontike:[] Rowimes:[1000x1 DateTime] starttime:04-2012 Samplere:NaN TimeStep:nan customproperties:没有设置自定义属性。使用addprop和rmprop修改customproperties。

步骤3。计算基础数据统计,填补缺失数据。

使用matlab.概括命令功能查看设备的基本统计信息时间表数据。通过查看每个变量的摘要,您可以识别缺失的值。然后你可以使用matlab填充通过指定填充方法填充时间表中缺少数据的功能。

summaryTMW =总结(TMW);summaryTmw.Close.
ans =.结构体字段:尺寸:[1000 1]类型:'双'描述:''单位:''''''''min:83.4200中位数:116.7500 MAX:162.1100 NUMMISING:3
TMW = fillmissing (TMW,'线性');summaryTMW =总结(TMW);summaryTmw.Close.
ans =.结构体字段:尺寸:[1000 1]类型:'双'描述:'单位:''''''''''min:83.4200中位数:116.7050 MAX:162.1100 NUMMISING:0
summaryTMW.Time
ans =.结构体字段:Size:[1000 1]类型:'datetime' Min: 04- september 2012 Median: 31- aug 2014 Max: 24- aug 2016 NumMissing: 0 TimeStep: NaN

步骤4。可视化数据。

为了可视化时间表数据,使用财务图表等功能前高后低movavg。对于此示例,移动平均信息绘制在相同的图表上前高后低提供完整的可视化。要在2014年获得股票表现,请使用MATLABtimerange函数来选择行时间表。为了可视化技术指标,例如移动平均会聚发散(MACD),通过时间表对象进MACD.用于分析的功能。

指数= timerange (datetime ('01 -Jan-2014''locale''en_us')、日期时间('31 -dec-2014''locale''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”“二十五天的教育津贴”)标题('the t tmw'

[macdLine, signalLine] = macd(TMW(:,“关闭”));绘图(MacDline.time,MacDline.Close);抓住情节(signalLine.Time signalLine.Close);抓住标题(“TMW MACD”) 传奇(“MACD线”信号线的

步骤5.创建每周返回和波动性系列。

要计算每日股价的每周返回,您必须将数据频率从每天重新采样到每周。使用时间表时,使用MATLAB函数调整时间同步用各种聚合方法计算每周统计数据。要将时间表数据调整为时间矢量的基础,请使用调整时间和使用同步有多个时间表。

weeklyOpen =调整时间(TMW (:,'打开'),“周”“firstvalue”);每周高= RETIME(TMW(:,'高的'),“周”“马克斯”);weeklyLow =调整时间(TMW (:,'低的'),“周”'min');WeeklyClose = Retime(TMW(:,“关闭”),“周”“lastvalue”);Weeklytmw = [Weeklyopen,每周,每周,每周,每周闭合];WeeklyTMW =同步(周数,TMW(:,'体积'),“周”“和”);头(weeklyTMW)
ans =8×5时间表时间打开高低关闭体积  ___________ ______ ______ ______ ______ __________ 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

在A中对条目进行计算时间表,使用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 - 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.233.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 -0.043801 e + 07年02 - 12月- 20120.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⋮

也可以看看

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

相关的话题