In Chapter 3, Using Python as a Financial Calculator, we recommended the combining of many small Python programs as one program. In this chapter, we adopted the same strategy to combine all the programs in a big file p4f.py
. For instance, the preceding Python program, that is, the bs_call()
function is included. Such a collection of programs offers several benefits. First, when we use the bs_call()
function, we don't have to type those five lines. To save space, we will only show a few functions included in p4f.py
. For brevity, we will remove all the comments included for each function. Those comments are designed to help future users when issuing the help()
function, such as help(bs_call())
.
def bs_call(S,X,T,rf,sigma): from scipy import log,exp,sqrt,stats d1=(log(S/X)+(rf+sigma*sigma/2.)*T)/(sigma*sqrt(T)) d2 = d1-sigma*sqrt(T) return S*stats.norm.cdf(d1)-X*exp(-rf*T)*stats.norm.cdf(d2)
The following program uses a binomial model to price a call...