LatticeTechnique#
Bases: BaseTechnique
, GreekMixin
, IVMixin
Abstract base class for lattice-based pricing techniques.
This class provides a caching mechanism for Greek calculations. The main
pricing method, _price_and_get_nodes
, is designed to return both the
option price and the values of the adjacent nodes at the first and second
time steps, which are then used for instantaneous delta and gamma calculations
without rebuilding the tree.
Source code in src/quantfin/techniques/base/lattice_technique.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
|
__init__(steps: int = 200, is_american: bool = False)
#
Initializes the lattice technique.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
steps
|
int
|
The number of time steps in the lattice, by default 200. |
200
|
is_american
|
bool
|
True if pricing an American option, False for European. Defaults to False. |
False
|
Source code in src/quantfin/techniques/base/lattice_technique.py
delta(option: Option, stock: Stock, model: BaseModel, rate: Rate, **kwargs: Any) -> float
#
Calculates delta, using cached nodes if available and valid.
Source code in src/quantfin/techniques/base/lattice_technique.py
gamma(option: Option, stock: Stock, model: BaseModel, rate: Rate, **kwargs: Any) -> float
#
Calculates gamma, using cached nodes if available and valid.
Source code in src/quantfin/techniques/base/lattice_technique.py
price(option: Option, stock: Stock, model: BaseModel, rate: Rate, **kwargs: Any) -> PricingResult
#
Prices the option and caches the necessary nodes for Greek calculations.