Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Python for Finance

You're reading from  Python for Finance

Product type Book
Published in Apr 2014
Publisher
ISBN-13 9781783284375
Pages 408 pages
Edition 1st Edition
Languages
Author (1):
Yuxing Yan Yuxing Yan
Profile icon Yuxing Yan

Table of Contents (20) Chapters

Python for Finance
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Introduction and Installation of Python Using Python as an Ordinary Calculator Using Python as a Financial Calculator 13 Lines of Python to Price a Call Option Introduction to Modules Introduction to NumPy and SciPy Visual Finance via Matplotlib Statistical Analysis of Time Series The Black-Scholes-Merton Option Model Python Loops and Implied Volatility Monte Carlo Simulation and Options Volatility Measures and GARCH Index

Writing a program – the comment-all-out method


Here is the logic behind this comment-all-out method: type all the lines and then comment them all. After that, we release one line at a time to debug. We use the Black-Scholes' call option as an example in the following case:

  1. Launch Python, click on File | New Window Ctrl + N. Generate the five lines of code mentioned in step 3. We include several bugs on purpose.

  2. Click on File and save it.

  3. Comment out the entire program by using a pair of triple quotation marks. Since we need some output, we add a return line as follows:

    def bs_call(S,X,T,r,sigma):
        """
        d1 = (lo(S/X)+(r+sigma*sigma/2.)*T)/(sigma*sqrt(T))
        d2 = d1-sigmasqrt(T)
        return SCN(d1)-X*exp(-r*T)*CND(d2)
        """
    return (X)
    
  4. Again, click on Run and then Run from module F5. We will see that the following output appears:

    >>>===========RESTART ===============
    
  5. We test it by using any set of input values as follows:

    >>>bs_call(40,40,0.5,0.1,0.2)
    40
    >>>bs_call...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}