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.