|
|
|
|
COM component
The Quantz COM component lets you use all the Quantz toolkit functions from Visual
Basic, C++ or any other language or environment that can use ActiveX controls or
COM components. The library:
- is based on the same C++ calculation library as the Excel add-in interface for
consistency.
- incorporates all the functions in the Excel toolkit. The function signatures are
similar to the Excel add-in library to allow easy migration from one library version
to another.
- can use the same reference asset database as the Excel add-in or an external database.
- can be used for:
- research analytics or complex market analysis
- trading book P&L, hedging and tactical risk calculations
- calculating regular prices or term sheets for distribution
- valulation in back office transaction systems or middle office risk systems
- is ideal for use once the number of transactions or the quantity of data to be
analysed increases.
- can be integrated into existing trading, risk management or back office systems.
Here is a Visual Basic code example:
logTitle ("define risky curves with bond prices")
polishCurve = quantzLibrary.DefineBondPriceCurve(thisUSDRiskFreeCurve, "Poland",
thisValuationDate, "Poland 04", 100.4698)
log (polishCurve)
bmwCurve = quantzLibrary.DefineBondPriceCurve(thisUSDRiskFreeCurve, "BMW", thisValuationDate,
"BMW 04", 105.5455)
log (bmwCurve)
vwCurve = quantzLibrary.DefineBondPriceCurve(thisDEMRiskFreeCurve, "VW", thisValuationDate,
"Volkswagen 03", 111.9946)
log (vwCurve)
phillipMorrisCurve = quantzLibrary.DefineBondPriceCurve(thisUSDRiskFreeCurve, "Phillip
Morris", thisValuationDate, "Phillip Morris 05", 105.6999)
log (phillipMorrisCurve)
logTitle ("price a new cds (minimum parameters with bond)")
thisCDS = quantzLibrary.DefineCreditDefaultSwap("Poland 04 CDS", "Poland 04", polishCurve,
0.25)
log (thisCDS)
Call log(asRate("premium", quantzLibrary.GetPremium(thisCDS)))
Call log(asRate("value", quantzLibrary.GetValue(thisCDS)))
logTitle ("price a new cds (minimum parameters without bond)")
thisCDS = quantzLibrary.DefineCreditDefaultSwap("BMW 2y CDS", , bmwCurve, 0.25,
, "2y")
log (thisCDS)
Call log(asRate("premium", quantzLibrary.GetPremium(thisCDS)))
Call log(asRate("value", quantzLibrary.GetValue(thisCDS)))
logTitle ("price a new cds (with all parameters)")
thisCDS = quantzLibrary.DefineCreditDefaultSwap("Volkswagen 03 CDS", "Volkswagen
03", vwCurve, 0.25, #9/25/1998#, "18m", 0, 4, "act/360", "6m", "3b", "same day",
"last day")
log (thisCDS)
Call log(asRate("premium", quantzLibrary.GetPremium(thisCDS)))
Call log(asRate("value", quantzLibrary.GetValue(thisCDS)))
log ("premium cash flows")
Dim theseCashFlows() As Variant
Call quantzLibrary.GetCashflows(thisCDS, , theseCashFlows)
Call logCashFlows(theseCashFlows) |
|
|
|
|