Hi,
I have table with stocks. Now I would like to sort them into subsets according to their size. My goal is to create the 5 subsets according to their size, with each of them holding 20% of the stocks. Unfortunatley I don't know how to do it. The size is the market capitalization. The dataset is attached to the question.
ID is stands for the diffrent stocks
years are the oberved years (1962-2016)
sumMC is the market capitalization of each stock in every year.
Does someone know how to do it?
Thank you in advance

댓글 수: 4

Walter Roberson
Walter Roberson 2021년 4월 25일
What is the way you decide which stock goes into which subset?
Luca
Luca 2021년 4월 25일
I want to sort them according the market capitalisation. So one subset holds the 20% biggest stocks. The second 21%-40% biggest stocks and so on
Image Analyst
Image Analyst 2021년 4월 25일
So what was wrong with the code I posted below? I have about 1/5 of all companies in each groups. Did you want 1/5 or the dollar amount (instead of 1/5 the number of companies) in each group? Please be clear.
Luca
Luca 2021년 4월 25일
Sorry I didn't get anround to test it as I was answering his question. It works perfectly thank you very much.

댓글을 달려면 로그인하십시오.

 채택된 답변

Image Analyst
Image Analyst 2021년 4월 25일

0 개 추천

Just use sort and linear indexing
sortedCaps = sort(marketCap, 'Ascend');
stocksPerGroup = length(sortedCaps) / 5;
% Extract stocks into group #1.
firstIndex = 1;
lastIndex = round(stocksPerGroup);
group1 = sortedCaps(firstIndex : lastIndex);
% Extract stocks into group #2.
firstIndex = lastIndex + 1;
lastIndex = round(2 * stocksPerGroup);
group2 = sortedCaps(firstIndex : lastIndex);
% Extract stocks into group #3.
firstIndex = lastIndex + 1;
lastIndex = round(3 * stocksPerGroup);
group3 = sortedCaps(firstIndex : lastIndex);
% Extract stocks into group #4.
firstIndex = lastIndex + 1;
lastIndex = round(4 * stocksPerGroup);
group4 = sortedCaps(firstIndex : lastIndex);
% Extract stocks into group #5.
firstIndex = lastIndex + 1;
lastIndex = length(sortedCaps);
group5 = sortedCaps(firstIndex : lastIndex);

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

제품

릴리스

R2021a

질문:

2021년 4월 25일

댓글:

2021년 4월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by