price2ret
转换价格回报
描述
返回不断加剧的表或时间表返回系列ReturnTbl
= price2ret (PriceTbl
)ReturnTbl
每个变量的价格系列的表或时间表PriceTbl
。选择不同的变量资源描述
的计算回报,使用DataVariables
名称-值参数。
例子
计算返回系列从价格系列的矢量数据
加载Schwert股票数据集Data_SchwertStock.mat
,其中包含每天的价格标普指数从1930年到2008年,在其他变量(输入描述
更多的细节)。
负载Data_SchwertStocknumObs =身高(DataTableDly)
numObs = 20838
日期= datetime (datesDly ConvertFrom =“datenum”);
标普系列价格转换为回报。
价格= DataTableDly.SP;回报= price2ret(价格);
返回
20837 - 1的向量的日常标准普尔收益不断加剧。
r9机型=回报(9)
r9机型= 0.0033
p9_10 =(价格(9)价格(10))
p9_10 =1×221.4500 - 21.5200
返回(9)= 0.0033
每日返回的价格区间[21.45,21.52]。
情节(日期、DataTableDly.SP) ylabel (“价格”)yyaxis正确的情节(日期(1:end-1),返回)ylabel (“回归”)标题(“标普指数价格和回报”)
计算简单的周期性返回系列从表的价格系列
表中的价格系列转换为简单的周期性返回系列。
载入美国股票指数的数据集,其中包含表数据表
每天的收盘价的纽交所和纳斯达克综合指数从1990年到2011年。
负载Data_EquityIdx
从表中创建一个时间表。
日期= datetime(日期、ConvertFrom =“datenum”);TT = table2timetable (DataTable, RowTimes =日期);numObs =身高(TT);
纳斯达克和纽约证券交易所的价格转换成简单的周期性和不断加剧的回报。
varnames = [“纳斯达克”“纽约”];DataVariables = varnames TTRetC = price2ret (TT);TTRetP = price2ret (TT, DataVariables = varnames方法=“周期”);
因为TT
是一个时间表,TTRetC
和TTRetP
时间表。
情节返回系列相应的价格过去50观察。
idx = ((numObs - 1) - 51): (numObs - 1);图绘制(日期(idx + 1), TT。纽交所(idx + 1)标题(“纽约证交所指数价格和回报”)ylabel (“价格”)yyaxis正确的h =情节(日期(idx), [TTRetC.NYSE (idx) TTRetP.NYSE (idx)]);h (2)。标志=“o”;h (2)。颜色=“k”;ylabel (“回归”)传说([“价格”“连续”“周期”),位置=“西北”)轴紧
图绘制(日期(idx + 1), TT。纳斯达克(idx + 1)标题(“纳斯达克指数价格和回报”)ylabel (“价格”)yyaxis正确的h =情节(日期(idx), [TTRetC.NASDAQ (idx) TTRetP.NASDAQ (idx)]);h (2)。标志=“o”;h (2)。颜色=“k”;ylabel (“回归”)传说([“价格”“连续”“周期”),位置=“西北”)轴紧
在这种情况下,简单的周期和连续计算返回的每个系列的价格是相似的。
指定观察时间和单位
创建两个股票价格系列不断加剧的回报,有以下特点:
系列1生长以10%的速度在每个观测时间。
系列2的变化以随机均匀的速度在区间[-0.1,0.1]每个观测时间。
每个系列始于价格100和10个观测长度。
rng (1);%的再现性numObs = 10;p1 = 100;r1 = 0.10;r2 = [0;unifrnd (-0.10, 0.10, numObs - 1, 1)];s1 = 100 * exp (r1 * (0: (numObs - 1)));cr2 = cumsum (r2);s2 = 100 * exp (cr2);S = (s1 s2);
每个系列的价格转换为一个返回系列,并返回观察间隔。
(R,间隔)= price2ret(年代);
前置返回系列,输入和输出元素是相同的长度和对应。
[[南;间隔]的[[南南);R) r2)
ans =10×6南南南0 1.0000 110.5171 98.3541 100.0000 100.0000 0.1000 -0.0166 -0.0166 1.0000 122.1403 102.7850 0.1000 0.0441 0.0441 1.0000 134.9859 93.0058 0.1000 -0.1000 -0.1000 1.0000 149.1825 89.4007 0.1000 -0.0395 -0.0395 1.0000 164.8721 83.3026 0.1000 -0.0706 -0.0706 1.0000 182.2119 76.7803 0.1000 -0.0815 -0.0815 1.0000 201.3753 72.1105 0.1000 -0.0627 -0.0627 1.0000 222.5541 69.9172 0.1000 -0.0309 -0.0309 1.0000 245.9603 68.4885 0.1000 -0.0206 -0.0206
price2ret
从模拟系列回报利率匹配率。price2ret
假定价格记录在常规时间基础。因此,所有价格之间的持续时间1
。
把价格再次返回,但从8月1日开始,将价格与年2010。
tau1 = datetime(2010、08年01);日期= tau1 +年((0:(numObs-1)));[,intervalsy] = price2ret(年代,蜱虫=日期);[[南;intervalsy]的[[南南);一)r2)
ans =10×6南南南0 365.2425 110.5171 98.3541 100.0000 100.0000 0.0003 -0.0000 -0.0166 365.2425 122.1403 102.7850 0.0003 0.0001 0.0441 365.2425 134.9859 93.0058 0.0003 -0.0003 -0.1000 365.2425 149.1825 89.4007 0.0003 -0.0001 -0.0395 365.2425 164.8721 83.3026 0.0003 -0.0002 -0.0706 365.2425 182.2119 76.7803 0.0003 -0.0002 -0.0815 365.2425 201.3753 72.1105 0.0003 -0.0002 -0.0627 365.2425 222.5541 69.9172 0.0003 -0.0001 -0.0309 365.2425 245.9603 68.4885 0.0003 -0.0001 -0.0206
price2ret假定时间单位是天。因此,所有时间是大约365,回报是归一化的时间单位。
再次计算回报,但指定的观察时间。
[Ryy, intervalsyy] = price2ret(年代,蜱虫=日期、单位=“年”);[[南;intervalsyy]的[[南南);Ryy) r2)
ans =10×6南南南0 1.0000 110.5171 98.3541 100.0000 100.0000 0.1000 -0.0166 -0.0166 1.0000 122.1403 102.7850 0.1000 0.0441 0.0441 1.0000 134.9859 93.0058 0.1000 -0.1000 -0.1000 1.0000 149.1825 89.4007 0.1000 -0.0395 -0.0395 1.0000 164.8721 83.3026 0.1000 -0.0706 -0.0706 1.0000 182.2119 76.7803 0.1000 -0.0815 -0.0815 1.0000 201.3753 72.1105 0.1000 -0.0627 -0.0627 1.0000 222.5541 69.9172 0.1000 -0.0309 -0.0309 1.0000 245.9603 68.4885 0.1000 -0.0206 -0.0206
price2ret
可实现回报相对于年,现在返回率匹配模拟利率。
输入参数
价格
- - - - - -时间序列的价格
数字矩阵
时间序列的价格,指定为一个numObs
——- - - - - -numVars
数字矩阵。每一行的价格
对应于一个指定的观察时间可选的蜱虫
名称-值参数。每一列的价格
对应于一个单独的价格系列。
数据类型:双
PriceTbl
- - - - - -时间序列的价格
表|时间表
时间序列的价格,指定为一个表或时间表numObs
行。每一行的资源描述
是一个观察时间。表,可选的蜱虫
名称-值参数指定了观察时间。对于一个时间表,PriceTbl.Time
指定观察时间,它必须是一个datetime向量。
指定numVars
的变量,计算回报,通过使用DataVariables
论点。所选变量必须是一个数字。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:price2ret(资源、方法=“周期”,DataVariables = 1:5)
计算前五个变量的简单的周期性返回在输入表中资源描述
。
蜱虫
- - - - - -观察时间τ
数值向量|datetime向量
观察时间τ,指定长度numObs
数字或日期时间向量增加价值。
当输入价格系列矩阵或表格,默认1:numObs
。
当输入价格系列的时间表,price2ret
使用行乘以PriceTbl.Time
而忽略蜱虫
。PriceTbl.Time
必须是一个datetime向量。
例子:蜱虫= datetime (1950:2020 12 31)
指定每年从1950年到2020年年底。
例子:蜱虫= datetime (1950、03、31): calquarters (1): datetime (2020、12、31)
指定每个季度末,在1950年到2020年。
数据类型:双
|datetime
单位
- - - - - -时间单位
“天”
(默认)|“毫秒”
|“秒”
|“分钟”
|“小时”
|“年”
|特征向量
时间单位观察时使用蜱虫
日期时间,指定一个值在这个表。
价值 | 描述 |
---|---|
“毫秒” |
毫秒 |
“秒” |
秒 |
“分钟” |
分钟 |
“小时” |
小时 |
“天” |
天 |
“年” |
年 |
price2ret
需要时间单位转换时间间隔为正常化返回数值。
当的值蜱虫
名称-值参数是一个数值向量,price2ret
忽略的价值单位
。
例子:单位= "年"
数据类型:字符
|字符串
方法
- - - - - -复合方法
“连续”
(默认)|“周期”
|特征向量
复利计算方法,在此表指定为一个值。
价值 | 描述 |
---|---|
“连续” |
计算不断加剧的回报 |
“周期” |
计算简单的周期性返回 |
例子:方法=“周期”
数据类型:字符
|字符串
DataVariables
- - - - - -变量PriceTbl
所有的变量(默认)|字符串向量|细胞特征向量的向量|向量的整数|逻辑向量
变量PriceTbl
,price2ret
计算回报,指定为一个字符串向量或细胞特征向量的向量包含变量名称PriceTbl.Properties.VariableNames
,或者一个整数或逻辑向量代表的指标名称。所选变量必须是一个数字。
例子:DataVariables = (“GDP”“CPI”)
例子:DataVariables =(真真假假)
或DataVariables = [1 - 2]
选择第一个表和第二个表变量。
数据类型:双
|逻辑
|字符
|细胞
|字符串
输出参数
版本历史
之前介绍过的R2006aR2022a:price2ret
金宝app支持所有可选输入名称参数语法
price2ret
接受了观察时间
和复合方法ticktimes
名称-值的参数方法
蜱虫
和方法
,分别。然而,函数将继续接受以前的语法。
语法R2022a之前
price2ret(价格,ticktimes,方法)
推荐的语法R2022a和以后的版本
price2ret(价格,蜱虫=ticktimes方法=方法)
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。