Hello everyone,
I have been thinking of building open source vendor agnostic financial API for market data and order execution for about a year or two now. I finally decided to do it. The result is ZMAPI. It has fully functional market data (MD) support as of this moment. I have programmed three different connector modules to connect with three different vendors: Interactive Brokers TWS API, CTS T4 API and Bitstamp API. New connector can be added as required and I encourage people to contribute more connectors as the demand for them arise.
Account and execution side (AC) will be built in the future. I haven't started working with that yet and I'm now trying to come up with a good architecture. Any help with the architecture design will be very welcome.
Features:
- uniform API
- combining the best sides of all the vendors, abstracting away poor architecture
- modular design, middleware modules are used to provide uniformity
- vendor agnostic, no need to marry one vendor
- cross platform
- free
- open-source
- ØMQ is used for messaging
- language agnostic, works with every programming language
ZMAPI GitHub Page
ZMAPI Wiki
Bitstamp Tutorial
More tutorials coming soon...
----------
Pull requests, new ideas and comments are very much appreciated. Architecture can still be changed if there is a need as there are no real users yet, it's a brand new API. I'm open to suggestions.
Also looking to have some dedicated developers in the ZMAPI organization that will form the core team. Let me know if you have programming skills and interest in being part of this.
I have been thinking of building open source vendor agnostic financial API for market data and order execution for about a year or two now. I finally decided to do it. The result is ZMAPI. It has fully functional market data (MD) support as of this moment. I have programmed three different connector modules to connect with three different vendors: Interactive Brokers TWS API, CTS T4 API and Bitstamp API. New connector can be added as required and I encourage people to contribute more connectors as the demand for them arise.
Account and execution side (AC) will be built in the future. I haven't started working with that yet and I'm now trying to come up with a good architecture. Any help with the architecture design will be very welcome.
Features:
- uniform API
- combining the best sides of all the vendors, abstracting away poor architecture
- modular design, middleware modules are used to provide uniformity
- vendor agnostic, no need to marry one vendor
- cross platform
- free
- open-source
- ØMQ is used for messaging
- language agnostic, works with every programming language
ZMAPI GitHub Page
ZMAPI Wiki
Bitstamp Tutorial
More tutorials coming soon...
----------
Pull requests, new ideas and comments are very much appreciated. Architecture can still be changed if there is a need as there are no real users yet, it's a brand new API. I'm open to suggestions.
Also looking to have some dedicated developers in the ZMAPI organization that will form the core team. Let me know if you have programming skills and interest in being part of this.
Last edited:
You have definitely identified a common problem among data/broker apis. They all are different and some of them not very good. I do question how useful others will find it though. I'm going to guess that most people that would use this are writing their own platform/automation, but in that case they most certainly have already identified the same problems you have and have their own solution (tailored to their needs). The main concern I see with trying to create something general purpose like this is the extra overhead it could add to the whole process. My own platform also handles normalization, but it does so after normalizing it to a database so that the overhead of consuming that data is no different then if I went directly to the source. And maybe I missed it, but do you support direct streaming of data directly through the API? Also how do you handle the different amounts of information available between sources (ie the amount of info available for cryto is way more compared to equities)?