HHmy4477 2022-04-16 00:49 采纳率: 100%
浏览 130
已结题

怎么在matlab中计算星期一到星期五每天的沪深300收益率

做题,题目给了2011-2021年内的全部沪深300指数,让计算沪深300指数在星期一、星期二、……星期五的平均收益率,但是我把这期间每天的收益率计算出来之后,下一步就不知道怎么进行了,因为得到的收益率是
“Fri 0.00383264415811819
Thu 0.00778758116854529
Wed -0.0146256094979213
Tue 0.00744830010986469
Mon -0.000410680421931005
Fri -0.00553555169378607
Thu 0.00697625762892418
Wed 0.000197232705672285
Tue 0.00677554696239326
Mon -0.0150041781035646
……”
这样竖着排列的,不知道怎么进行平均收益率的计算,非常苦恼。
下面是自己写的代码:
data1=readtable('399300.csv');%读取数据
class(data1)
data1.Properties.VariableNames={'Date','Code','Name','Close','Maxpr','Minpr','Open','Close1','ZDE','ZDF','Volume','Turnover'};%修改第一行指标名称
Close1=data1.Close1;%提取前一天的收盘价
ZDE=data1.ZDE;%提取涨跌幅
SYL=ZDE./Close1;%计算收益率
Date=data1.Date;%提取日期
[Daynumber,Dayname]=weekday(Date,'short','en_US');%计算每个日期对应星期几
Data=table(Dayname,SYL); %将星期名称和对应的每天的收益率写入一个table

曾尝试把第一行对应“Fri”的数据提取出来,像提取table中的列一样,但是不可行。除此之外想不到其他办法了。

  • 写回答

1条回答 默认 最新

  • czy1219 2022-04-16 07:21
    关注

    可以从日期那个矩阵入手,因为转化后的星期没有辨识性!思路如下:先建立五个数组用来存放星期一到星期五的收益率,然后遍历日期数组,计算当前遍历日期是星期几,再进行判断,如果是星期一就存放在星期一收益率的数组,以此类推,遍历完就可以得到各星期几的收益率数组了,再求平均值即可!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月25日
  • 已采纳回答 4月17日
  • 创建了问题 4月16日

悬赏问题

  • ¥15 电脑开机过商标后就直接这样,求解各位
  • ¥15 mysql , 用自己创建的本地主机和用户名 登录不上
  • ¥15 关于#web项目#的问题,请各位专家解答!
  • ¥15 vmtools环境不正常
  • ¥15 请问如何在Ubuntu系统中安装使用microsoft R open?
  • ¥15 jupyter notebook
  • ¥30 informer时间序列预测
  • ¥20 SSR引物多态性分析
  • ¥15 大漠插件在Win11易语言注册调用和免注册灵异事件,VS上注册调用完全没问题
  • ¥15 Addressable缓存机制做热更新的问题