主要内容

在金融中使用时间表

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

步骤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.创建时间表。

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

使用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.Description =模拟股票数据。;TMW。属性
ans = TimetableProperties with properties:说明:“模拟股票数据。”UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Open' ' 'High' ' 'Low' 'Close' ' 'Volume'} VariableDescriptions: {} VariableUnits: {} variablecontinity: [] RowTimes: [1000x1 datetime] StartTime: 04- 9月2012 SampleRate: NaN TimeStep: NaN CustomProperties:未设置自定义属性。使用addprop和rmprop修改CustomProperties。

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

使用MATLAB总结查看基本统计的功能时间表数据。通过查看每个变量的摘要,您可以确定缺失的值。然后可以使用MATLABfillmissing函数通过指定填充方法来填充时间表中缺失的数据。

summaryTMW =总结(TMW);summaryTmw.Close.
ans =结构与字段:Size: [1000 1] Type: 'double' Description: " Units: " Continuity: [] Min: 83.4200 Median: 116.7500 Max: 162.1100 NumMissing: 3
tmw = fillmissing(tmw,“线性”);summaryTMW =总结(TMW);summaryTmw.Close.
ans =结构与字段:尺寸:[1000 1]类型:“双”描述:“单位:”连续性:[]Min: 83.4200中位数: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提供一个完整的可视化。要获得2014年的股票表现,使用MATLAB时间范围选择行的函数时间表.要可视化技术指标,如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的最低值图”

图包含轴。具有TMW标题的轴为TMW包含3个类型的线路。这些物品代表价格,15天EMA,25天EMA。

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

图包含轴。带有TMW标题MACD的轴包含2个类型的线。这些对象表示MACD线路信号线。

第5步。创建一个每周收益和波动率系列。

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

Weeklyopen = Retime(TMW(:,“开放”),'每周''FirstValue');weeklyHigh =调整时间(TMW (:,“高”),'每周''最大限度');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⋮

另请参阅

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

相关话题