Questions concerning the new FIX API implementation
- ← Previous
- 1
- 2
- 3 (current)
- 4
- Next →
Questions concerning the new FIX API implementation
Yes. It is not required, but is very much desired; 266="Y" instead of 266="N"
By being able to see non-aggregated prices tagged with unique LP IDs, you could then merge market data from several brokers, while suppressing duplicate prices associated with the unique LP IDs that appear across multiple brokers. You'd get a better idea of overall price action.
FIX protocol is extensible enough that Spotware could easily make Field 266 accessible, and send a unique LP ID for each non-aggregated price.
I am still waiting for their response.
ianj said:
olddirtypipster : I think this answers your question:
<20160805-15:49:44, FIX.4.4:icmarkets.xxx/QUOTE->cServer, outgoing> (8=FIX.4.49=12935=V34=249=icmarkets.xxx50=QUOTE52=20160805-15:49:44.70956=cServer262=1263=1264=0266=N146=155=1267=2269=0269=110=244)
<20160805-15:49:44, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=14235=334=249=cServer52=20160805-15:49:44.72656=icmarkets.xxx57=QUOTE45=258=Tag not defined for this message type 371=266 372=V373=210=084)
ianj said:
Field 266 "AggregatedBook" is NOT required in the spec and NOT documented in the cTrader docs, which means to me that non-aggregated prices are not offered - in the retail world, FULL book is not actually FULL book - lol
I might just prod it anyway, but i would be VERY surprised if it is offered at this level - the bandwidth requirements would increase dramatically
RE: RE: RE: RE: RE:
I can only say i agree - it would be nice, but don't hold your breath
olddirtypipster said:
Yes. It is not required, but is very much desired; 266="Y" instead of 266="N"
By being able to see non-aggregated prices tagged with unique LP IDs, you could then merge market data from several brokers, while suppressing duplicate prices associated with the unique LP IDs that appear across multiple brokers. You'd get a better idea of overall price action.
FIX protocol is extensible enough that Spotware could easily make Field 266 accessible, and send a unique LP ID for each non-aggregated price.
I am still waiting for their response.
And here you have it - IC Markets EUR/USD - later Friday - liquidity dropping off so update frequency is not indicative but it seems to be 2-5 tiers - your experience with other brokers may vary
This matches the "Standard DOM" (center option) on the cTrader gui format EXACTLY
<20160805-19:08:25, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=48135=X34=3349=cServer52=20160805-19:08:25.10556=icmarkets.xxx57=QUOTE268=10279=0269=0278=30241630555=1270=1.10901271=1500000279=0269=0278=30241630655=1270=1.109271=8000000279=0269=0278=30241630355=1270=1.10902271=100000279=0269=1278=30241630855=1270=1.10905271=1500000279=0269=1278=30241631055=1270=1.10906271=8000000279=2278=30241609355=1279=2278=30241409055=1279=2278=30241609255=1279=2278=30241609655=1279=2278=30241499955=110=115)
entry +279=0:278=302416305,269=0,55=1,270=1.10901,271=1500000.0
entry +279=0:278=302416306,269=0,55=1,270=1.109,271=8000000.0
entry +279=0:278=302416303,269=0,55=1,270=1.10902,271=100000.0
entry +279=0:278=302416308,269=1,55=1,270=1.10905,271=1500000.0
entry +279=0:278=302416310,269=1,55=1,270=1.10906,271=8000000.0
entry -279=2:278=302416093,55=1
entry -279=2:278=302414090,55=1
entry -279=2:278=302416092,55=1
entry -279=2:278=302416096,55=1
entry -279=2:278=302414999,55=1
302416306:0:8000000.0@1.109 0ms
302416305:0:1500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 0ms
302416095:1:100000.0@1.10904 215ms
302416308:1:1500000.0@1.10905 0ms
302416310:1:8000000.0@1.10906 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=37635=X34=3449=cServer52=20160805-19:08:27.72756=icmarkets.xxx57=QUOTE268=7279=0269=0278=30241735755=1270=1.10901271=4500000279=0269=0278=30241735855=1270=1.109271=5000000279=0269=1278=30241736255=1270=1.10907271=5000000279=0269=1278=30241736355=1270=1.10906271=3000000279=2278=30241630555=1279=2278=30241630655=1279=2278=30241631055=110=098)
entry +279=0:278=302417357,269=0,55=1,270=1.10901,271=4500000.0
entry +279=0:278=302417358,269=0,55=1,270=1.109,271=5000000.0
entry +279=0:278=302417362,269=1,55=1,270=1.10907,271=5000000.0
entry +279=0:278=302417363,269=1,55=1,270=1.10906,271=3000000.0
entry -279=2:278=302416305,55=1
entry -279=2:278=302416306,55=1
entry -279=2:278=302416310,55=1
302417358:0:5000000.0@1.109 0ms
302417357:0:4500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 2,622ms
302416095:1:100000.0@1.10904 2,837ms
302416308:1:1500000.0@1.10905 2,622ms
302417363:1:3000000.0@1.10906 0ms
302417362:1:5000000.0@1.10907 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=42635=X34=3549=cServer52=20160805-19:08:27.89656=icmarkets.xxx57=QUOTE268=9279=0269=0278=30241755755=1270=1.10901271=9000000279=0269=0278=30241755455=1270=1.10903271=100000279=0269=0278=30241755855=1270=1.10902271=500000279=0269=1278=30241756155=1270=1.10907271=8000000279=2278=30241735755=1279=2278=30241735855=1279=2278=30241630355=1279=2278=30241736255=1279=2278=30241736355=110=173)
entry +279=0:278=302417557,269=0,55=1,270=1.10901,271=9000000.0
entry +279=0:278=302417554,269=0,55=1,270=1.10903,271=100000.0
entry +279=0:278=302417558,269=0,55=1,270=1.10902,271=500000.0
entry +279=0:278=302417561,269=1,55=1,270=1.10907,271=8000000.0
entry -279=2:278=302417357,55=1
entry -279=2:278=302417358,55=1
entry -279=2:278=302416303,55=1
entry -279=2:278=302417362,55=1
entry -279=2:278=302417363,55=1
302417557:0:9000000.0@1.10901 0ms
302417558:0:500000.0@1.10902 0ms
302417554:0:100000.0@1.10903 0ms
302416095:1:100000.0@1.10904 3,005ms
302416308:1:1500000.0@1.10905 2,790ms
302417561:1:8000000.0@1.10907 0ms
RE:
What I would like to do is compare these prices to individual LP's, say Barclays or BNP. It would require getting a snapshot for a specific time fragment of prices from these LP's separately (not difficult), streaming non-aggregated prices from cTrader, identifying the target LP's price and comparing them. It would indicate whether the prices in cTrader are indeed solid.
ianj said:
And here you have it - IC Markets EUR/USD - later Friday - liquidity dropping off so update frequency is not indicative but it seems to be 2-5 tiers - your experience with other brokers may vary
This matches the "Standard DOM" (center option) on the cTrader gui format EXACTLY
<20160805-19:08:25, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=48135=X34=3349=cServer52=20160805-19:08:25.10556=icmarkets.xxx57=QUOTE268=10279=0269=0278=30241630555=1270=1.10901271=1500000279=0269=0278=30241630655=1270=1.109271=8000000279=0269=0278=30241630355=1270=1.10902271=100000279=0269=1278=30241630855=1270=1.10905271=1500000279=0269=1278=30241631055=1270=1.10906271=8000000279=2278=30241609355=1279=2278=30241409055=1279=2278=30241609255=1279=2278=30241609655=1279=2278=30241499955=110=115)
entry +279=0:278=302416305,269=0,55=1,270=1.10901,271=1500000.0
entry +279=0:278=302416306,269=0,55=1,270=1.109,271=8000000.0
entry +279=0:278=302416303,269=0,55=1,270=1.10902,271=100000.0
entry +279=0:278=302416308,269=1,55=1,270=1.10905,271=1500000.0
entry +279=0:278=302416310,269=1,55=1,270=1.10906,271=8000000.0
entry -279=2:278=302416093,55=1
entry -279=2:278=302414090,55=1
entry -279=2:278=302416092,55=1
entry -279=2:278=302416096,55=1
entry -279=2:278=302414999,55=1
302416306:0:8000000.0@1.109 0ms
302416305:0:1500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 0ms
302416095:1:100000.0@1.10904 215ms
302416308:1:1500000.0@1.10905 0ms
302416310:1:8000000.0@1.10906 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=37635=X34=3449=cServer52=20160805-19:08:27.72756=icmarkets.xxx57=QUOTE268=7279=0269=0278=30241735755=1270=1.10901271=4500000279=0269=0278=30241735855=1270=1.109271=5000000279=0269=1278=30241736255=1270=1.10907271=5000000279=0269=1278=30241736355=1270=1.10906271=3000000279=2278=30241630555=1279=2278=30241630655=1279=2278=30241631055=110=098)
entry +279=0:278=302417357,269=0,55=1,270=1.10901,271=4500000.0
entry +279=0:278=302417358,269=0,55=1,270=1.109,271=5000000.0
entry +279=0:278=302417362,269=1,55=1,270=1.10907,271=5000000.0
entry +279=0:278=302417363,269=1,55=1,270=1.10906,271=3000000.0
entry -279=2:278=302416305,55=1
entry -279=2:278=302416306,55=1
entry -279=2:278=302416310,55=1
302417358:0:5000000.0@1.109 0ms
302417357:0:4500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 2,622ms
302416095:1:100000.0@1.10904 2,837ms
302416308:1:1500000.0@1.10905 2,622ms
302417363:1:3000000.0@1.10906 0ms
302417362:1:5000000.0@1.10907 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=42635=X34=3549=cServer52=20160805-19:08:27.89656=icmarkets.xxx57=QUOTE268=9279=0269=0278=30241755755=1270=1.10901271=9000000279=0269=0278=30241755455=1270=1.10903271=100000279=0269=0278=30241755855=1270=1.10902271=500000279=0269=1278=30241756155=1270=1.10907271=8000000279=2278=30241735755=1279=2278=30241735855=1279=2278=30241630355=1279=2278=30241736255=1279=2278=30241736355=110=173)
entry +279=0:278=302417557,269=0,55=1,270=1.10901,271=9000000.0
entry +279=0:278=302417554,269=0,55=1,270=1.10903,271=100000.0
entry +279=0:278=302417558,269=0,55=1,270=1.10902,271=500000.0
entry +279=0:278=302417561,269=1,55=1,270=1.10907,271=8000000.0
entry -279=2:278=302417357,55=1
entry -279=2:278=302417358,55=1
entry -279=2:278=302416303,55=1
entry -279=2:278=302417362,55=1
entry -279=2:278=302417363,55=1
302417557:0:9000000.0@1.10901 0ms
302417558:0:500000.0@1.10902 0ms
302417554:0:100000.0@1.10903 0ms
302416095:1:100000.0@1.10904 3,005ms
302416308:1:1500000.0@1.10905 2,790ms
302417561:1:8000000.0@1.10907 0ms
RE: RE:
I would suggest that most prices (especially on the majors) are "shadowed/mirrored" to a very large degree across many brokers liquidity - multiplying the impression of available liquidity. In fact if you look at, say, Pepperstone & IC Markets, you could not slip a fag paper between them on EURUSD (a lovely colloquialism)
Each broker will have its own credit lines with each LP and so the spreads/sizes from each could vary, but it is unlikely that they will be happy to identify each LP uniquely
I know what you are looking for - good luck getting it. There are commercial and technical difficulties
olddirtypipster said:
What I would like to do is compare these prices to individual LP's, say Barclays or BNP. It would require getting a snapshot for a specific time fragment of prices from these LP's separately (not difficult), streaming non-aggregated prices from cTrader, identifying the target LP's price and comparing them. It would indicate whether the prices in cTrader are indeed solid.
RE: RE: RE:
Yes. It is unlikely that a broker will want to uniquely tag each price to an LP.
However, there is a technique I have worked on that tags a set of reoccurring prices across multiple brokers to a unique id group using a pattern recognition machine learning algo. What I need now is real non-aggregated data to complete the test. I have since been using simulated data with positive results.
ianj said:
I would suggest that most prices (especially on the majors) are "shadowed/mirrored" to a very large degree across many brokers liquidity - multiplying the impression of available liquidity. In fact if you look at, say, Pepperstone & IC Markets, you could not slip a fag paper between them on EURUSD (a lovely colloquialism)
Each broker will have its own credit lines with each LP and so the spreads/sizes from each could vary, but it is unlikely that they will be happy to identify each LP uniquely
I know what you are looking for - good luck getting it. There are commercial and technical difficulties
olddirtypipster said:
What I would like to do is compare these prices to individual LP's, say Barclays or BNP. It would require getting a snapshot for a specific time fragment of prices from these LP's separately (not difficult), streaming non-aggregated prices from cTrader, identifying the target LP's price and comparing them. It would indicate whether the prices in cTrader are indeed solid.
Dear Traders,
Please be advised that we cannot provide non-aggregated prices due to the contractual agreements.
Been away a week so no opportunity to comment but on my initial view this week:
Updates to a cTrader/cAlgo gui bot (in C#) are identical in (prices/volume and depth) and update frequency (tick per tick) as FIX
The FIX ticks are slightly are received slightly ahead (40-100ms) of the cAlgo feeds
This may be because of the additional overhead of the GUI (more likley) and/or my mechanism for recording ticks (less likley) but it is likely that FIX is faster - the data volume is the same
This is IC Markets live - other brokers may vary
RE:
ian.p.johnson1 said:
Been away a week so no opportunity to comment but on my initial view this week:
Updates to a cTrader/cAlgo gui bot (in C#) are identical in (prices/volume and depth) and update frequency (tick per tick) as FIX
The FIX ticks are slightly are received slightly ahead (40-100ms) of the cAlgo feeds
This may be because of the additional overhead of the GUI (more likley) and/or my mechanism for recording ticks (less likley) but it is likely that FIX is faster - the data volume is the same
This is IC Markets live - other brokers may vary
Looks pretty similar for Pepperstone - cAlgo/cTrader vs FIX
RE: RE:
Sooooo - some simple stats for you (IC Markets Live) :
24 hours 18th August
6,618,286 ticks across 73 instruments
A few of the "big tickers"
123440 GBPUSD
124516 EURUSD
129821 USDCAD
135040 USDJPY
151886 AUDJPY
157122 CADJPY
158240 GBPCAD
160263 GBPNZD
163966 GBPJPY
168702 GBPAUD
171227 EURJPY
Pepperstone was in the same ball park with some differences appropriate to the differing set of instruments it offers - am not quoting exact figures as i don't want to get into "tick wars"
Might run up some stats later for peak tick rate etc
- ← Previous
- 1
- 2
- 3 (current)
- 4
- Next →