How do I separate month, day of the week, and hour of the day for each row of a csv time series file so that I can do a factor analysis for month, day, hour?

3 views (last 30 days)
Robert Henson
Robert Henson on 19 Oct 2017
Commented: Peter Perkins on 22 Oct 2017
How do I separate month, day of the week, and hour of the day for each row of a csv time series file so that I can do a factor analysis for month, day, hour? I'm trying to determine the best time to enter/exit FX trades by day and hour of the day, but I'm not sure how to format the data file. Can you help me?
  1 Comment
the cyclist
the cyclist on 19 Oct 2017
Please don't make us guess at what your data looks like, when it is so easy to upload a sample. Make it easy for us to help you.

Sign in to comment.

Accepted Answer

KL
KL on 19 Oct 2017
Edited: KL on 19 Oct 2017
Use a timetable!
Import your csv file as table and then create a timetable from it .Then you can do whatever you want to do with it, like monthly mean, yearly sum, etc. For example,
data_table = readtable('yourfile.csv');
data_timetable = table2timetable(data_table);
and then you could use retime
hourly_mean_table = retime(data_timetable,'hourly','mean')
  2 Comments
Peter Perkins
Peter Perkins on 22 Oct 2017
In addition to using retime to compute per-period summaries, if you want to "do a factor analysis for month, day, hour", you may also want to add new variables in that timetable, something like
data_timetable.Month = month(data_timetable.Time)
data_timetable.DayOfWeek = day(data_timetable.Time,'dayofweek')
etc.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!