GARKHPTPRC Function

Calculates put prices for European options on stocks, based on the Garman-Kohlhagen model.

Category:Financial
Returned data type:DOUBLE

Syntax

GARKHPTPRC(E, t, S, Rd, Rf, sigma)

Required Arguments

E

is a nonmissing, positive value that specifies the exercise price.

RequirementSpecify E and S in the same units.
Data typeDOUBLE

t

is a nonmissing value that specifies the time to maturity, in years.

Data typeDOUBLE

S

is a nonmissing, positive value that specifies the spot currency price.

RequirementSpecify S and E in the same units.
Data typeDOUBLE

Rd

is a nonmissing, positive fraction that specifies the risk-free domestic interest rate for period t.

RequirementSpecify a value for Rd for the same time period as the unit of t.
Data typeDOUBLE

Rf

is a nonmissing, positive fraction that specifies the risk-free foreign interest rate for period t.

RequirementSpecify a value for Rt for the same time period as the unit of t.
Data typeDOUBLE

sigma

is a nonmissing, positive fraction that specifies the volatility of the currency rate.

Data typeDOUBLE

Details

The GARKHPTPRC function calculates the put prices for European options on stocks, based on the Garman-Kohlhagen model. The function is based on the following relationship:

table with 1 row and 1 column , row1 column 1 , p u t , equals , c eh l l , minus s . open epsilon . table with 2 rows and 1 column , row1 column 1 , negative , r sub f to the t end sub , end table . close . plus e . open epsilon . table with 2 rows and 1 column , row1 column 1 , negative , r sub d to the t end sub , end table . close , end table. Click image for alternative formats.

Arguments

S

specifies the spot currency price.

E

specifies the exercise price of the option.

t

specifies the time to expiration, in years.

Rd

specifies the risk-free domestic interest rate for period t.

Rf

specifies the risk-free foreign interest rate for period t.

table with 2 rows and 2 columns , row1 column 1 , d sub 1 , equals , column 2 fraction open natural log of . open , s over e , close . plus . open , r sub d , minus , r sub f , plus , fraction sigma squared , over 2 end fraction , close . t close , over sigma square root of t end fraction , row2 column 1 , d sub 2 , equals , column 2 d sub 1 , minus sigma square root of t , end table. Click image for alternative formats.

The following arguments apply to the preceding equation:

sigma. Click image for alternative formats.

specifies the volatility of the underlying asset.

sigma squared. Click image for alternative formats.

specifies the variance of the rate of return.

For the special case of t=0, the following equation is true:

table with 1 row and 1 column , row1 column 1 , p u t , equals mehx of . open . open e minus s close . comma 0 close , end table. Click image for alternative formats.

For information about the basics of pricing, see Using Pricing Functions in SAS Functions and CALL Routines: Reference.

Comparisons

The GARKHPTPRC function calculates the put prices for European options on stocks, based on the Garman-Kohlhagen model. The GARKHCLPRC function calculates the call prices for European options on stocks, based on the Garman-Kohlhagen model. These functions return a scalar value.

Example

The following program illustrates the GARKHPTPRC function:

Note: In this example, DS2 statements are sent to SAS using PROC DS2.
proc ds2;
data _null_;
   method run();
      a=garkhptprc(50, .7, 55, .05, .04, .2);
      b=garkhptprc(32, .3, 33, .05, .03, .3);
      put a=;
      put b=;
   end;
enddata;
run;
quit;

SAS writes the following output to the log.

1.4050880944848
1.56473205137371

See Also

Last updated: September 2, 2026