Skip to main content

Basic SWAPS Example

Contract Definition

import pandas as pd
from awesome_actus_lib import SWAPS, PublicActusService

contract = SWAPS(
contractID="swaps01",
contractRole="RFL",
contractStructure=[{'object': {'contractType': 'PAM', 'contractID': 'swaps01-leg1', 'contractDealDate': '2012-12-28T00:00:00', 'initialExchangeDate': '2013-01-01T00:00:00', 'currency': 'USD', 'statusDate': '2012-12-30T00:00:00', 'notionalPrincipal': '1000', 'dayCountConvention': 'A365', 'nominalInterestRate': '0.1', 'maturityDate': '2014-01-01T00:00:00', 'cycleAnchorDateOfInterestPayment': '2013-01-01T00:00:00', 'cycleOfInterestPayment': 'P1ML1', 'premiumDiscountAtIED': '0'}, 'referenceType': 'CNT', 'referenceRole': 'FIL'}, {'object': {'contractType': 'PAM', 'contractID': 'swaps01-leg2', 'contractDealDate': '2012-12-28T00:00:00', 'initialExchangeDate': '2013-01-01T00:00:00', 'currency': 'USD', 'statusDate': '2012-12-30T00:00:00', 'notionalPrincipal': '1200', 'dayCountConvention': 'A365', 'nominalInterestRate': '0.1', 'maturityDate': '2014-01-01T00:00:00', 'cycleAnchorDateOfInterestPayment': '2013-01-01T00:00:00', 'cycleOfInterestPayment': 'P3ML1', 'premiumDiscountAtIED': '0'}, 'referenceType': 'CNT', 'referenceRole': 'SEL'}],
currency="USD",
contractDealDate="2012-12-28T00:00:00",
statusDate="2012-12-30T00:00:00",
deliverySettlement="D",
creatorID="Creator-01",
counterpartyID="Counterparty-01"
)

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

Generated Events

typetimepayoffcurrencynominalValuenominalRatenominalAccruedcontractId
IED2013-01-01T00:00-1000USD10000.10swaps01
IED2013-01-01T00:001200USD-12000.10swaps01
IP2013-01-01T00:000USD10000.10swaps01
IP2013-01-01T00:000USD-12000.10swaps01
IP2013-02-01T00:008.49315USD10000.10swaps01
IP2013-03-01T00:007.67123USD10000.10swaps01
IP2013-04-01T00:008.49315USD10000.10swaps01
IP2013-04-01T00:00-29.589USD-12000.10swaps01
IP2013-05-01T00:008.21918USD10000.10swaps01
IP2013-06-01T00:008.49315USD10000.10swaps01
IP2013-07-01T00:008.21918USD10000.10swaps01
IP2013-07-01T00:00-29.9178USD-12000.10swaps01
IP2013-08-01T00:008.49315USD10000.10swaps01
IP2013-09-01T00:008.49315USD10000.10swaps01
IP2013-10-01T00:008.21918USD10000.10swaps01
IP2013-10-01T00:00-30.2466USD-12000.10swaps01
IP2013-11-01T00:008.49315USD10000.10swaps01
IP2013-12-01T00:008.21918USD10000.10swaps01
IP2014-01-01T00:008.49315USD10000.10swaps01
IP2014-01-01T00:00-30.2466USD-12000.10swaps01
MD2014-01-01T00:001000USD00.10swaps01
MD2014-01-01T00:00-1200USD00.10swaps01