how can I delete a full row based on a if condition?

조회 수: 6 (최근 30일)
Locks
Locks 2013년 3월 10일
for example if I have a matrix with call (1) and putoption (2) data and I would like to have only the calloption data. Iwas thinking maybe I could run a for condition and create a new matrix just using the call data, is that possible?

채택된 답변

Walter Roberson
Walter Roberson 2013년 3월 10일
Yes, that is one option. Another is (e.g.)
idx = (profit < 0);
funds(idx,:) = [];
  댓글 수: 1
Locks
Locks 2013년 3월 10일
I am still not sure how does should work. For example, I have the following matrix: 1270.35 1110 2 0.5250 0.052 734506 0.0026425 1270.35 1115 2 0.5500 0.052 734506 0.0026425 1270.35 1120 2 0.5750 0.052 734506 0.0026425 1270.35 1125 2 0.600 0.052 734506 0.0026425 1270.35 1130 2 0.700 0.052 734506 0.0026425 1270.35 1135 2 0.8500 0.052 734506 0.0026425 1270.35 1165 1 107 0.052 0.0026 0.0026425
an so on
first column: future price 2nd column: strike 3rd: 2=put, 1=call 4th: option price 5th: time to maturity 6th: date 7th: interest rate
the total matrix consist of 150'000 columns of call and put optiondata, how can I create a matrix out of this with just the data of the put options? and how can I create another one with just the call option data?
thanks for your help!

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

추가 답변 (3개)

Locks
Locks 2013년 3월 10일
편집: Walter Roberson 2013년 3월 10일
I am still not sure how does should work. For example, I have the following matrix:
1270.35 1110 2 0.5250 0.052 734506 0.0026425
1270.35 1115 2 0.5500 0.052 734506 0.0026425
1270.35 1120 2 0.5750 0.052 734506 0.0026425
1270.35 1125 2 0.600 0.052 734506 0.0026425
1270.35 1130 2 0.700 0.052 734506 0.0026425
1270.35 1135 2 0.8500 0.052 734506 0.0026425
1270.35 1165 1 107 0.052 0.0026 0.0026425
an so on
first column: future price 2nd column: strike 3rd: 2=put, 1=call 4th: option price 5th: time to maturity 6th: date 7th: interest rate
the total matrix consist of 150'000 columns of call and put optiondata, how can I create a matrix out of this with just the data of the put options? and how can I create another one with just the call option data?
thanks for your help!

Cedric
Cedric 2013년 3월 10일
편집: Cedric 2013년 3월 10일
If your data is stored in a 150000x7 matrix D, you can build D_call and D_put as follows:
D_call = D(D(:,3)==1,:) ;
D_put = D(D(:,3)==2,:) ;

Locks
Locks 2013년 3월 10일
great, thats working! thank you very much
  댓글 수: 3
Jan
Jan 2013년 3월 18일
@Sven: You do not have to accept an answer, but it would be helpful for the readers and for the author of the answer. So please take the time to accept an answer, such that this question is marked as "solved".
Cedric
Cedric 2013년 3월 18일
Thank you Azzi and Jan; I stopped making this kind of remarks, but I should have gone on. I appreciate that you took the time to do it!

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

카테고리

Help CenterFile Exchange에서 Language Fundamentals에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by