All Projects → Sinotrade → Shioaji

Sinotrade / Shioaji

Shioaji all new cross platform api for trading ( 跨平台證券交易API )

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Shioaji

Kupi Terminal
Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.
Stars: ✭ 104 (-48.77%)
Mutual labels:  trade, trading-api, trading, trading-platform
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+1175.37%)
Mutual labels:  trade, trading, trading-platform, market-data
Sumzerotrading
A Java API for Developing Automated Trading Applications for the Equity, Futures, and Currency Markets
Stars: ✭ 128 (-36.95%)
Mutual labels:  trading-api, trading, trading-platform, market-data
korbit-python
Korbit API wrapper for Python
Stars: ✭ 17 (-91.63%)
Mutual labels:  trading, trading-api, trading-platform
uniswap-python
🦄 The unofficial Python client for the Uniswap exchange.
Stars: ✭ 533 (+162.56%)
Mutual labels:  trading, trading-api, trade
open-trading-platform-API
The Open Trading Platform API is an independent module for managing API requests from the UI module
Stars: ✭ 17 (-91.63%)
Mutual labels:  trading, trading-api, trading-platform
Kelp
Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges
Stars: ✭ 580 (+185.71%)
Mutual labels:  trading-api, trading, trading-platform
Roq Api
API for algorithmic and high-frequency trading
Stars: ✭ 132 (-34.98%)
Mutual labels:  trading, trading-platform, market-data
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+10984.24%)
Mutual labels:  trade, trading, market-data
Quant
Codera Quant is a Java framework for algorithmic trading strategies development, execution and backtesting via Interactive Brokers TWS API or other brokers API
Stars: ✭ 104 (-48.77%)
Mutual labels:  trading-api, trading, trading-platform
Tradinggym
Trading and Backtesting environment for training reinforcement learning agent or simple rule base algo.
Stars: ✭ 813 (+300.49%)
Mutual labels:  trading-api, trading, trading-platform
Ccxt.net
CCXT.NET – CryptoCurrency eXchange Trading Library for .NET
Stars: ✭ 89 (-56.16%)
Mutual labels:  trade, trading, market-data
open-trading-platform-UI
The Open Trading Platform UI is a front-end module for trading across 5 crypto currency exchanges allowing both spot and margin trading. The UI needs to be used with the API repo.
Stars: ✭ 54 (-73.4%)
Mutual labels:  trading, trading-api, trading-platform
roq-samples
How to use the Roq C++20 API for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
Stars: ✭ 119 (-41.38%)
Mutual labels:  trading, market-data, trading-platform
Coinbase Pro Node
DEPRECATED — The official Node.js library for Coinbase Pro
Stars: ✭ 782 (+285.22%)
Mutual labels:  trade, trading-api, trading
Uniswap Python
🦄 The unofficial Python client for the Uniswap exchange.
Stars: ✭ 191 (-5.91%)
Mutual labels:  trade, trading-api, trading
Trade Frame
c++ based application for testing options based automated trading ideas using DTN IQ real time data feed and Interactive Brokers (TWS API) for trade execution.
Stars: ✭ 187 (-7.88%)
Mutual labels:  trading, trading-platform, market-data
Coinbase Pro Node
Coinbase Pro API written in TypeScript and covered by tests.
Stars: ✭ 116 (-42.86%)
Mutual labels:  trading-api, trading
Astibot
Astibot is a simple, visual and automated trading software for Coinbase Pro cryptocurrencies (Bitcoin trading bot)
Stars: ✭ 104 (-48.77%)
Mutual labels:  trading, trading-platform
Tradingstrategies
Algorithmic trading strategies
Stars: ✭ 120 (-40.89%)
Mutual labels:  trading, trading-platform

Shioaji

shioaji-logosinopac-logo

PyPI - Status PyPI - Python Version PyPI - Downloads Build - Status

Coverage Binder doc Gitter GitHub Workflow Status (branch)

Shioaji is sinopac provide the most pythonic api for trading the taiwan and global financial market. You can use your favorite Python packages such as numpy, scipy, pandas, pytorch or tensorflow to build your own trading model with intergrated the shioaji api on cross platform.

Installation

Binaries

simple using pip to install

pip install shioaji

Docker Image

simple run with interactive mode in docker

docker run -it sinotrade/shioaji:latest

run with jupyter lab or notebook

docker run -p 8888:8888 sinotrade/shioaji:jupyter

Quickstarts

Initialization

import shioaji as sj

api = sj.Shioaji()
accounts = api.login("YOUR_PERSON_ID", "YOUR_PASSWORD")
api.activate_ca(
    ca_path="/c/your/ca/path/Sinopac.pfx",
    ca_passwd="YOUR_CA_PASSWORD",
    person_id="Person of this Ca",
)

Just import our API library like other popular python library and new the instance to start using our API. Login your account and activate the certification then you can start placing order.

Streaming Market Data

api.quote.subscribe(api.Contracts.Stocks["2330"], quote_type="tick")
api.quote.subscribe(api.Contracts.Stocks["2330"], quote_type="bidask")
api.quote.subscribe(api.Contracts.Futures["TXFC0"], quote_type="tick")

Subscribe the real time market data. Simplely pass contract into quote subscribe function and give the quote type will receive the streaming data.

Place Order

contract = api.Contracts.Stocks["2890"]
order = api.Order(
    price=9.6,
    quantity=1,
    action="Buy",
    price_type="LMT",
    order_type="ROD",
    order_lot="Common",
    account=api.stock_account,
)
# or
order = api.Order(
    price=9.6,
    quantity=1,
    action=sj.constant.Action.Buy,
    price_type=sj.constant.TFTStockPriceType.LMT,
    order_type=sj.constant.TFTOrderType.ROD,
    order_lot=sj.constant.TFTStockOrderLot.Common,
    account=api.stock_account,
)
trade = api.place_order(contract, order)

Like the above subscribing market data using the contract, then need to define the order. Pass them into place_order function, then it will return the trade that describe the status of your order.

Conclusion

This quickstart demonstrates how easy to use our package for native Python users. Unlike many other trading API is hard for Python developer. We focus on making more pythonic trading API for our users.

More usage detail on document.

doc

Communication

Gitter

  • Gitter: general chat, online discussions, collaboration etc.
  • GitHub issues: bug reports, feature requests, install issues, RFCs, thoughts, etc.

Releases and Contributing

Shioaji has a 14 day release cycle. See the release change log. Please let us know if you encounter a bug by filing an issue.

We appreciate all suggestions. If you have any idea want us to implement, please discuss with us in gitter.

The Team

Shioaji is currently maintained by Sally, Yvictor, Sam, CC.Chiao and Po Chien Yang with major contributions.

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].