Skip to main content

Basic LAX Example

Contract Definition

import pandas as pd
from awesome_actus_lib import LAX, PublicActusService

contract = LAX(
contractID="lax01",
creatorID="Creator-01",
counterpartyID="Counterparty-01",
statusDate="2020-01-01T00:00:00",
contractRole="RPA",
calendar="NC",
businessDayConvention="SCF",
endOfMonthConvention="SD",
currency="EUR",
contractDealDate="2020-01-01T00:00:00",
initialExchangeDate="2020-01-02T00:00:00",
maturityDate="2024-12-31T00:00:00",
notionalPrincipal=100,
arrayCycleAnchorDateOfInterestPayment="2021-01-01T00:00:00",
arrayCycleOfInterestPayment="P1YL1",
nominalInterestRate=0.05,
dayCountConvention='30E360',
arrayCycleAnchorDateOfPrincipalRedemption="2021-01-01T00:00:00",
arrayCycleOfPrincipalRedemption="P1YL1",
arrayNextPrincipalRedemptionPayment=20,
arrayIncreaseDecrease="DEC"
)

service = PublicActusService()
event_stream = service.generateEvents(portfolio=contract, riskFactors=[])
print(event_stream.events_df)

Generated Events

typetimepayoffcurrencynominalValuenominalRatenominalAccruedcontractId
IED2020-01-02T00:00-100EUR1000.050lax01
PR2021-01-01T00:0020EUR800.054.98611lax01
IP2021-01-01T00:004.98611EUR800.050lax01
PR2022-01-01T00:0020EUR600.054lax01
IP2022-01-01T00:004EUR600.050lax01
PR2023-01-01T00:0020EUR400.053lax01
IP2023-01-01T00:003EUR400.050lax01
PR2024-01-01T00:0020EUR200.052lax01
IP2024-01-01T00:002EUR200.050lax01
PR2025-01-01T00:0020EUR00.051lax01
IP2025-01-01T00:001EUR00.050lax01
PR2026-01-01T00:000EUR00.050lax01
IP2026-01-01T00:000EUR00.050lax01
PR2027-01-01T00:000EUR00.050lax01
IP2027-01-01T00:000EUR00.050lax01
PR2028-01-01T00:000EUR00.050lax01
IP2028-01-01T00:000EUR00.050lax01
PR2029-01-01T00:000EUR00.050lax01
IP2029-01-01T00:000EUR00.050lax01
PR2030-01-01T00:000EUR00.050lax01
IP2030-01-01T00:000EUR00.050lax01
IP2030-06-26T16:50:27.1157216360EUR00.050lax01
MD2030-06-26T16:50:27.1157216360EUR00.050lax01