Sorting return by dates

2 views (last 30 days)
King To Leung
King To Leung on 29 Jul 2022
Commented: King To Leung on 30 Jul 2022
I would like to sort the average return of each year. I have a data base of stock returns from 1992-2021. I would like to know the average stock return of each year.
How should I code this? Should i set a date range? I know there is a sort function to place the years in ascending orders. However, it is unable to help me to calculate the return of a specific year.
Also, the dates are in matlab form, like ,727594, which requires datevec function to look at the dates. Does it affect the coding part?
or this task can be think as adding up the return and find the average return of stocks in the same year.
I have totally no idea how to do this, please help me with this. Thank you very much

Answers (2)

Walter Roberson
Walter Roberson on 29 Jul 2022
[Y, ~] = datevec(TheDateNumbers) ;
G = findgroups(Y) ;
results = grpstats(YourData, G, "mean");
If you want the return per stock then stock identification should be also be passed to findgroups.
  1 Comment
King To Leung
King To Leung on 29 Jul 2022
Hi, Thank you for your answer.
I'm sorry that I don't really understand how the codes work. How can I get the mean return of each year from 1992-2021.
What should I enter in "TheDateNumbers"?As there are a lot of dates.

Sign in to comment.

Dyuman Joshi
Dyuman Joshi on 29 Jul 2022
Edited: Dyuman Joshi on 29 Jul 2022
%to get the year of a date
[year,~,~] = datevec(727594)
year = 1992
%storing the years in y (months and dates are not necessary)
%dates are stored in the 2nd column
[y,~,~] = datevec(data_crsp(:,2));
%calculating mean stock return for each year, return is in the 7th column
for k=1992:2021
stockreturn(k-1991) = mean(data_crsp(y==k,7));
%1st element will correspond to 1992, 2nd - 1993 and so on
King To Leung
King To Leung on 30 Jul 2022
I tried to attach the matlab data, but the system says it's over 5MB

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by