Solved
Contributor
Posts: 29

# pick up nearest number from data set

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.

Accepted Solutions
Solution
‎03-15-2017 11:30 AM
SAS Super FREQ
Posts: 93

## Re: pick up nearest number from data set

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;
run;

data nearest_price;
set sample_new;
run;

All Replies
Contributor
Posts: 29

## pick up nearest number from data set

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.

Solution
‎03-15-2017 11:30 AM
SAS Super FREQ
Posts: 93

## Re: pick up nearest number from data set

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;
run;

data nearest_price;
set sample_new;