CGMY Model#
Bases: BaseModel
CGMY (Carr, Geman, Madan, Yor, 2002) pure-jump Lévy model.
This is a flexible four-parameter model that can capture skewness and kurtosis. It has a known characteristic function for all valid parameters. Monte Carlo simulation is supported for the special case Y=1 (Variance Gamma process).
Source code in src/quantfin/models/cgmy.py
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 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
|
__init__(params: dict[str, float] | None = None)
#
Initializes the CGMY model.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
dict[str, float] | None
|
A dictionary of model parameters. If None, |
None
|
Source code in src/quantfin/models/cgmy.py
raw_cf(*, t: float) -> Callable
#
Returns the CF of the raw CGMY process, without drift or spot.
This function represents the characteristic function of the process before the risk-neutral drift adjustment is applied.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
t
|
float
|
The time horizon. |
required |
Returns:
Type | Description |
---|---|
Callable
|
The raw characteristic function. |
Source code in src/quantfin/models/cgmy.py
sample_terminal_log_return(T: float, size: int, rng: np.random.Generator) -> np.ndarray
#
Generates exact samples of the terminal log-return for the CGMY process.
NOTE: This is only implemented for the special case Y=1, where the process is a difference of two time-changed Brownian motions.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
T
|
float
|
The time to maturity, in years. |
required |
size
|
int
|
The number of samples to generate. |
required |
rng
|
Generator
|
A random number generator instance for reproducibility. |
required |
Returns:
Type | Description |
---|---|
ndarray
|
An array of simulated terminal log-returns. |
Raises:
Type | Description |
---|---|
NotImplementedError
|
If the model parameter Y is not equal to 1. |