Problem 28.7

Define basic functions, including the cumulative normal distribution function, the formulae for (Subscript[d, 1]) and (Subscript[d, 2]), and the Black-Scholes formula for European call and put currency options.  xt is the number of units of domestic currency needed to buy one foreign currency unit.  K is in units of the domestic currency (as it is what you are paying in your currency for the foreign currency at expiration T).

In this problem, because the option is “at the money (ATM)”, we choose K = xt.

xt=.;T=.;t=.;
sigma=.;rdomestic=.; K=.;rforeign=.;
PPFC=.;
PPFK=.;

CNorm[d_]:=CDF[NormalDistribution[0,1],d];

PPFC = xt*Exp[-rforeign*(T-t)];

PPFK = K*Exp[-rdomestic*(T-t)];

d1=(Log[PPFC/PPFK]+0.5*sigma^2*(T-t))/(sigma*Sqrt[T-t]);

d2 = d1-sigma*Sqrt[T-t];

BSCall = PPFC*CNorm[d1]-PPFK*CNorm[d2];

BSPut = PPFK*CNorm[-d2]-PPFC*CNorm[-d1];

Compute price of a put and call on the underlying currency.

t=0;
K=1/1.25;
xt=1/1.25;
T=1;
rdomestic=0.05;
rforeign = 0.08;
sigma=.1;

OutputData = {{"(Subscript[(F^P), 0,1])(C)",PPFC},{"(Subscript[(F^P), 0,1])(K)",PPFK},{"(Subscript[d, 1])",d1},{"(Subscript[d, 2])",d2},{"N((Subscript[d, 1]))",CNorm[d1]},{"N((Subscript[d, 2]))",CNorm[d2]},{"N(-(Subscript[d, 1]))",CNorm[-d1]},{"N(-(Subscript[d, 2]))",CNorm[-d2]},{"Call Price (C^E)",BSCall},{"Put Price (P^E)",BSPut}};
Grid[OutputData,Alignment->{Left,{Right}},Spacings->{2,2},Frame->All,ItemStyle->{"Text",Bold}]