Author

Topic: Bitcoin HFT client using FIX API (Read 1726 times)

member
Activity: 123
Merit: 10
Quantitative investments in decentralized ecomomy
November 09, 2017, 04:42:30 PM
#9
Requirments:
Get realtime data from btcchina and okcoin exchanges.
Create buy&sell procedures with error handling.
Create a log file for every session of trading.
Wrap it all in threads that can function simultaneously.
*** interface with exchanges using their FIX API

I’ve also heard HitBTC has FIX API https://hitbtc.com/fix
Do you know about that?
sr. member
Activity: 410
Merit: 257
May 17, 2015, 08:44:45 PM
#8
Cryptocoin exchanges, I meant...
legendary
Activity: 2128
Merit: 1073
May 17, 2015, 05:46:38 PM
#7
I studied JavaFix, but the problem is just, that it's so different from most of the current exchanges.
When you say "current exchanges" do you mean "cryptocoin exchanges" or "established financial exchanges"? In the FIAT financial world every exchange/broker/etc. supports FIX or equivalent session-oriented protocol. When they do not support it its a good sign that it is a bucket shop or other scam.
sr. member
Activity: 410
Merit: 257
May 17, 2015, 05:41:30 PM
#6
I studied JavaFix, but the problem is just, that it's so different from most of the current exchanges. I needed a design, that abstracts from one specific exchange, so a bot could communicate via a interface, that is then implemented for all the exchanges. So you could write a strategy, and apply it then to any supported exchange as an example.
legendary
Activity: 2128
Merit: 1073
May 17, 2015, 11:25:41 AM
#5
When I did my HFT attempts, the biggest problem were the rest APIs of the exchanges, that had major access restrictions (often like 1 currency pair every15s, or so).
REST is for losers. The whole point of FIX is that there's only one connection long lasting being made for the whole trading session. FIX conceptually hails from the days of analog telephone modems, where establishing a connection took better part of a minute.

The problem with FIX is that it requires implementation of the producer-subscriber design pattern and that is way too much for most of the programmers, who never ventured beyond request-response pattern.

The main problems with REST (and other communication mechanisms based on HTTP) is that the sudden spike in popularity of the service is indistinguishable from a distributed denial of service attack.
sr. member
Activity: 410
Merit: 257
May 16, 2015, 10:22:09 AM
#4
When I did my HFT attempts, the biggest problem were the rest APIs of the exchanges, that had major access restrictions (often like 1 currency pair every15s, or so). With hundreds of pairs, it's almost impossible to get all the arb opportunities in a reasonable time. Maybe proxies or several servers would help, but I never had such infrastructure available.

One of my older attempts:


sr. member
Activity: 410
Merit: 257
May 14, 2015, 10:18:46 AM
#3
I could help with some Java code for REST api's?
legendary
Activity: 2128
Merit: 1073
May 13, 2015, 11:28:57 AM
#2
Two questions:

1) according to you which cryptocoins exchanges have an actual working FIX protocol interface with real live data, not some "demo mode"?

2) are you (or your intended programmer/user) familiar with the totally event-driven, non-blocking, programming paradigm?

I'm asking those questions after some experience with non-cryptocoin trading where people and companies claim to support FIX, but don't really do support it and moreover are completely mentally wedded to the request-response paradigm (RPC, REST, etc.)

Edit: And maybe a 3rd question:

3) are you essentially asking for a cryptocoin equivalent of e.g. Interactive Brokers gateway that talks FIX with the exchange but does multithreaded RPC/LPC with the user's/programmer's algorithms?
newbie
Activity: 6
Merit: 0
May 13, 2015, 03:36:14 AM
#1
I am looking for a skilled developer with hands on experience building automatic trading applications in the bitcoin world.

The desired product is a simple interface (no gui needed) to run my own trading algorithm.

Requirments:
Get realtime data from btcchina and okcoin exchanges.
Create buy&sell procedures with error handling.
Create a log file for every session of trading.
Wrap it all in threads that can function simultaneously.
*** interface with exchanges using their FIX API
Create an empty client (for me) that will allow me to get the real time market data, do my own calculations, and perform my trades with minimum latency.

You can do the project yourself or guide me through it - both are acceptable.

For details pleasse contact me at [email protected]
best regards,
Yair
Jump to: