Tracks
A track identifies the contract, a leg of the contract, or a state of the contract. For simple contracts this might be just blank.
>>> Option("USD", "SPX", 2900, datetime(2024, 3, 31), True).print_events()
time op quantity unit track
03/31/2024 > 0.0 USD
03/31/2024 + -2900.0 USD
03/31/2024 + 1.0 SPX
Or you could assign a name to the track.
>>> Option("USD", "SPX", 2900, datetime(2024, 3, 31), True, track="<SPX2900>").print_events()
time op quantity unit track
03/31/2024 > 0.0 USD <SPX2900>
03/31/2024 + -2900.0 USD <SPX2900>
03/31/2024 + 1.0 SPX <SPX2900>
In this example there are two tracks - .opt
and .swp
. In the event 0
and 3
the holder has an opportunity to switch from the .opt
track (which has no payments) to the .swp
track (which has payments).
See Bermuda Swaption for more on this example.