greek-based-pl-formula-rules.properties
File purpose
The greek-based-pl-formula-rules.properties file is used for PnL Explain. The properties define the type of computation (formula and Taylor expansion order) per risk class and sensitivity measure.
File values for ladder configuration
For more information, see Sensitivity ladders
Key | Value | Description |
---|---|---|
formula.input.delta | LADDER-FIRST | Formula input selection. Determines if the input for the PnL Explain formula is a sensitivity ladder or a sensitivity. Associated with the sensitivity name. |
formula.input.gamma | LADDER-FIRST | |
formula.input.vega | SENSI-ONLY | |
formula.input.vanna | SENSI-ONLY | |
formula.input.volga | SENSI-ONLY | |
formula.order.delta | FIRST | Order type for the sensitivity ladder associated with the sensitivity name. |
formula.order.gamma | SECOND |
File values for formula configuration
Key | Value | Description |
---|---|---|
formula.input.delta | LADDER-FIRST | Formula input selection. Determines if the input for the PnL Explain formula is a sensitivity ladder or a sensitivity. Associated with the sensitivity name. |
formula.input.gamma | LADDER-FIRST | |
formula.input.vega | SENSI-ONLY | |
formula.input.vanna | SENSI-ONLY | |
formula.input.volga | SENSI-ONLY | |
formula.order.delta | FIRST | Order type for the sensitivity ladder associated with the sensitivity name. |
formula.order.gamma | SECOND |
File values for formula configuration
Key | Value | Description |
---|---|---|
formula.rule.correlation.equity | Formula for the equity correlation | Relative,1,1,true |
formula.rule.correlation.* | Formula for the non-equity correlation | Relative,1,1,true |
formula.rule.crossgamma.1.* | Formula for the risk 1rst factor of cross gamma | Relative,1,1,true |
formula.rule.crossgamma.2.* | Formula for the risk 2nd factor of cross gamma | Relative,1,1,true |
formula.rule.delta.csr-non-sec | Absolute,1,1,true | Formula rule for each sensitivity and risk class. The elements are arranged in the following order: SensitivityName.RiskClass = PriceChange,PriceFactor,DerivativeOrder,MarketDataInterpolation |
formula.rule.delta.csr-sec-ctp | Absolute,1,1,true | |
formula.rule.delta.girr | Absolute,1,1,true | |
formula.rule.delta.commodity | Relative,1,1,true | |
formula.rule.delta.equity | Relative,1,1,true | |
formula.rule.delta.fx | FXRelative,1,1,false | |
formula.rule.dividend.* | Absolute,1,1,false | PnL explain computation rule for dividend (previous dividend is never taken into account) |
formula.rule.gamma.csr-non-sec | Absolute,1,2,true | |
formula.rule.gamma.csr-sec-non-ctp | Absolute,1,2,true | |
formula.rule.gamma.csr-sec-ctp | Absolute,1,2,true | |
formula.rule.gamma.girr | Absolute,1,2,true | |
formula.rule.gamma.commodity | Relative,1,2,true | |
formula.rule.gamma.equity | Relative,1,2,true | |
formula.rule.gamma.fx | Relative,1,2,false | |
formula.rule.vega.csr-non-sec | Absolute,1,1,true | |
formula.rule.vega.csr-sec-non-ctp | Absolute,1,1,true | |
formula.rule.vega.csr-sec-ctp | Absolute,1,1,true | |
formula.rule.vega.girr | Absolute,1,1,true | |
formula.rule.vega.commodity | Absolute,1,1,true | |
formula.rule.vega.equity | Absolute,1,1,true | |
formula.rule.vega.fx | Absolute,1,1,false | |
formula.rule.vanna.1.csr-non-sec | Absolute,1,1,true | PnL explain computation rule for first risk factor axis for Vanna and CSR non sec |
formula.rule.vanna.2.csr-non-sec | Absolute,1,1,true | PnL explain computation rule for second risk factor axis for Vanna and CSR non sec |
formula.rule.vanna.1.csr-sec-non-ctp | Absolute,1,1,true | PnL explain computation rule for first risk factor axis for Vanna and CSR sec non CTP |
formula.rule.vanna.2.csr-sec-non-ctp | Absolute,1,1,true | PnL explain computation rule for second risk factor axis for Vanna and CSR sec non CTP |
formula.rule.vanna.1.csr-sec-ctp | Absolute,1,1,true | PnL explain computation rule for first risk factor axis for Vanna and CSR sec CTP |
formula.rule.vanna.2.csr-sec-ctp | Absolute,1,1,true | PnL explain computation rule for second risk factor axis for Vanna and CSR sec CTP |
formula.rule.vanna.1.girr | Absolute,1,1,true | PnL explain computation rule for first risk factor axis for Vanna and GIRR |
formula.rule.vanna.2.girr | Absolute,1,1,true | PnL explain computation rule for second risk factor axis for Vanna and GIRR |
formula.rule.vanna.1.commodity | Relative,1,1,true | PnL explain computation rule for first risk factor axis for Vanna and Commodity |
formula.rule.vanna.2.commodity | Relative,1,1,true | PnL explain computation rule for second risk factor axis for Vanna and Commodity |
formula.rule.vanna.1.equity | Relative,1,1,true | PnL explain computation rule for first risk factor axis for Vanna and Equity |
formula.rule.vanna.2.equity | Relative,1,1,true | PnL explain computation rule for second risk factor axis for Vanna and Equity |
formula.rule.vanna.1.fx | Relative,1,1,true | PnL explain computation rule for first risk factor axis for Vanna and FX |
formula.rule.vanna.2.fx | Relative,1,1,false | PnL explain computation rule for second risk factor axis for Vanna and FX |
formula.rule.volga.csr-non-sec | Absolute,1,2,true | |
formula.rule.volga.csr-sec-non-ctp | Absolute,1,2,true | |
formula.rule.volga.csr-sec-ctp | Absolute,1,2,true | |
formula.rule.volga.girr | Absolute,1,2,true | |
formula.rule.volga.commodity | Absolute,1,2,true | |
formula.rule.volga.equity | Absolute,1,2,true | |
formula.rule.volga.fx | Absolute,1,2,false | |
formula.rule.cash.fx | FXRelative,1,1,false | PnL explain computation rule for cash |
formula.rule.theta.* | Absolute,1,1,false | PnL explain computation rule for theta |
formula.rule entry description
The [formula.rule] entries follow this format : formula.rule.sensitivity.riskClass
-
sensitivity field, lowercase.
-
riskClass field, lowercase and the spaces are replaced by -.
-
The sensitivity field can contain the sensitivity metric name (sensitivity_kind) or the sensitivity provided name (sensitivity_name).
The lookup order is the following :
Order | Lookup |
---|---|
1 | formula.rule.sensitivity_name.riskClass |
2 | formula.rule.sensitivity_name.* |
3 | formula.rule.sensitivity_kind.riskClass |
4 | formula.rule.sensitivity_kind.* |
For the dividend metric, the lookup is first on sensitivity_kind and then on sensitivity_name.
The formula value has the following entries separated by commas: formula,priceFactor,derivativeOrder,interpolation,shift
Entry | Position | Meaning |
---|---|---|
formula | 1 | The keyword defining the used formula |
priceFactor | 2 | A scale applied to the sensitivity ( sensitivity * priceFactor) |
derivativeOrder | 3 | A number defining the derivative order or the sensitivity, 1 for delta, 2 for gamma |
interpolation | 4 | true means interpolation of market data is allowed |
shift | 5 | A shift that is added to the sensitivity ( sensitivity + shift ) |
The following formulae are available:
Formula | Meaning |
---|---|
Absolute | $$ pnl = sensitivity \cdot \frac{ \left ({(quote_T \cdot priceFactor) - (quote_{T-1} \cdot priceFactor)} \right ) ^ {derivativeOrder}}{ derivativeOrder!} $$ |
Relative | $$ pnl = sensitivity \cdot \frac {\left (\frac{quote_T \cdot priceFactor}{quote_{T-1} \cdot priceFactor} - 1 \right ) ^ {derivativeOrder}}{derivativeOrder! } $$ |
DHS | $$ pnl = sensitivity \cdot \frac {\left (\frac{quote_T \cdot priceFactor+shift}{quote_{T-1} \cdot priceFactor+shift} - 1 \right ) ^ {derivativeOrder}}{derivativeOrder! } $$ |
FXRelative | $$pnl = sensitivity \cdot \frac {\left ( 1 - \frac {quote_{T-1} \cdot priceFactor}{quote_T \cdot priceFactor} \right ) ^ {derivativeOrder}}{derivativeOrder!}$$ |