All Projects β†’ WojciechZankowski β†’ Iextrading4j

WojciechZankowski / Iextrading4j

Licence: apache-2.0
IEX Cloud open source API wrapper

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Iextrading4j

Coinapi Sdk
SDKs for CoinAPI
Stars: ✭ 238 (+112.5%)
Mutual labels:  api, cryptocurrencies, market-data, sdk
coinbash
πŸ’° A bash script (CLI) for displaying crypto currencies market data in a terminal πŸ–₯
Stars: ✭ 110 (-1.79%)
Mutual labels:  crypto, market-data, cryptocurrencies
Crypto
Cryptocurrency Historical Market Data R Package
Stars: ✭ 112 (+0%)
Mutual labels:  cryptocurrencies, market-data, crypto
robinhood.tools
πŸ“ˆπŸ€‘πŸ’° Advanced trading tools and resources for Robinhood Web.
Stars: ✭ 27 (-75.89%)
Mutual labels:  crypto, forex, market-data
AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (+102.68%)
Mutual labels:  finance, crypto, forex
Tosdatabridge
A collection of resources for pulling real-time streaming data off of TDAmeritrade's ThinkOrSwim(TOS) platform; providing C, C++, Java and Python interfaces.
Stars: ✭ 229 (+104.46%)
Mutual labels:  api, finance, market-data
Coingecko Api
A Node.js wrapper for the CoinGecko API with no dependencies.
Stars: ✭ 159 (+41.96%)
Mutual labels:  api, market-data, crypto
Iex Api
The IEX API provides any individual or academic, public or private institution looking to develop applications that require stock market data to access near real-time quote and trade data for all stocks trading on IEX.
Stars: ✭ 683 (+509.82%)
Mutual labels:  api, finance, market-data
Stocksharp
Algorithmic trading and quantitative trading open source platform to develop trading robots (stock markets, forex, crypto, bitcoins, and options).
Stars: ✭ 4,601 (+4008.04%)
Mutual labels:  finance, forex, crypto
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+19990.18%)
Mutual labels:  api, market-data, crypto
Yahooquery
Python wrapper for an unofficial Yahoo Finance API
Stars: ✭ 288 (+157.14%)
Mutual labels:  api, finance, market-data
Cryptex
Gemini, GDAX, Bitfinex, Poloniex, Binance, Kraken, Cryptopia, Koinex, BitGrail and CoinMarketCap cryptocurrency exchange API clients in Swift / iOS SDK. Check prices and account balances using Sample iOS app.
Stars: ✭ 51 (-54.46%)
Mutual labels:  cryptocurrencies, sdk, crypto
Intrinio Realtime Node Sdk
Intrinio NodeJS SDK for Real-Time Stock & Crypto Prices
Stars: ✭ 30 (-73.21%)
Mutual labels:  finance, sdk, crypto
Ccxt.net
CCXT.NET – CryptoCurrency eXchange Trading Library for .NET
Stars: ✭ 89 (-20.54%)
Mutual labels:  api, market-data, crypto
Openapi Generator
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
Stars: ✭ 10,634 (+9394.64%)
Mutual labels:  api, sdk
Nestia
Automatic SDK and Document generator for the NestJS
Stars: ✭ 57 (-49.11%)
Mutual labels:  api, sdk
Domo Python Sdk
Python3 - Domo API SDK
Stars: ✭ 64 (-42.86%)
Mutual labels:  api, sdk
Openrouteservice R
🌐 R package to query openrouteservice.org
Stars: ✭ 57 (-49.11%)
Mutual labels:  api, sdk
Directus Docker
Directus 6 Docker β€” Legacy Container [EOL]
Stars: ✭ 68 (-39.29%)
Mutual labels:  api, sdk
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. πŸš€.
Stars: ✭ 1,176 (+950%)
Mutual labels:  api, sdk

IEXTrading4j: Open source IEX Cloud API library

Build Status codecov Quality Gate Language grade: Java Maven Central Javadoc Pitest

Open IEX Cloud account using referal link: IEX Cloud

IEX Cloud (iexcloud.io) support has been added to the library. All stuff related to old IEX Api has been marked as Deprecated. Some of old IEX Api will be still supported. For full support please move to the IEX Cloud API (iexcloud.io).

Table of Contents

Quick Start

Java SE 8 is required to use IEXTrading4j library.

Maven:

<dependency>
	<groupId>pl.zankowski</groupId>
	<artifactId>iextrading4j-all</artifactId>
	<version>3.4.2</version>
</dependency>

Gradle:

dependencies {
	compile 'pl.zankowski:iextrading4j-all:3.4.2'
}

Library is up to:

  • IEX Trading API version [1.24] - 09.11.2018
  • IEX Cloud API version [1.0] - 08.01.2021

Supported versions: Java SE 8, Java SE 9, Java SE 10, Java SE 11, Java SE 12

Description

IEXTrading4j library allows to receive all data available in API provided by IEXTrading company. They allow to use their market data completely for free, so go and try it out!

IEX Cloud Data & API description: https://iexcloud.io

Old Data & API description: https://iextrading.com/developer

Unofficial library listed on IEXTrading

IEX Trading

IEX A Fair, Simple, Transparent Exchange.

IEX is a stock exchange based in the United States. Started by Brad Katsuyama, it opened for trading on October 25, 2013. The company’s offices are located at 4 World Trade Center in New York City. The matching engine is located across the Hudson River in Weehawken, New Jersey, and the initial point of presence is located in a data center in Secaucus, New Jersey. IEX's main innovation is a 38-mile coil of optical fiber placed in front of its trading engine. This 350 microsecond delay adds a round-trip delay of 0.0007 seconds and is designed to negate the certain speed advantages utilized by some high-frequency traders.

IEX was created in response to questionable trading practices that had become widely used across traditional public Wall Street exchanges as well as dark pools and other alternative trading systems. The IEX exchange aims to attract investors by promising to "play fair" by operating in a transparent and straightforward manner, while also helping to level the playing field for traders. Strategies to achieve those goals include:

  • Publishing the matching rules used in the exchanges's computerized order matching engine.
  • Offering a limited number of simple and familiar order types.
  • Charging fixed fees on most orders (or a flat percentage rate on small orders).
  • Ensuring market pricing data arrives at external points of presence simultaneously.
  • Slightly delaying market pricing data to all customers (no colocation).
  • Refusing to pay for order flow.

Check out their beautiful site: IEX Trading

How to

IEX Cloud (iexcloud.io) requests

Synchronous call

To build request use classes that extend IEXCloudV1RestRequest interface. Secret token is required only for Account calls, otherwise you can provide just publishable token. Example request:

final IEXCloudClient cloudClient = IEXTradingClient.create(IEXTradingApiVersion.IEX_CLOUD_BETA_SANDBOX,
              new IEXCloudTokenBuilder()
                      .withPublishableToken("Tpk_18dfe6cebb4f41ffb219b9680f9acaf2")
                      .withSecretToken("Tsk_3eedff6f5c284e1a8b9bc16c54dd1af3")
                      .build());
final Quote quote = cloudClient.executeRequest(new QuoteRequestBuilder()
        .withSymbol("AAPL")
        .build());
System.out.println(quote);

Batch call

final IEXCloudClient cloudClient = IEXTradingClient.create(IEXTradingApiVersion.IEX_CLOUD_BETA_SANDBOX,
              new IEXCloudTokenBuilder()
                      .withPublishableToken("Tpk_18dfe6cebb4f41ffb219b9680f9acaf2")
                      .withSecretToken("Tsk_3eedff6f5c284e1a8b9bc16c54dd1af3")
                      .build());
final BatchStocks result = cloudClient.executeRequest(new BatchStocksRequestBuilder()
        .withSymbol("AAPL")
        .addType(BatchStocksType.LARGEST_TRADES)
        .addType(BatchStocksType.PRICE_TARGET)
        .addType(BatchStocksType.QUOTE)
        .build());
System.out.println(result);

Streaming SSE

To build request use classes that extend ISseRequestBuilder interface. Example request:

final IEXCloudClient cloudClient = IEXTradingClient.create(IEXTradingApiVersion.IEX_CLOUD_BETA_SANDBOX,
              new IEXCloudTokenBuilder()
                      .withPublishableToken("Tpk_18dfe6cebb4f41ffb219b9680f9acaf2")
                      .withSecretToken("Tsk_3eedff6f5c284e1a8b9bc16c54dd1af3")
                      .build());

final Consumer<List<TOPS>> TOPS_CONSUMER = System.out::println;
final SseRequest<List<TOPS>> request = new TopsSseRequestBuilder()
        .withSymbol("AAPL")
        .build();

cloudClient.subscribe(request, TOPS_CONSUMER);

Please see samples for more examples.

IEX Api (iextrading.com/developer) requests

Support for IEX Api has been reduced after June 1, 2019.

To build request use classes that extend IEXApiRestRequest interface. Example request:

final IEXApiClient iexTradingClient = IEXTradingClient.create();
final Quote quote = iexTradingClient.executeRequest(new QuoteRequestBuilder()
        .withSymbol("AAPL")
        .build());
System.out.println(quote);

Wiki

Please visit Wiki to get more information.

License

Code and documentation released under the Apache License, Version 2.0

Data provided for free by IEX.

IEX Trading API Exhibit A: Exhibit A

Others

IEXTrading4j HIST

IEX Trading allows users to receive their market data completly for free. Their data can be accessed in real-time during market session or can be downloaded as recorded sessions in PCAP data format. Market Data is transported in binary format and can be read according to specification shared on their site.

This library allows you to transform binary packets into human readable Market Data events in Java.

More on this topic can found here: IEX Trading Market Data

IEXTrading4j BOOK

IEXTrading4j Book library allows to build incremental Order Book based on PriceLevelUpdateMessages from DEEP market data stream. OrderBook implementation follows description from specification.

IEXTrading4j FIX

IEXTrading4j FIX project provides open source FIX dictionary that follows IEX FIX specification. It allows to easily integrate your systems with IEX FIX connectivity using libraries like QuickFIX or QuickFIX/J.

Donations

To support this repository: bc1qv6cz6t302qvamxlhyr3m7mdwrnc7anqc35wp3t

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].