Cliquet
This module contains examples of equity cliquet contracts.
Accumulator
dataclass
Bases: EventsMixin
In an Accumulator the asset returns are calculated over a series of consecutive periods. Each return is subject to a local floor and cap, then accumulated by adding, and finally the accumulated payoff is subject to a global floor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ccy |
str
|
the currency of the bond. |
required |
asset_name |
str
|
the name of the underlying asset. |
required |
fix_dates |
List[datetime]
|
the fixing times of the cliquet. |
required |
global_floor |
float
|
the global floor of the cliquet. |
required |
local_floor |
float
|
the local floor of the cliquet. |
required |
local_cap |
float
|
the local cap of the cliquet. |
required |
notional |
float
|
the notional of the cliquet. |
100.0
|
track |
str
|
an optional identifier for the contract. |
''
|
Examples:
>>> fix_dates = pd.bdate_range(datetime(2021, 12, 31), datetime(2024, 12, 31), freq="2BQE")
>>> Accumulator("USD", "SPX", fix_dates, 0.0, -0.03, 0.05).print_events()
time op quantity unit track
12/31/2021 NaN 0.0 start NaN
06/30/2022 NaN 0.0 addfix NaN
12/30/2022 NaN 0.0 addfix NaN
06/30/2023 NaN 0.0 addfix NaN
12/29/2023 NaN 0.0 addfix NaN
06/28/2024 NaN 0.0 addfix NaN
12/31/2024 NaN 0.0 addfix NaN
12/31/2024 > 0.0 USD
12/31/2024 + 100.0 ACC
Source code in qablet_contracts\eq\cliquet.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 130 131 132 133 134 |
|
In an Accumulator the payoff depends on the asset price on several fixing dates \(T_0 < T_1 < ... T_N\).
If the returns are given by
Then contract has a single payoff at \(T_N\), given by