Apama Capital Markets Foundation 10.15 | Capital Markets Foundation | Market Data Management | Synthetic datasources | Forward to Spot Convertor | Forward to Spot Convertor parameters
 
Forward to Spot Convertor parameters
The FTSC uses following configurable parameters:
Parameter
Type
Allowable values
Default value
Mandatory
Description
publishSpotTo
Forward
boolean
true, false
false
No
If true, converts spot prices and quantities to forward prices and quantities. If false, converts forward prices and quantities to spot prices and quantities.
spotSymbol
string
string
null string
No
If not null, the string will be used as the symbol for spot events. If null or not specified, the original symbol will be used.
isDirect
boolean
true, false
true
No
If true, the currency pair symbol connected and the spot/forward prices and quantities calculated for the symbol do not require inversion. If false, the currency pair symbol connected and the spot/forward prices and quantities calculated for the symbol should be inverted. For example, if the symbol connected is EUR/USD and the prices have to be published for USD/EUR, then the isDirect flag is set to false.
multiplier
float
Greater than 0
N/A
Yes
Used in price conversions from Forward to Spot and also from Spot to Forward. If the isDirect flag is set to false, then the multiplier becomes a divisor. If multiplier is not valid, returns the error: Multiplier value not valid, SpotConverter instance not created.
forwardPoints
Divisor
float
0 or greater than 0
0
No
Specifies a divisor for forward points. If the value specified is neither 0 nor 1, forward points will be divided by the specified value before they are used for conversion.
isForward
PointsInversed
boolean
true, false
false
No
If false, the Forward to Spot converter will invert the signs for the given forward points before using them in the calculations. If true, the Forward to Spot Converter will use the values as provided. Some venues provide the forward points with the inverted signs, whereas others leave the signs as they are. The logic in the Forward to Spot Converter expects the signs to be inversed.
forward
PointsBid
float
Positive or negative
0
No
Depending on the isForwardPointsInversed flag and using the forwardPointsDivisor parameter value, these points will be normalized and then added or subtracted from the outright bid price.
forward
PointsAsk
float
Positive or negative
0
No
Depending on the isForwardPointsInversed flag and using the forwardPointsDivisor parameter value, these points will be normalized and then added or subtracted from the outright ask price.
forwardPoints
BidRaw
float
Positive or negative
0
No
The raw bid forward points before normalized based on divisor and sign inversion.
forwardPoints
AskRaw
float
Positive or negative
0
No
The raw ask forward points before normalized based on divisor and sign inversion.
contractSize
integer
Greater than 0
N/A
Yes
While converting from Forward to Spot; the forward quantity available is multiplied by the contract size. For example, if the EUR/USD contract size is 125,000 and the quantity is 10, then 1.25 million is available. While converting from Spot to Forward, the spot quantity available will be divided by the contract size.
pipSize
float
Positive or negative
1
No
Pip (percentage in point: smallest price increment) is used for rounding the prices in case of Spot to Forward conversion. If the pip value specified is greater than 0 then all the outgoing forward prices are rounded to pip. Values less than 0 result in pip being set to 0.
epsSize
float
Positive or negative
0
No
Eps is the other component used for rounding the outgoing forward prices. Eps size is only relevant if the pip size is set to a valid value. It is subtracted from the price for the sell side and added in case of the buy side. If the pip value specified is less than 0 eps will be set to 0. For example, if the side is buy, unrounded forward price is 20.51543999, eps is 0.0001 and pip is 0.0002 then the rounded forward price would be:
rounded price =
(mathUtil.add
(20.51543999,0.0001)/0.0002)
.floor().toFloat()*
0.0002 = 20.5154
If the side is sell the price would be: rounded price =
(mathUtil.subtract
(20.51543999,0.0001)/0.0002)
.ceil().toFloat() *
0.0002 = 20.5154
spotPrice
Precision
float
Positive or negative
1
No
The value is used for rounding the outgoing spot prices. The value provided is converted to 10(value). For example, if the spotPricePrecision = 4 then the parameter value will be set to 104= 1000. If the spotPricePrecision value is not specified or is less than 0 then the parameter is set to 1. Errors return the following message: Spot Price Precision value not valid, SpotConverter instance not created.