In my case, we have three variables - the underlying price, the strike price, and the datadate. When the program picks up the strike price that is nearest to the underlying price, I also need it to consider the datadate. Please see the attached document for a sample.
So basically, I need it to pick the nearest strike price within that given date.
For example, on 2011/1/16, the underlying price is 26.33. The closest strike price is 26.5.
On 2011/1/17, the underlying price is 26.11 and the closest strike price is 26.
If the underlying_price is a constant within a day, you can use a sort and data step to get the nearest strike price.
data sample_new;
set sample;
diff = abs(underlying_price - strike);
run;
proc sort data = sample_new;
by datadate diff;
run;
data nearest_price;
set sample_new;
by datadate diff;
if first.datadate;
run;
In my case, we have three variables - the underlying price, the strike price, and the datadate. When the program picks up the strike price that is nearest to the underlying price, I also need it to consider the datadate. Please see the attached document for a sample.
So basically, I need it to pick the nearest strike price within that given date.
For example, on 2011/1/16, the underlying price is 26.33. The closest strike price is 26.5.
On 2011/1/17, the underlying price is 26.11 and the closest strike price is 26.
If the underlying_price is a constant within a day, you can use a sort and data step to get the nearest strike price.
data sample_new;
set sample;
diff = abs(underlying_price - strike);
run;
proc sort data = sample_new;
by datadate diff;
run;
data nearest_price;
set sample_new;
by datadate diff;
if first.datadate;
run;
Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.
Explore Now →