Skip to Content
Financial Modelling in Python
book

Financial Modelling in Python

by Shayne Fletcher, Christopher Gardner
August 2009
Intermediate to advanced
244 pages
9h 5m
English
Wiley
Content preview from Financial Modelling in Python
P1: JYS
c04 JWBK378-Fletcher May 23, 2009 4:21 Printer: Yet to come
Basic Mathematical Tools 35
4.4 ROOT FINDING
We will present two schemes in this section for finding the roots of a function y = f (x) with
f : R → R.
4.4.1 Bisection Method
The bisection method is a classiscal root-finding routine that does not require derivative infor-
mation. The ppf.math.root
finding module provides the following implementation
derived from the Boost.Math
Toolkit library:
import math
from special
functions import sign, max flt
def bisect(f, min, max, tol, max
its):
"""Bisection method
"""
fmin, fmax = f(min), f(max)
if fmin == 0: return (min, min, 0)
if fmax == 0: return (max, max, 0)
if min >= max: raise RuntimeError, "Arguments in wrong order"
if fmin*fmax >= 0: raise RuntimeError, "Root not bracketed"
count = max
its
if count < 3:
count = 0
else: count -= 3
while count and tol(min, max) == 0:
mid = (min + max)/2.
fmid = f(mid)
if mid == max or mid ==min:
break
if fmid == 0:
min = max = mid
break
elif sign(fmid)*sign(fmin) < 0:
max, fmax = mid, fmid
else:
min, fmin = mid, fmid
--count
max
its -= count
return (min, max, max
its)
The quadratic y(x) = x
2
+ 2x 1 has roots
1
2 =−2.4142135623730950488016887242097
1 +
2 =+0.4142135623730950488016887242097.
P1: JYS
c04 JWBK378-Fletcher May 23, 2009 4:21 Printer: Yet to come
36 Financial Modelling ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Stochastic Financial Models

Stochastic Financial Models

Douglas Kennedy
Python and R for the Modern Data Scientist

Python and R for the Modern Data Scientist

Rick J. Scavetta, Boyan Angelov

Publisher Resources

ISBN: 9780470987841Purchase book