Spread plan allows planning spread and vary it for users or instruments. Spread plans can be assigned to specific users or user groups.
In order to access the Spreads menu, log in to TradeLocker back office, hover over “Plans” and select “Spreads”
The following table of spread plans is available:
The following actions are available for Spread plans:
- Add – to add spread plan click “+” button.
- Edit – to edit spread plan, click on it’s name or select the corresponding option from the context menu and the corresponding page will be opened.
- Duplicate – this option opens a new spread plan form pre-filled with data from the selected spread plan.
- Delete – removes spread plan completely.
- Update from CSV – allows updating plan parameters and values from the CSV file.
- Export – allows exporting default/overridden parameters and values of the plan to the CSV file with headers. File structure to export is the same as for updating from CSV.
In order to create a new spread plan, just click on the “+” button or, if you want to edit an existing spread plan, select that plan from the “Available plans” view.
Creating a Spread Plan
The Spread plan gives options for Spread mode, Spread, Bid shift, Ask shift for all instruments, specific instrument types, or instruments.
The best option to edit spreads is to click on “Per-instrument settings”. This will bring up a menu where you will be able to specify spreads for every instrument group available.
Click on the “Customize instrument list” button in order to select items (instruments or groups, or both) for which you want to set up your spread plan.
- To select the whole instrument group, check the box located near the group name;
- To select separate instruments, open the group, and check the needed instruments from the list;
- To select all instruments from the group, use “tree” icon;
- The whole instrument group can be selected together with all the individual instruments in this group, to set up the group spread values and redefine values for multiple instruments;
- Clicking on the “flag” icon opens the whole tree hierarchy list to the last redefined instrument;
- Search for the needed instrument using a filter: type the whole or part of the instrument name and click the “search” button (or press ‘Enter’).
Shifts (Bid shift and Ask shift) represent absolute values for changing quotes from the server. For example, if the bid from the server is 99 and the Bid Shift equals -0.5, then the user will work with a bid of 99+(-0.5)=98.5 (e.g. for Not Fixed Spread Mode).
Spread Modes
Spread by Ask – new Ask and Bid are expressed by the following formula (BidShift ignored):
Asknew = Askserver + AskShift
Bidnew = Asknew – Spread
Example 1:
Current bid and ask received from the data feed is 1.35 — 1.45
Tick size = 0.01
In the spread plan, it is configured to have fixed spread of 2 ticks (this is Spread parameter) and Askshift is 1 tick, so before the system should modify incoming ask price (this is AskShift parameter)
In the formula, there will be:
Askserver = 1.45 (the incoming quote from data feed)
AskShift = 0.01 (1 tick)
Spread = 0.02 (2 ticks)
The spreaded ask is going to be 1.45+0.01 = 1.46 and this is Asknew
Bidnew = Asknew – Spread = 1.46 – 0.02 = 1.44
The final spread is:
Bidnew = 1.44
Asknew = 1.46
- Spread by Bid – new Ask and Bid are expressed by the following formula (AskShift ignored):
Bidnew = Bidserver+BidShift
Asknew=Bidnew + Spread
Example 2:
Current bid and ask received from the data feed is 1.35 — 1.45
Tick size = 0.01
In the spread plan, it is configured to have fixed spread of 2 ticks (this is Spread parameter) and Bidshift is 1 tick, so before the system should modify incoming bid price (this is BidShift parameter)
In the formula, there will be:
Bidserver = 1.35 (the incoming quote from data feed)
BidShift = -0.01 (1 tick)
Spread = 0.02 (2 ticks)
The spreaded bid is going to be 1.35-0.01 = 1.34 and this is Bidnew
Asknew = Bidnew + Spread = 1.34 + 0.02 = 1.36
The final spread is:
Bidnew = 1.34
Asknew = 1.36
- Spread by (Bid + Ask)/2 – the new Ask and Bid are expressed by the following formula:
Asksub = Askserver + AskShift
Bidsub= Bidserver+BidShift
Bidnew = (Asksub + Bidsub)/2 – Spread/2
Asknew = (Asksub + Bidsub)/2 + Spread/2
Example 3:
Current bid and ask received from the data feed is 1.35 — 1.45
In the spread plan, it is configured that Bidshift is 1 tick and Askshift is 2 ticks, so before the system should modify incoming prices (these are BidShift and AskShift parameters). Fixed spread is configured as 2 ticks.
Asksub = Askserver + AskShift = 1.45 + 0.02 = 1.47
Bidsub= Bidserver+BidShift = 1.35 + 0.01 = 1.36
Bidnew = (Asksub + Bidsub)/2 – Spread/2 = (1.47 + 1.36)/2 – 0.02/2 = 1.415 – 0.01 = 1.405
Asknew = (Asksub + Bidsub)/2 + Spread/2 = (1.47 + 1.36)/2 + 0.02/2 = 1.415 + 0.01 = 1.425
- Spread by Limen – new Ask and Bid are calculated in following way:
Asknew = Askserver + AskShift
Bidnew = Bidserver+BidShift
Spread* = Asknew – Bidnew
If Spread* < Spread, then:
Ask = Asknew – (Spread* – Spread)/2
Bid = Bidnew + (Spread* – Spread)/2
else:
Ask = Asknew
Bid = Bidnew
- Not fixed – only the shift is used to calculate the Ask and Bid.
Asknew = Askserver + AskShift
Bidnew = Bidserver+BidShift
Example 4:
Current bid and ask received from the data feed is 1.35 — 1.45
In the spread plan it is specified that you always want to add 1 tick to bid and ask you are getting from the data feed, so:
AskShift = 0.01
BidShift = -0.01
Asknew = 1.45+0.01 = 1.46
Bidnew = 1.35-0.01 = 1.34
The result values for trader are 1.34-1.46
Measure – specifies the type of spread calculation. Spread calculation in Ticks or Price is available for all Measure types. For the Spread mode=Not fixed, spread calculations in basis points, basis points (post execution), price (post execution) can be selected. The following Measure types and associated calculation schemes are available:
For Measure = Basis points:
Asknew = Askserver + AskShift
Bidnew = Bidserver – BidShift
AskShift = Askserver * AskShift,bps
BidShift = Bidserver * BidShift,bps
Where:
Askserver, Bidserver – Ask and Bid net prices (excluding spread plan settings);
AskShift, bps and BidShift, bps – values set as basis points in the spread plan settings. During calculations, basis points are expressed in absolute terms, that is, 1bps = 1/100 percent or 0.01% or 0.0001 decimal (0.01/100).
Example of a spread operation:
Instrument: EUR/GBP
Base system currency: USD
Spread: 0.00002
Counter account currency: NZD
Open price for trader: 0.87180
Open price for broker (External price): 0.87182
spread = (External price – Internal price) * amount * cross-price 1 * cross-price 2, where
cross-price 1 is a cross – price to ccy of server (USD) – cross GBP/USD
cross-price 2 is a cross-price to spread collection account (counter account) – cross 1/NZD/USD
spread = (0.87182 – 0.87180) * 100 000 * 1,57141 * 1/0.79123 = 3.97
so, during spread collection system makes a few crosses:
- to server currency (which is USD – in current example);
- to currency of spread collection account (which is NZD in current example).