com.apama.md.adapter
Event FSConvertorParams


Parameters to govern the behaviour of the FTSC.
Member Summary
 stringspotSymbol

If not a null string, then this will be used as symbol for the spot events. If empty string is used, then the original symbol (A/B) is changed to A/B_Spot for direct, B/A_Spot for inverse.
 booleanisDirect

True if it is direct, false if it is inverse.
 floatmultiplier

Multiplier is used to convert prices to correct format. For example, EUR/USD may be quoted as 15,945, which translates to an outright price of 1.5945. For inverted trades this multiplier becomes a divider.
 floatforwardPointsBid

These points will be added or subtracted from the outright bid price as computed by the multiplier.
 floatforwardPointsAsk

These points will be added or subtracted from the outright ask price as computed by the multiplier.
 floatforwardPointsBidRaw

The raw bid forward points before normalized, based on divisor and sign inversion.
 floatforwardPointsAskRaw

The raw ask forward points before normalized, based on divisor and sign inversion.
 floatforwardPointsDivisor

Divisor for forward points; specify 0.0 or 1.0 if forward points are already divided.
 booleanisForwardPointsInversed

As per some venues' convention the forward points are entered with the signs inversed (e.g. CME), whereas others leave the signs as they are (e.g. Bache).
 integercontractSize

The quantity of the future available will be multiplied by the contract size. For example, if the EUR/USD contract size is 125,000 and the quantity available is 10, then 1.25 million is available.
 floatpipSize

If specified (greater than 0.0) all the outgoing prices will be rounded down.
 floatepsSize

Only relevant when pipSize is specified. This is the other component used for rounding : For buy, the price floor is used: ( ( Price + Eps ) / pip ).floor() * pip For sell, the price ceil is used: ( ( Price - Eps ) / pip ).ceil() * pip.
 floatspotPricePrecision

The number of decimal places to round the converted spot price.
 
Member Detail

contractSize

integer contractSize
The quantity of the future available will be multiplied by the contract size. For example, if the EUR/USD contract size is 125,000 and the quantity available is 10, then 1.25 million is available.

epsSize

float epsSize
Only relevant when pipSize is specified. This is the other component used for rounding : For buy, the price floor is used: ( ( Price + Eps ) / pip ).floor() * pip For sell, the price ceil is used: ( ( Price - Eps ) / pip ).ceil() * pip.

forwardPointsAsk

float forwardPointsAsk
These points will be added or subtracted from the outright ask price as computed by the multiplier.

forwardPointsAskRaw

float forwardPointsAskRaw
The raw ask forward points before normalized, based on divisor and sign inversion.

forwardPointsBid

float forwardPointsBid
These points will be added or subtracted from the outright bid price as computed by the multiplier.

forwardPointsBidRaw

float forwardPointsBidRaw
The raw bid forward points before normalized, based on divisor and sign inversion.

forwardPointsDivisor

float forwardPointsDivisor
Divisor for forward points; specify 0.0 or 1.0 if forward points are already divided.

isDirect

boolean isDirect
True if it is direct, false if it is inverse.

isForwardPointsInversed

boolean isForwardPointsInversed
As per some venues' convention the forward points are entered with the signs inversed (e.g. CME), whereas others leave the signs as they are (e.g. Bache).

The logic in the Converter expects the signs to be inversed therefore the calculations are done in certain ways. If the flag is false, the spot converter will flip the signs on the given forward points before using them in the calculations. If the flag is true, the spot converter will not flip the signs.

multiplier

float multiplier
Multiplier is used to convert prices to correct format. For example, EUR/USD may be quoted as 15,945, which translates to an outright price of 1.5945. For inverted trades this multiplier becomes a divider.

pipSize

float pipSize
If specified (greater than 0.0) all the outgoing prices will be rounded down.

spotPricePrecision

float spotPricePrecision
The number of decimal places to round the converted spot price.

For bid side the rounding is done as :(Bid price * spotPricePrecision).floor().toFloat() / spotPricePrecision For ask side the rounding is done as :(Ask price * spotPricePrecision).ceil().toFloat() / spotPricePrecision For mid price the rounding is done as :mathUtil.add(Mid price * spotPricePrecision , 0.5)).floor().toFloat() / spotPricePrecision.

spotSymbol

string spotSymbol
If not a null string, then this will be used as symbol for the spot events. If empty string is used, then the original symbol (A/B) is changed to A/B_Spot for direct, B/A_Spot for inverse.