tqsdk.sim - 模拟交易

class tqsdk.sim.TqSim(init_balance: float = 10000000.0, account_id: str = None)

天勤模拟交易类

该类实现了一个本地的模拟账户,并且在内部完成撮合交易,在回测和复盘模式下,只能使用 TqSim 账户来交易。

限价单要求报单价格达到或超过对手盘价格才能成交, 成交价为报单价格, 如果没有对手盘(涨跌停)则无法成交

市价单使用对手盘价格成交, 如果没有对手盘(涨跌停)则自动撤单

模拟交易不会有部分成交的情况, 要成交就是全部成交

Args:

init_balance (float): [可选]初始资金, 默认为一千万

account_id (str): [可选]帐号, 默认为 TQSIM

Example:

# 修改TqSim模拟帐号的初始资金为100000
from tqsdk import TqApi, TqSim
api = TqApi(TqSim(init_balance=100000), auth=TqAuth("信易账户", "账户密码"))
set_commission(symbol: str, commission: float = nan)

设置指定合约模拟交易的每手手续费。

Args:

symbol (str): 合约代码 (只支持期货合约)

commission (float): 每手手续费

Returns:

float: 设置的每手手续费

Example:

from tqsdk import TqSim, TqApi

sim = TqSim()
api = TqApi(sim, auth=TqAuth("信易账户", "账户密码"))

sim.set_commission("SHFE.cu2112", 50)

print(sim.get_commission("SHFE.cu2112"))
set_margin(symbol: str, margin: float = nan)

设置指定合约模拟交易的每手保证金。

Args:

symbol (str): 合约代码 (只支持期货合约)

margin (float): 每手保证金

Returns:

float: 设置的每手保证金

Example:

from tqsdk import TqSim, TqApi

sim = TqSim()
api = TqApi(sim, auth=TqAuth("信易账户", "账户密码"))

sim.set_margin("SHFE.cu2112", 26000)

print(sim.get_margin("SHFE.cu2112"))
get_margin(symbol: str)

获取指定合约模拟交易的每手保证金。

Args:

symbol (str): 合约代码

Returns:

float: 返回合约模拟交易的每手保证金

Example:

from tqsdk import TqSim, TqApi

sim = TqSim()
api = TqApi(sim, auth=TqAuth("信易账户", "账户密码"))

print(sim.get_margin("SHFE.cu2112"))
get_commission(symbol: str)

获取指定合约模拟交易的每手手续费

Args:

symbol (str): 合约代码

Returns:

float: 返回合约模拟交易的每手手续费

Example:

from tqsdk import TqSim, TqApi

sim = TqSim()
api = TqApi(sim, auth=TqAuth("信易账户", "账户密码"))

print(sim.get_commission("SHFE.cu2112"))