基本操作 - 登入,取得市场清单

引用 Shioaji

要使用 shioaji 的话,一开始要先引用,这一段就是引用并给予一个简称 sj

import shioaji as sj

如果是使用 jupyter notebook,可以使用以下使指令查看物件的属性和方法

sj.Shioaji?

初始化 api 物件

根据上一段程序码执行的结果,可以看到 api 初始化有 4 个参数:

  • backend: http(预设), socket(文件说暂时没有支援,日後有需要再测试)
  • simulation: 预设 False,使用申请的帐号登入
  • proxies: proxy 设定, ex: { 'https': 'your-proxy-url' }
  • currency: 预设 NTD

如果没有特别的需求,直接始用以下指令就可以初始化 api 了

api = sj.Shioaji()

登入

api.login(person_id="帐号-身份证字号", passwd="密码")

列出所有帐号:

api.list_accounts()

设定预设帐号

api.set_default_account(api.list_accounts()[0])

设定凭证

  1. 下载专区,下载 凭证管理小AP
    download ca ap

  2. 执行後,就会自动申请凭证

  3. 申请完後可以申新凭证的密码,然後把这个凭证 copy 到指定的地方,我这就直接放在同一个目录,方便测试

  4. 启用凭证
    ca_path 是凭证的路径,因为我是放在同一个目录下,所以直接打档名

api.activate_ca(ca_path='Sinopac.pfx', ca_passwd='密码', person_id="帐号-身份证字号")

查看市场清单

英文是 Contracts,不确定中文怎麽翻,不过我看结果,应该就是指可以交易的市场清单

api.Contracts

可以看到列出以下几个分类:
Indexs: 指数
- OTC 上柜指数
- TSE 上市指数
Stocks: 股票
- OES
- OTC 证券交易所
- TSE 柜买中心
Futures: 期货
Options: 选择权

也可以指定而更细的子项目,来取得列表
ex: 取得选择权

api.Contracts.Futures

ex: 取得台指期

api.Contracts.Futures.TXF

ex: 取得台指期个别资料
ps: TXF202110 是上一个查询结果里其中一个,可以依照执行的时候取得的资料来变更

api.Contracts.Futures.TXF.TXF202110

查询结果如下:

Future(code='TXFJ1', symbol='TXF202110', name='台股期货', category='TXF', delivery_month='202110', delivery_date='2021/10/20', underlying_kind='I', unit=1, limit_up=19023.0, limit_down=15565.0, reference=17294.0, update_date='2021/09/18')

以上查询,也可以使用 code = 'TXFJ1' 来进行查询

api.Contracts.Futures.TXF['TXFJ1']
# or
api.Contracts.Futures['TXFJ1']

同理,查询股市也是一样的,只是 future 换成 stock 而已:
ex: 查询股市

api.Contracts.Stocks

ex: 查询 台积电 (2330)

api.Contracts.Stocks.TSE.TSE2330
# or
api.Contracts.Stocks["2330"]

今天先介绍到这,明天再介绍怎麽取得报价


<<:  Day4. 如何寻找设计切入点

>>:  #5 JavaScript in Browser

Progressive Web App Badging API 入门实做 (8)

什麽是 Badging API Badging API 让 App 能够显示通知数字,不过通知数字的...

运算式与运算子

JS杂拾-03-运算式与运算子 tags: ithome 内文摘要 Expressions 运算式 ...

JS中的排序法_下

今天Icebear要实作排序演算法简介中的另外3个演算法 积排序(HeapSort) 运作方式 : ...

[DAY2]建立容器(一)

一边把容器建立起来,一边看有没有什麽地方要修改的~ 1.network 跟着Multi contai...

【Day 07】tuple 介绍!

前言 今天要来继续接着介绍 tuple 的使用方法,包含了 Unpack(拆包),还有取出 tupl...