from tqsdk import TqApi
import math
api = TqApi(web_gui=True, auth=#######)
map = {k:v for k,v in api._data["quotes"].items() if not k.startswith("KQ") and v["expired"] == False}
def split2exprod( exchinstr: str):
exchange,instr = exchinstr.split('.')
product="".join(filter(str.isalpha,instr))
l= [exchange, product]
return l
result={}
for k,v in map.items():
if v.ins_class == 'FUTURE_OPTION' :
rl = split2exprod(v.underlying_symbol)
elif v.ins_class == 'FUTURE':
rl = split2exprod(k)
else:
pass # pass FUTURE_COMBINE
# if (math.isnan(v.upper_limit) or math.isnan(v.lower_limit)):
# continue
if rl[0] not in result.keys():
result[rl[0]] = {rl[1] : [v.price_tick, v.volume_multiple]}
else:
if rl[1] not in result[rl[0]].keys():
result[rl[0]].update( { rl[1] : [v.price_tick, v.volume_multiple] })
for exch,v in result.items():
print("交易所:",exch)
for p,t in v.items():
print("品种: ",p," 价格跳动: ",t[0],"合约乘数: ",t[1])
api.close()
获取到的结果为(白嫖党直接取用):
交易所: CFFEX
品种: TF 价格跳动: 0.005 合约乘数: 10000.0
品种: TS 价格跳动: 0.005 合约乘数: 20000.0
品种: T 价格跳动: 0.005 合约乘数: 10000.0
品种: IH 价格跳动: 0.2 合约乘数: 300.0
品种: IC 价格跳动: 0.2 合约乘数: 200.0
品种: IF 价格跳动: 0.2 合约乘数: 300.0
交易所: CZCE
品种: SA 价格跳动: 1.0 合约乘数: 20.0
品种: PF 价格跳动: 2.0 合约乘数: 5.0
品种: FG 价格跳动: 1.0 合约乘数: 20.0
品种: RM 价格跳动: 1.0 合约乘数: 10.0
品种: SM 价格跳动: 2.0 合约乘数: 5.0
品种: ZC 价格跳动: 0.2 合约乘数: 100.0
品种: CY 价格跳动: 5.0 合约乘数: 5.0
品种: SR 价格跳动: 1.0 合约乘数: 10.0
品种: AP 价格跳动: 1.0 合约乘数: 10.0
品种: UR 价格跳动: 1.0 合约乘数: 20.0
品种: CF 价格跳动: 5.0 合约乘数: 5.0
品种: LR 价格跳动: 1.0 合约乘数: 20.0
品种: RI 价格跳动: 1.0 合约乘数: 20.0
品种: TA 价格跳动: 2.0 合约乘数: 5.0
品种: SF 价格跳动: 2.0 合约乘数: 5.0
品种: WH 价格跳动: 1.0 合约乘数: 20.0
品种: RS 价格跳动: 1.0 合约乘数: 10.0
品种: PM 价格跳动: 1.0 合约乘数: 50.0
品种: CJ 价格跳动: 5.0 合约乘数: 5.0
品种: OI 价格跳动: 1.0 合约乘数: 10.0
品种: JR 价格跳动: 1.0 合约乘数: 20.0
品种: MA 价格跳动: 1.0 合约乘数: 10.0
交易所: DCE
品种: fb 价格跳动: 0.5 合约乘数: 10.0
品种: cs 价格跳动: 1.0 合约乘数: 10.0
品种: v 价格跳动: 5.0 合约乘数: 5.0
品种: eb 价格跳动: 1.0 合约乘数: 5.0
品种: c 价格跳动: 1.0 合约乘数: 10.0
品种: b 价格跳动: 1.0 合约乘数: 10.0
品种: i 价格跳动: 0.5 合约乘数: 100.0
品种: a 价格跳动: 1.0 合约乘数: 10.0
品种: y 价格跳动: 2.0 合约乘数: 10.0
品种: pg 价格跳动: 1.0 合约乘数: 20.0
品种: rr 价格跳动: 1.0 合约乘数: 10.0
品种: pp 价格跳动: 1.0 合约乘数: 5.0
品种: jd 价格跳动: 1.0 合约乘数: 10.0
品种: jm 价格跳动: 0.5 合约乘数: 60.0
品种: p 价格跳动: 2.0 合约乘数: 10.0
品种: j 价格跳动: 0.5 合约乘数: 100.0
品种: l 价格跳动: 5.0 合约乘数: 5.0
品种: eg 价格跳动: 1.0 合约乘数: 10.0
品种: m 价格跳动: 1.0 合约乘数: 10.0
品种: bb 价格跳动: 0.05 合约乘数: 500.0
交易所: INE
品种: bc 价格跳动: 10.0 合约乘数: 5.0
品种: nr 价格跳动: 5.0 合约乘数: 10.0
品种: sc 价格跳动: 0.1 合约乘数: 1000.0
品种: lu 价格跳动: 1.0 合约乘数: 10.0
交易所: SHFE
品种: ss 价格跳动: 5.0 合约乘数: 5.0
品种: wr 价格跳动: 1.0 合约乘数: 10.0
品种: hc 价格跳动: 1.0 合约乘数: 10.0
品种: bu 价格跳动: 2.0 合约乘数: 10.0
品种: fu 价格跳动: 1.0 合约乘数: 10.0
品种: cu 价格跳动: 10.0 合约乘数: 5.0
品种: rb 价格跳动: 1.0 合约乘数: 10.0
品种: pb 价格跳动: 5.0 合约乘数: 5.0
品种: ag 价格跳动: 1.0 合约乘数: 15.0
品种: ru 价格跳动: 5.0 合约乘数: 10.0
品种: al 价格跳动: 5.0 合约乘数: 5.0
品种: zn 价格跳动: 5.0 合约乘数: 5.0
品种: sp 价格跳动: 2.0 合约乘数: 10.0
品种: au 价格跳动: 0.02 合约乘数: 1000.0
品种: sn 价格跳动: 10.0 合约乘数: 1.0
品种: ni 价格跳动: 10.0 合约乘数: 1.0