【D11】再度熟悉厨具:合约

前言

除了在Day6上面写的功能,发现合约还有很多东西可以玩。


概况

登入後,直接使用api.Contracts,观看可以使用的资料:

  • Indexs=(OTC, TSE)
  • Stocks=(OES, OTC, TSE)
  • Futures=(BRF, BTF, CAF, CBF, CCF, CDF, CE1, CEF, CFF, CGF, CHF, CJ1, CJF, CKF, CLF, CM1, CMF, CNF, CQF, CRF, CSF, CUF, CWF, CYF, CZF, DC1, DCF, DD1, DDF, DEF, DFF, DGF, DHF, DIF, DJF, DKF, DLF, DN1, DNF, DOF, DP1, DPF, DQF, DSF, DVF, DWF, DXF, DYF, DZ1, DZF, E4F, EEF, EGF, EHF, EMF, EP1, EPF, ERF, EXF, EYF, EZF, F1F, FBF, FE1, FEF, FF1, FFF, FGF, FKF, FNF, FQF, FRF, FTF, FVF, FWF, FXF, FYF, FZF, G2F, GAF, GCF, GDF, GHF, GIF, GJF, GLF, GMF, GNF, GOF, GRF, GTF, GUF, GWF, GXF, GZF, HAF, HBF, HCF, HHF, HI1, HIF, HLF, HOF, HSF, HYF, IA1, IAF, IHF, IIF, IJF, IMF, IOF, IPF, IQF, IRF, ITF, IXF, IYF, IZF, JBF, JF1, JFF, JMF, JNF, JPF, JSF, JWF, JZF, KAF, KBF, KCF, KDF, KEF, KFF, KGF, KIF, KKF, KLF, KOF, KP1, KPF, KSF, KUF, KWF, LBF, LCF, LEF, LIF, LMF, LO1, LOF, LQF, LRF, LTF, LUF, LV1, LVF, LWF, LXF, LYF, MAF, MBF, MJF, MKF, MPF, MQF, MVF, MX5, MXF, MYF, NAF, NBF, NCF, NDF, NEF, NGF, NI1, NIF, NJF, NLF, NMF, NOF, NQF, NSF, NUF, NVF, NWF, NXF, NYF, NZF, OAF, OBF, OCF, ODF, OEF, OHF, OJF, OKF, OLF, OMF, OOF, OPF, OQF, ORF, OSF, OTF, OUF, OVF, OWF, OXF, OYF, OZF, PAF, PBF, PCF, PDF, PEF, PFF, PGF, PHF, PIF, PJF, PKF, PL1, PLF, PMF, PNF, POF, PPF, PQF, PRF, PSF, PTF, PUF, PVF, PWF, PXF, PYF, PZF, QAF, QBF, QCF, QDF, QEF, QFF, QGF, QHF, QIF, QJF, QKF, QLF, QM1, QMF, QNF, QOF, QPF, QQF, QRF, QSF, RHF, RTF, SPF, T5F, TGF, TJF, TXF, UDF, UNF, XAF, XBF, XEF, XIF, XJF, ZEF)
  • Options=(CAO, CBO, CCO, CDA, CDO, CEA, CEO, CFO, CGO, CHO, CJO, CKO, CLO, CMO, CNO, CQO, CRO, CSO, CZO, DCO, DEO, DFO, DGO, DHO, DJO, DKO, DLO, DNO, DOO, DPO, DQO, DSO, DVO, DWO, DXO, GIO, GXO, HCO, IJO, LOO, NYO, NZO, OAO, OBO, OCO, OJO, OKO, OOO, OZO, QBO, RHO, RTO, TEO, TFO, TGO, TX5, TXO)

可以看得出来有四类,分别是指数、股票、期货、选择权,总类众多。上次介绍了股票,这次拿指数和期货来观察。

取得合约资讯

指数

指数有分成:OTC, TSE,分别代表台湾目前两个交易市场,柜台买卖中心(OTC)以及证券交易所(TSE)。首先我们取得证交所的资料:api.Contracts.Indexs["TSE"]

TSE(TSE001, TSE002, TSE003, TSE004, TSE005, TSE006, TSE008, TSE010, TSE015, TSE016, TSE017, TSE018, TSE019, TSE020, TSE021, TSE022, TSE023, TSE024, TSE025, TSE026, TSE027, TSE028, TSE029, TSE030, TSE031, TSE032, TSE033, TSE034, TSE035, TSE036, TSE037, TSE038, TSE039, TSE040, TSE041, TSE042, TSE043, TSE053, TSE054, TSE055, TSE056, TSE057, TSE058, TSE059, TSE060, TSE061, TSE062, TSE064, TSE065, TSE066, TSE067, TSE068, TSE069, TSE070, TSE071, TSE072, TSE073, TSE074, TSE075, TSE076, TSE077, TSE078, TSE079, TSE081, TSE082, TSE083, TSE084, TSE085, TSE086, TSE087, TSE088, TSE089, TSE090, TSE091, TSE092, TSE093, TSE094, TSE095, TSE096, TSE097, TSE098, TSE099)

可以看到很多TSE开头的资料,表示在这边的资料集目录底下,有这麽多的指数商品可以查询。假设我们选择第一个,也就是TSE001,这时要把TSE拿掉,只留001放进程序里面:

api.Contracts.Indexs["001"]

就取得在这系统中,加权指数的合约资讯。

exchange=<Exchange.TSE: 'TSE'> code='001' symbol='TSE001' name='加权指数'

同样的,直接使用Symbol方式也可以取得上列资料:

api.Contracts.Indexs.TSE.TSE001

期货

因为期货种类众多,这边就直接选择台指期TXF,就会使用api.Contracts.Futures["TXF"],就会取得:

TXF(TXF202112, TXF202110, TXF202206, TXF202203, TXF202111, TXF202209, TXFR1, TXFR2)

可以得到近期的契约状况,可以看到近期以及远期契约,也不用像之前用数的方式去找,直接从列表中取得即可。

同样的使用Symbol也可以达到相同的目的:

api.Contracts.Futures.TXF

结论

这样就可以藉由合约,取得所有商品的代码,无论是指数、股票、期货还是选择权,不用像Day6一样用算的,或是记忆代码,直接从清单取得。假设要所有市场资料,直接跑一个for回圈即可,不用大费周章的从别地取得资料。


<<:  Callback

>>:  Day25 串接第三方API

Day 8 - 资料储存

在Key-value的结构底下,一张表的储存讯息可以分为三种。分别是row、index、表的元信息。...

[Day 16] Sass - Booleans

Hi 今天的主题是有写过任一种程序语言的人都会很熟悉的“条件判断式”, 下面会介绍 @if @els...

Day 14-制作购物车系统之安装及资料夹结构(三)

今天要说git repository的部分。 go go~ 以下内容有参考教学影片,底下有附网址。 ...

Day30 file system, inode

前言 时间终於过到了最後一天,昨天看了三个特别的虚拟文件系统,今天就看看实际存在的文件管理系统吧! ...