futures io



ZMAPI - open source vendor agnostic financial API


Discussion in Platforms and Indicators

Updated
      Top Posters
    1. looks_one rounder8 with 3 posts (7 thanks)
    2. looks_two Quick Summary with 1 posts (0 thanks)
    3. looks_3 rleplae with 1 posts (0 thanks)
    4. looks_4 rockthekazmarck with 1 posts (0 thanks)
    1. trending_up 1,801 views
    2. thumb_up 7 thanks given
    3. group 6 followers
    1. forum 6 posts
    2. attach_file 0 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 150,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

ZMAPI - open source vendor agnostic financial API

(login for full post details)
  #1 (permalink)
 rounder8 
Bangkok, Thailand
 
Experience: None
 
Posts: 148 since Mar 2011
Thanks: 291 given, 173 received

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, accessible with every programming language

ZMAPI GitHub Page

ZMAPI Wiki

Bitstamp Tutorial

More tutorials coming soon... (futures specific vendors included)

----------

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 are interested in being part of this.

Started this thread Reply With Quote
The following user says Thank You to rounder8 for this post:

Can you help answer these questions
from other members on futures io?
ninja trdaer order blocks, orice action ict
NinjaTrader
Interactive Brokers is going to offer Taiwan stocks
Brokers
Sierra Chart SC time and sales question
Sierra Chart
About : All data must first be loaded by the hosting Nin …
NinjaTrader
DefineDLLFunc C++ Example
EasyLanguage Programming
 
Best Threads (Most Thanked)
in the last 7 days on futures io
Big Mike in Ecuador
28 thanks
New NinjaTrader
18 thanks
futures io site changelog and issues/problem reporting
16 thanks
Unsubscribe from Threads
14 thanks
Not enough skin in the game?
10 thanks
 
(login for full post details)
  #3 (permalink)
 rleplae 
Market Wizard
Gits (Hooglede) Belgium
 
Experience: Master
Platform: NinjaTrader, Proprietary,
Broker: Ninjabrokerage/IQfeed + Synthetic datafeed
Trading: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
 
rleplae's Avatar
 
Posts: 2,999 since Sep 2013
Thanks: 2,442 given, 5,858 received


How do you position your effort with regards to FIX ?

In my understanding FIX aims exactly to standardize what you are trying to achieve..

Maybe i'm missing some part ? Feel free to explain..

Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #4 (permalink)
 rounder8 
Bangkok, Thailand
 
Experience: None
 
Posts: 148 since Mar 2011
Thanks: 291 given, 173 received


rleplae View Post
How do you position your effort with regards to FIX ?

In my understanding FIX aims exactly to standardize what you are trying to achieve..

Maybe i'm missing some part ? Feel free to explain..

Hi rleplae, thanks for your input!

It's a good question. FIX is a standardized form of messaging protocol that indeed supports both market data, account and executions. It would seem that ZMAPI is yet another protocol for no good reason, as it already exists.

FIX protocol undeniably has massive amount of institutional users but FIX endpoints for non-institutional users are very hard to come by. Middleware modules that the financial institutions use are proprietary and not strictly guarded trade secrets. API uniforming connectors and middleware modules could be build using FIX as messaging protocol but in the non-institutional setting that would mean most of the connectors would be converting from proprietary API to FIX anyway. There is very little amount (I don't know of any) of open source FIX modules that could benetit from this.

FIX standard was created on early 1992 and world has changed massively after that. It feels ancient and is quite awkward to use with limited amount of parsers available. Binary protocols have been built after the introduction of FIX to reduce the bandwidth and processing requirements. ZMAPI uses JSON everywhere with optional support for binary protocols. JSON is extremely easy and quick to parse with any language. Market data emissions for example can be encoded using a binary protocol in future for better efficiency with the added cost of programming complexity.

ZMAPI can be extended to provide FIX as the messaging format if that is for some reason feasible. ZMAPI can be connected to all vendors using FIX with a single connector module. If anyone can provide me access to a FIX endpoint I'd be happy to code it. As mentioned, FIX endpoints are a scarcity for non-institutions.

Please let me know if this does not answer your question and I'll try to come up with a better explanation...

Started this thread Reply With Quote
The following 3 users say Thank You to rounder8 for this post:
 
(login for full post details)
  #5 (permalink)
ri777
Kaunas, Lithuania
 
 
Posts: 2 since Aug 2018
Thanks: 38 given, 0 received

Hi rounder8,

Are you still working on your project? Could you add CQG Continuum and TT data to the API, please? I am trading on CTS T4 data, but it would be nice to have more alternatives with more exchanges.

Reply With Quote
 
(login for full post details)
  #6 (permalink)
 rounder8 
Bangkok, Thailand
 
Experience: None
 
Posts: 148 since Mar 2011
Thanks: 291 given, 173 received


ri777 View Post
Hi rounder8,

Are you still working on your project? Could you add CQG Continuum and TT data to the API, please? I am trading on CTS T4 data, but it would be nice to have more alternatives with more exchanges.

Hi r1777,

Thanks for you interest in this project!

I have been too busy with other stuff in the last few months but I'm just getting back to ZMAPI development. Market data (MD) side for ZMAPI has largely been done and is mostly functional. Execution side (AC) exists only in my head right now.

I have not been able to document everything yet and right now am working on documentation to make it as easy as possible for people to jump in and start experimenting with ZMAPI. With good documentation it should be easy enough for programmers to write connectors for such data vendors (or execution vendors) as CQG or TT. Indeed it is my wish to see people writing connectors and publishing them for others to use in the future once the infrastructure has been built and the documentation is clear.

I have been hiring a bit of help to get this done faster and in the future may do so in larger scale.

In the near future I'm looking to automate all executions using ZMAPI based order bots. Keep your eyes open for updates ...

Started this thread Reply With Quote
The following 3 users say Thank You to rounder8 for this post:
 
(login for full post details)
  #7 (permalink)
rockthekazmarck
Miami, Florida
 
 
Posts: 2 since Feb 2023
Thanks: 0 given, 0 received

@rounder8

What is the best way to communicate with you? Are you available to communicate via telegram app or any other platform? I am interested in what you've done and I have a small project i wish you'd be able to help with.

I would appreciate 5 minutes of your time.

Thank you

Reply With Quote


futures io Trading Community Platforms and Indicators > [Other]       ZMAPI - open source vendor agnostic financial API


Last Updated on February 15, 2023


Upcoming Webinars and Events
 

NinjaTrader Indicator Challenge!

Ongoing
     



Copyright © 2023 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada), info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts