Skip to main content

Basic SWPPV Example

Contract Definition

import pandas as pd
from awesome_actus_lib import SWPPV, PublicActusService, ReferenceIndex

contract = SWPPV(
contractID="swppv01",
statusDate="2014-12-30T00:00:00",
contractRole="PF",
currency="USD",
contractDealDate="2014-12-28T00:00:00",
initialExchangeDate="2015-01-01T00:00:00",
maturityDate="2015-04-01T00:00:00",
notionalPrincipal=1000,
cycleAnchorDateOfInterestPayment="2015-04-01T00:00:00",
cycleOfInterestPayment="P1ML1",
nominalInterestRate=0.05,
nominalInterestRate2=0.08,
dayCountConvention="A365",
cycleAnchorDateOfRateReset="2015-01-01T00:00:00",
rateSpread=0.0,
marketObjectCodeOfRateReset="USD_Treasury",
fixingPeriod="P0D",
deliverySettlement="D",
creatorID="Creator-01",
counterpartyID="Counterparty-01"
)
rf_data_USD_Treasury = pd.DataFrame({
"date": ["2015-01-01"],
"value": [0.01]
})
rf_USD_Treasury = ReferenceIndex(marketObjectCode="USD_Treasury", source=rf_data_USD_Treasury)
service = PublicActusService()
event_stream = service.generateEvents(portfolio=contract, riskFactors=[rf_USD_Treasury])
print(event_stream.events_df)

Generated Events

typetimepayoffcurrencynominalValuenominalRatenominalAccruedcontractId
IED2015-01-01T00:000USD-10000.080swppv01
RR2015-01-01T00:000USD-10000.010swppv01
IPFX2015-04-01T00:00-12.3288USD-10000.010swppv01
IPFL2015-04-01T00:002.46575USD-10000.010swppv01
MD2015-04-01T00:000USD00.010swppv01