Shioaji - Shioaji所有新的跨平台交易API(跨平台证券交易API)

Created at: 2018-11-21 14:27:12
Language: Dockerfile

盐治寺

shioaji-徽标sinopac徽标

PyPI-状态 PyPI-Python版本 PyPI-下载 建立-状态

覆盖范围 活页夹 doc 吉特 GitHub工作流程状态(分支)

Shioaji是中材集团提供的用于交易台湾和全球金融市场的最pythonic API。您可以使用自己喜欢的Python软件包(例如numpy,scipy,pandas,pytorch或tensorflow)来构建自己的交易模型,并在跨平台上集成shioaji api。

安装

二进制文件

简单使用pip进行安装

pip install shioaji

Docker镜像

在Docker中以交互模式轻松运行

docker run -it sinotrade/shioaji:latest

与Jupyter Lab或笔记本一起运行

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

快速入门

初始化

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",
)

只需像其他流行的python库一样导入我们的API库,然后导入新实例即可开始使用我们的API。登录您的帐户并激活认证,然后就可以开始下订单了。

流式市场数据

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
函数中,并提供报价类型即可接收流数据。

下订单

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)

就像上面使用合同来订阅市场数据一样,那么需要定义订单。将它们传递给

place_order
函数,然后它将返回描述您订单状态的交易。

结论

本快速入门演示了如何为本地Python用户使用我们的软件包。与许多其他交易API不同,Python开发人员很难。我们专注于为用户提供更多的pythonic交易API。

有关文档的更多用法详细信息。

doc

通讯

吉特

  • Gitter:一般聊天,在线讨论,协作等
  • GitHub问题:错误报告,功能请求,安装问题,RFC,想法等。

发布和贡献

Shioaji的发布周期为14天。请参阅发行变更日志。如果您遇到问题,请通过提交问题告知我们。

我们感谢所有建议。如果您有任何想法要我们实施,请与我们讨论。

团队

Shioaji目前由SallyYvictorSamCC.ChiaoPo Chien Yang负责维护,并做出了重要贡献。