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?

2 views (last 30 days)
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?

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)

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!