TqSdk2 做市模块

TqSdk2 中提供了专门的做市模块,它可以实现:

  • 按照程序给定的买卖价差,自动挂撤单,在场上维持报单;

  • 按照持仓量最小原则,自动为委托单选择开仓或平仓;

  • 控制合约的单边持仓最大手数。确保合约任何一边的持仓手数+挂单手数 < 限制值;

  • 控制合约的净头寸。确保任意时刻合约的净头寸(多空持仓差) < 限制值;

  • 当存在净头寸持仓时,通过将报价向持仓相反方向偏移,来促使净头寸缩小;

做市模块使用样例

以下样例演示了 TqSdk2 做市模块的基础使用:

from tqsdk2 import TqApi, TqAuth, TqMarketMaker

api = TqApi(auth=TqAuth("信易账户", "账户密码"))
quote = api.get_quote("SHFE.au2109")
mm = TqMarketMaker(api, symbol = "SHFE.au2109")
# 设定按买卖价宽为1,两边各挂单量为10手,且做市时间为9点到10点15,10点30到11点25,其他参数按默认参数来进行挂单
mm.set_market_maker(quote_spread = 1, quote_volume = 10, time_range = [(90000, 101500), (103000, 112500)])
while True:
    api.wait_update()
    # 当最新价突破380时,将挂价宽度从1个最小价格变动单位改为5个,其他参数不变
    if quote.last_price > 380:
        mm.set_market_maker(quote_spread = 5)
    if mm.status == "PAUSE":
        print(f"当前做市挂单为暂停原因是{mm.status_msg}")

api.close()

做市模块接口说明

接口说明见 做市模块接口 .