Risk Report
Risk Report Request
The RiskRequest message will provide the client with detailed risk and position information for the requested instrument. For APO (Asian Model) instruments, multiple underlying prices may be necessary to generate correct Theoretical Values; in that case, successive InstrumentID:UnderlyingPrice pairs can be used instead of the single underlying (strike) price used in most cases.
Syntax (most instruments)
RiskRequest <InstrumentID> <CalculationType> <UnderlyingPrice> <VolatilityOffset> <DayOffset>
Syntax (APO instruments)
RiskRequest <InstrumentID> <CalculationType> <UnderlyingInstrumentID 1:Price 1> <UnderlyingInstrumentID 2:Price 2> ... <VolatilityOffset> <DayOffset>
The values for calculation type can be one of the following:
Calculation Type | Comment |
---|---|
THEOVSTHEO | THEOVSTHEO will calculate risk based on the live theoretical value of the instrument compared to an older theoretical value (one that has been saved using the End Of Day Wizard). |
EDGE | An EDGE report compares the live theoretical values to the market values saved using the End Of Day Wizard. |
MARKETVSMARKET | MARKETVSMARKET will compare market values at the current and previous market prices (stored using the End Of Day Wizard). |
UnderlyingPrice is the price of the underlying instrument that will be used to generate the risk variables for this report. VolatilityOffset and DayOffset are set for the month (that this report is for) and will simply add volatility to the risk calculation without changing the curve.
The DayOffset allows the trader to perform the same calculation for a different day without having to roll the day over using the End Of Day Wizard.
PositionRiskReply
The PositionRiskReply notification provides details about each instrument and its risk variables and position information. The server will send this to a client upon successful receipt of a RiskRequest message.
Syntax
PositionRiskReply <InstrumentID> <UnderlyingPrice> <TV PL> <TV L Committed> <TV PL DayTrade> <DeltaN> <GammaN> <VegaN> <ThetaN> <EpsilonN> <ZetaN> <DayTradePosition> <CommittedPosition> <CallSlopeRisk> <PutSlopeRisk> <CallCurveRisk> <PutCurveRisk> <Volatility> <FirstPricePresent> <SecondPricePresent> <FirstPrice> <SecondPrice>
PositionRiskReply Notification Structure
Field | Value(s) | Repeating | Comment |
---|---|---|---|
UnderlyingPrice | Double | No | The underlying price for this calculation |
TV – PL | Double | No | P&L Theoretical Value |
TV – PL Committed | Double | No | Committed P&L Theoretical Value |
TV – PL DayTrade | Double | No | Day Trade P&L Theoretical Value |
DeltaN | Double | No | Delta of Position |
GammaN | Double | No | Gamma of Position |
VegaN | Double | No | (raw Vega tickSize tickValue)/100 \u1d47 |
ThetaN | Double | No | (raw Theta tickSize tickValue)/# days in year \u1d9c |
EpsilonN | Double | No | Epsilon of Position |
ZetaN | Double | No | Zeta of Position |
DayTradePosition | Integer | No | (in # of shares) |
CommittedPosition | Integer | No | (in # of shares) |
CallTiltRisk | Double | No | (in $) |
PutTiltRisk | Double | No | (in $) |
CallKurtosisRisk | Double | No | (in $) |
PutKurtosisRisk | Double | No | (in $) |
Volatility | Double | No | |
FirstPricePresent | Boolean | No | True if 1st Price value will follow (see below) |
SecondPricePresent | Boolean | No | True if 2nd Price value will follow (see below) |
FirstPrice | Double | No | First underlying price |
SecondPrice | Double | No | Second underlying price |