8.【QMT使用指南】- 交易函数

交易下单函数
passorder - 综合下单函数
综合下单函数,用于股票、期货、期权等下单和新股、新债申购、融资融券等交易操作。推荐使用。
passorder(opType, orderType, accountid, orderCode, prType, price, volume, strategyName, quickTrade, userOrderId, ContextInfo)
# 示例passorder( 2, # opType 操作号 1101, # orderType 组合方式 '1000044', # accountid 资金账号 'cu2403.SF', # orderCode 品种代码 14, # prType 报价类型 0.0, # price 价格 2, # volume 下单量 '示例下单', # strategyName 策略名称 1, # quickTrade 快速下单标记 '投资备注', # userOrderId 投资备注 C # ContextInfo 策略上下文)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
opType |
int
|
操作类型,如股票买入、期货开仓等 |
orderType |
int
|
下单方式,如按股票数量买卖或按金额买卖 |
accountid |
string
|
资金账号 |
orderCode |
string
|
下单代码,如股票代码、期货合约代码 |
prType |
int
|
下单选价类型 |
price |
float
|
下单价格 |
volume |
int
|
下单数量(股 / 手 / 元 / %) |
strategyName |
string
|
自定义策略名 |
quickTrade |
int
|
设定是否立即触发下单 |
userOrderId |
string
|
用户自设委托 ID |
ContextInfo |
class
|
系统参数,含有 K 线信息和接口的上下文对象 |
返回值
无
algo_passorder - 算法下单(拆单)函数
用于按固定时间间隔和固定规则把目标交易数量拆分成多次下单的交易函数。
algo_passorder(opType, orderType, accountid, orderCode, prType, price, volume, [strategyName, quickTrade, userOrderId, userOrderParam], ContextInfo)
提示
算法交易下单,此时使用交易面板-程序交易-函数交易-函数交易参数中设置的下单类型(普通交易、算法交易、随机量交易)。如果函数交易参数使用未修改的默认值,此函数和passorder
函数一致。设置了函数交易参数后,将会使用函数交易参数的超价等拆单参数。
algo_passorder
内的prType
若赋值,则优先使用该参数;若algo_passorder
内的prType=-1
,将会使用userOrderParam
内的opType
;若userOrderParam
未赋值,则使用界面上的函数交易参数的报价方式。
参数说明
其他参数同passorder
,详细解释可参考passorder
的说明。
userOrderParam
是用户自定义交易参数,主要用于修改算法交易的参数。其中Key
和Value
类型定义如下:
Key | Value类型 | Value |
---|---|---|
OrderType |
int
|
普通交易:0 <br>算法交易:1 <br>随机量交易:2
|
PriceType |
int
|
报价方式,数值同passorder 的prType
|
MaxOrderCount |
int
|
最大下单次数 |
SinglePriceRange |
int
|
波动区间是否单向:<br>否:0 ,是:1
|
PriceRangeType |
int
|
波动区间类型按比例:0 ,按数值:1
|
PriceRangeValue |
float
|
波动区间(按数值) |
PriceRangeRate |
float
|
波动区间(按比例)[0-1]
|
SuperPriceType |
int
|
单笔超价类型:<br>按比例:0 <br>按数值:1
|
SuperPriceRate |
float
|
单笔超价(按比例)[0-1]
|
SuperPriceValue |
float
|
单笔超价(按数值) |
VolumeType |
int
|
单笔基准量类型<br>卖1+2+3+4+5量:0 <br>卖1+2+3+4量:1 <br>…<br>卖1量:4 <br>买1量:5 <br>…<br>买1+2+3+4+5量:9 <br>目标量:10 <br>目标剩余量:11 <br>持仓数量:12
|
VolumeRate |
float
|
单笔下单比率[0-1]
|
SingleNumMin |
float
|
单笔下单量最小值 |
SingleNumMax |
float
|
单笔下单量最大值 |
ValidTimeType |
int
|
有效时间类型:<br>0 :按持续时间<br>1 :按时间区间,默认为0
|
ValidTimeElapse |
int
|
有效持续时间,ValidTimeType 设置为0 时生效
|
ValidTimeStart |
int
|
有效开始时间偏移,ValidTimeType 设置为1 时生效
|
ValidTimeEnd |
int
|
有效结束时间偏移,ValidTimeType 设置为1 时生效
|
UndealtEntrustRule |
int
|
未成委托处理数值同prType
|
PlaceOrderInterval |
int
|
下撤单时间间隔 |
UseTrigger |
int
|
是否触价:<br>否:0 <br>是:1
|
TriggerType |
int
|
触价类型:<br>最新价大于:1 <br>最新价小于:2
|
TriggerPrice |
float
|
触价价格 |
SuperPriceEnable |
int
|
超价启用笔数 |
示例
userparam = { "OrderType": 1, "MaxOrderCount": 20, "SuperPriceType": 1, "SuperPriceValue": 1.12}accid = "918800000818" # 资金账号algo_passorder( 23, # opType 1101, # orderType accid, "000001.SZ", # orderCode 5, # prType 0, # price 100, # volume "", # strategyName 1, # quickTrade "", # userOrderId userparam, # userOrderParam ContextInfo)
smart_algo_passorder - 智能算法(VWAP 等)函数
用于使用主动算法或被动算法交易的函数,如VWAP、TWAP等。
调用方法一
smart_algo_passorder(opType, orderType, accountid, orderCode, prType, price, volume, strategyName, quickTrade, userOrderId, smartAlgoType, limitOverRate, minAmountPerOrder, [targetPriceLevel, startTime, endTime, limitControl], ContextInfo)
提示
调用该函数需要有智能算法使用权限。
参数说明
参数名 | 类型 | 说明 | 提示 |
---|---|---|---|
prType |
int
|
可选值:<br>11:限价(仅股票支持)<br>12:市价 | |
smartAlgoType |
str
|
智能算法类型,如VWAP 、TWAP 等
|
|
limitOverRate |
int
|
量比,数据范围0-100
|
网格算法无此项<br>若在algoParam 中填写量比,则填写范围0-1 的小数
|
minAmountPerOrder |
int
|
智能算法最小委托金额,数据范围0-100000
|
|
targetPriceLevel |
int
|
智能算法目标价格 |
输入无效值则为1 <br>仅冰山算法可选
|
startTime |
str
|
智能算法开始时间,格式"HH:MM:SS"
|
默认"09:30:00"
|
endTime |
str
|
智能算法截止时间,格式"HH:MM:SS"
|
默认"15:30:00"
|
limitControl |
int
|
涨跌停控制 |
默认1 <br>1 :涨停不卖跌停不卖<br>0 :无限制
|
返回值
无
示例
smart_algo_passorder( 23, # opType 1101, # orderType account, # 资金账号 "000001.SZ", # orderCode 12, # prType 0, # price 5000, # volume "", # strategyName 2, # quickTrade "", # userOrderId "VWAP", # smartAlgoType 25, # limitOverRate 0, # minAmountPerOrder 1, # targetPriceLevel "10:25:00", # startTime "14:50:00", # endTime 1, # limitControl ContextInfo)
调用方法二
smart_algo_passorder(opType, orderType, accountid, orderCode, prType, modelprice, volume, strategyName, quickTrade, userid, smartAlgoType, startTime, endTime, algoParam, ContextInfo)
获取algoParam
具体字段
algoParam = get_smart_algo_param(algoList)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
algoList |
list
|
需要查询参数配置信息的算法名称列表,若传空则查询全部有权限的算法参数配置信息 |
返回值
返回一个字典,键为算法名称,值为参数字典列表。
示例
algoParam = get_smart_algo_param(["VWAP"])
cancel - 撤销委托
cancel(orderId, accountId, accountType, ContextInfo)
参数说明
参数名 | 类型 | 含义 | 说明 |
---|---|---|---|
orderId |
string
|
委托号 | 必填 |
accountID |
string
|
资金账号 | 必填 |
AccountType |
string
|
账号类型 |
可选:<br>FUTURE :期货<br>STOCK :股票<br>CREDIT :信用<br>HUGANGTONG :沪港通<br>SHENGANGTONG :深港通<br>STOCK_OPTION :期权<br>必填
|
ContextInfo |
class
|
含有 K 线信息和接口的上下文对象 | 必填 |
返回值
bool
,是否发出了取消委托信号,返回值含义:
-
True
:是 -
False
:否
示例
cancel(orderid, ContextInfo.accid, "stock", ContextInfo)
cancel_task - 撤销任务
cancel_task(taskId, accountId, accountType, ContextInfo)
参数说明
参数名 | 类型 | 含义 | 说明 |
---|---|---|---|
taskId |
string
|
委托号 | 必填 |
accountID |
string
|
资金账号 | 必填 |
AccountType |
string
|
账号类型 |
可选:<br>FUTURE :期货<br>STOCK :股票<br>CREDIT :信用<br>HUGANGTONG :沪港通<br>SHENGANGTONG :深港通<br>STOCK_OPTION :期权<br>必填
|
ContextInfo |
class
|
含有 K 线信息和接口的上下文对象 | 必填 |
返回值
bool
,是否发出了撤销任务信号,返回值含义:
-
True
:是 -
False
:否
示例
cancel_task(obj.m_nTaskId, ContextInfo.accid, "stock", ContextInfo)
pause_task - 暂停任务
暂停智能算法任务。
pause_task(taskId, accountId, accountType, ContextInfo)
参数说明
参数名 | 类型 | 含义 | 说明 |
---|---|---|---|
taskId |
string
|
委托号 | 必填 |
accountID |
string
|
资金账号 | 必填 |
AccountType |
string
|
账号类型 |
可选:<br>FUTURE :期货<br>STOCK :股票<br>CREDIT :信用<br>HUGANGTONG :沪港通<br>SHENGANGTONG :深港通<br>STOCK_OPTION :期权<br>必填
|
ContextInfo |
class
|
含有 K 线信息和接口的上下文对象 | 必填 |
返回值
bool
,是否发出了暂停任务信号,返回值含义:
-
True
:是 -
False
:否
示例
pause_task(obj.m_nTaskId, ContextInfo.accid, "stock", ContextInfo)
resume_task - 继续任务
继续智能算法任务。
resume_task(taskId, accountId, accountType, ContextInfo)
参数说明
参数名 | 类型 | 含义 | 说明 |
---|---|---|---|
taskId |
string
|
委托号 | 必填 |
accountID |
string
|
资金账号 | 必填 |
AccountType |
string
|
账号类型 |
可选:<br>FUTURE :期货<br>STOCK :股票<br>CREDIT :信用<br>HUGANGTONG :沪港通<br>SHENGANGTONG :深港通<br>STOCK_OPTION :期权<br>必填
|
ContextInfo |
class
|
含有 K 线信息和接口的上下文对象 | 必填 |
返回值
bool
,是否发出了重启任务信号,返回值含义:
-
True
:是 -
False
:否
示例
resume_task(obj.m_nTaskId, ContextInfo.accid, "stock", ContextInfo)
get_basket - 获取股票篮子
get_basket(basketName)
参数说明
-
basketName
:股票篮子名称
示例
print(get_basket("basket1"))
set_basket - 设置股票篮子
set_basket(basketDict)
参数说明
-
basketDict
:股票篮子,格式为{'name':股票篮子名称, 'stocks':[{'stock':股票名称, 'weight':权重, 'quantity':数量, 'optType':交易类型}]}
示例
table = [ {"stock": "600000.SH", "weight": 0.11, "quantity": 100, "optType": 23}, {"stock": "600028.SH", "weight": 0.11, "quantity": 200, "optType": 24},]basket = {"name": "basket1", "stocks": table}set_basket(basket)
get_trade_detAIl_data - 查询账号资金信息、委托记录等
get_trade_detail_data(accountID, strAccountType, strDatatype, strategyName)
或不区分策略:
get_trade_detail_data(accountID, strAccountType, strDatatype)
参数说明
参数名 | 类型 | 说明 | 备注 | |
---|---|---|---|---|
accountID |
string
|
资金账号 | 必填 | |
strAccountType |
string
|
账号类型 |
可选:<br>FUTURE :期货<br>STOCK :股票<br>CREDIT :信用<br>HUGANGTONG :沪港通<br>SHENGANGTONG :深港通<br>STOCK_OPTION :期权<br>必填
|
|
strDatatype |
string
|
要查询数据类型 |
可选:<br>ACCOUNT :账号对象<br>POSITION :持仓<br>POSITION_STATISTICS :持仓统计<br>ORDER :委托<br>DEAL :成交<br>TASK :任务<br>必填
|
|
strategyName |
string
|
策略 |
当用passorder 下单时指定了strategyName 参数时,查询成交和委托时传入同样的strategyName ,则可以只返回包含strategyName 的委托子集或成交子集
|
选填 |
返回值
list
,list中放的是对应strDatatype
的Python对象,通过dir(pythonobj)
可返回某个对象的属性列表。
示例
orders = get_trade_detail_data(account, "stock", "order")for o in orders: print(f"股票代码: {o.m_strInstrumentID}, 市场类型: {o.m_strExchangeID}, 证券名称: {o.m_strInstrumentName}, 买卖方向: {o.m_nOffsetFlag}, 委托数量: {o.m_nVolumeTotalOriginal}, 成交均价: {o.m_dTradedPrice}, 成交数量: {o.m_nVolumeTraded}, 成交金额: {o.m_dTradeAmount}")
get_history_trade_detail_data - 查询历史交易明细
get_history_trade_detail_data(accountID, strAccountType, strDatatype, strStartDate, strEndDate)
参数说明
-
accountID
:string,账号 -
strAccountType
:string,账号类型,可选FUTURE
、STOCK
、CREDIT
、HUGANGTONG
、SHENGANGTONG
、STOCK_OPTION
-
strDatatype
:string,交易明细数据类型,可选POSITION
、ORDER
、DEAL
-
strStartDate
:string,开始时间,如20240513
-
strEndDate
:string,结束时间,如20240514
返回值
list
,list中放的是Python对象,通过dir(pythonobj)
可返回某个对象的属性列表。
示例
obj_list = get_history_trade_detail_data("6000000248", "stock", "position", "20240513", "20240514")for time, data in obj_list: for obj in data: print(obj.m_strInstrumentID)
get_ipo_data - 获取当日新股新债信息
get_ipo_data([type])
参数说明
-
type
:为空时返回新股新债信息,type="STOCK"
时只返回新股申购信息,type="BOND"
时只返回新债申购信息
示例
ipoData = get_ipo_data() # 返回新股新债信息ipoStock = get_ipo_data("STOCK") # 返回新股信息ipoCB = get_ipo_data("BOND") # 返回新债申购信息
get_new_purchase_limit - 获取账户新股申购额度
get_new_purchase_limit(accid)
参数说明
-
accid
:资金账号,必须是股票账号或者信用账号
示例
purchase_limit = get_new_purchase_limit("10000001")
get_value_by_order_id - 根据委托号获取委托或成交信息
get_value_by_order_id(orderId, accountID, strAccountType, strDatatype)
参数说明
参数名 | 类型 | 含义 | 说明 |
---|---|---|---|
orderId |
string
|
委托号 | 必填 |
accountID |
string
|
资金账号 | 必填 |
strAccountType |
string
|
账号类型 |
可选:<br>FUTURE :期货<br>STOCK :股票<br>CREDIT :信用<br>HUGANGTONG :沪港通<br>SHENGANGTONG :深港通<br>STOCK_OPTION :期权<br>必填
|
strDatatype |
string
|
要查询数据类型 |
可选:<br>ORDER :委托<br>DEAL :成交<br>必填
|
返回值
委托对象或成交对象
示例
orderid = get_last_order_id(ContextInfo.accid, "stock", "order")obj = get_value_by_order_id(orderid, ContextInfo.accid, "stock", "order")print(obj.m_strInstrumentID)
get_last_order_id - 获取最新的委托或成交的委托号
获取最新的委托或成交的委托号。
调用方法
get_last_order_id(accountID, strAccountType, strDatatype, strategyName)
或不区分策略:
get_last_order_id(accountID, strAccountType, strDatatype)
参数说明
参数名 | 类型 | 含义 | 说明 | |
---|---|---|---|---|
accountID |
string
|
资金账号 | 必填 | |
strAccountType |
string
|
账号类型 |
可选:<br>FUTURE :期货<br>STOCK :股票<br>CREDIT :信用<br>HUGANGTONG :沪港通<br>SHENGANGTONG :深港通<br>STOCK_OPTION :期权<br>必填
|
|
strDatatype |
string
|
要查询数据类型 |
可选:<br>ORDER :委托<br>DEAL :成交<br>必填
|
|
strategyName |
string
|
策略 |
当用passorder 下单时指定了strategyName 参数时,查询成交和委托时传入同样的strategyName ,则可以只返回包含strategyName 的委托子集或成交子集
|
选填 |
返回值
String
,委托号,如果没找到返回'-1'
。
示例
orderid = get_last_order_id(ContextInfo.accid, "stock", "order")print(orderid)
get_assure_contract - 获取两融担保标的明细
get_assure_contract(accId)
参数说明
-
accId
:信用账户
返回值
list
,list中放的是StkSubjects
,通过dir(pythonobj)
可返回某个对象的属性列表。
示例
obj = get_assure_contract("6000000248")for i in obj[:3]: print(show_data(i))
get_enable_short_contract - 获取可融券明细
get_enable_short_contract(accId)
参数说明
-
accId
:信用账户
返回值
list
,list中放的是CreditSloEnableAmount
,通过dir(pythonobj)
可返回某个对象的属性列表。
示例
obj = get_enable_short_contract("6000000248")for i in obj[:3]: print(show_data(i))
query_credit_account - 查询信用账户明细
query_credit_account(accountId, seq, ContextInfo)
参数说明
-
accountId
:查询的两融账号 -
seq
:查询序列号,建议输入唯一值以便对应结果回调 -
ContextInfo
:上下文对象
返回值
无,结果通过credit_account_callback
回调返回。
示例
query_credit_account(ContextInfo.accid, int(time.time()), ContextInfo)
回调示例
def credit_account_callback(ContextInfo, seq, result): print(seq) print(f"维持担保比例: {result.m_dPerAssurescaleValue:.2f}, 总负债: {result.m_dTotalDebt:.2f}")
query_credit_opvolume - 查询两融最大可下单量
query_credit_opvolume(accountId, stockCode, opType, prType, price, seq, ContextInfo)
参数说明
-
accountId
:查询的两融账号 -
stockCode
:需要查询的股票代码,可以是单个字符串或列表 -
opType
:两融下单类型,同passorder
的下单类型 -
prType
:报单价格类型,同passorder
的报价类型 -
price
:报价(非限价单可以填任意值),如果stockCode
为列表,报价也需要为长度相同的列表 -
seq
:查询序列号,建议输入唯一值以便对应结果回调 -
ContextInfo
:上下文对象
返回值
无,结果通过credit_opvolume_callback
回调返回。
示例
query_credit_opvolume(ContextInfo.accid, "600000.SH", 33, 11, 10, int(time.time()), ContextInfo)
回调示例
def credit_opvolume_callback(ContextInfo, accid, seq, ret, result): print(seq) print(f"查询结果: {ret}") print(result)
get_option_subject_position - 取期权标的持仓
get_option_subject_position(accountID)
参数说明
-
accountID
:账号
返回值
list
,list中放的是CLockPosition
,通过dir(pythonobj)
可返回某个对象的属性列表。
示例
data = get_option_subject_position("880399990383")for obj in data: print(obj.m_strInstrumentName, obj.m_lockVol, obj.m_coveredVol)
get_comb_option - 取期权组合持仓
get_comb_option(accountID)
参数说明
-
accountID
:账号
返回值
list
,list中放的是CStkOptCombPositionDetail
,通过dir(pythonobj)
可返回某个对象的属性列表。
示例
obj_list = get_comb_option("880399990383")for obj in obj_list: print(obj.m_strCombCodeName, obj.m_strCombID, obj.m_nVolume, obj.m_nFrozenVolume)
get_unclosed_compacts - 获取未了结负债合约明细
get_unclosed_compacts(accountID, accountType)
参数说明
-
accountID
:资金账号 -
accountType
:账号类型,应填CREDIT
返回值
list
,负债列表,每个元素是CStkUnclosedCompacts
,属性如下:
字段名称 | 类型 | 说明 |
---|---|---|
m_strAccountID
|
string
|
账号ID |
m_nBrokerType
|
int
|
账号类型:<br>1-期货账号<br>2-股票账号<br>3-信用账号<br>5-期货期权账号<br>6-股票期权账号<br>7-沪港通账号<br>11-深港通账号 |
m_strExchangeID
|
string
|
市场 |
m_strInstrumentID
|
string
|
证券代码 |
m_eCompactType
|
int
|
合约类型:<br>32-不限制<br>48-融资<br>49-融券 |
m_eCashgroupProp
|
int
|
头寸来源:<br>32-不限制<br>48-普通头寸<br>49-专项头寸 |
m_nOpenDate
|
int
|
开仓日期(如20201231 )
|
m_nBusinessVol
|
int
|
合约证券数量 |
m_nRealCompactVol
|
int
|
未还合约数量 |
m_nRetEndDate
|
int
|
到期日(如20201231 )
|
m_dBusinessBalance
|
float
|
合约金额 |
m_dBusinessFare
|
float
|
合约息费 |
m_dRealCompactBalance
|
float
|
未还合约金额 |
m_dRealCompactFare
|
float
|
未还合约息费 |
m_dRepaidFare
|
float
|
已还息费 |
m_dRepaidBalance
|
float
|
已还金额 |
m_strCompactId
|
string
|
合约编号 |
m_strEntrustNo
|
string
|
委托编号 |
m_nRepayPriority
|
int
|
偿还优先级 |
m_strPositionStr
|
string
|
定位串 |
m_eCompactRenewalStatus
|
int
|
合约展期状态:<br>48-可申请<br>49-已申请<br>50-审批通过<br>51-审批不通过<br>52-不可申请<br>53-已执行<br>54-已取消 |
m_nDeferTimes
|
int
|
展期次数 |
示例
get_unclosed_compacts("6000000248", "CREDIT")
get_closed_compacts - 获取已了结负债合约明细
get_closed_compacts(accountID, accountType)
参数说明
-
accountID
:资金账号 -
accountType
:账号类型,应填CREDIT
返回值
list
,负债列表,每个元素是CStkUnclosedCompacts
,属性如下:
字段名 | 类型 | 描述 |
---|---|---|
m_strAccountID
|
string
|
账号ID |
m_nBrokerType
|
int
|
账号类型:<br>1-期货账号<br>2-股票账号<br>3-信用账号<br>5-期货期权账号<br>6-股票期权账号<br>7-沪港通账号<br>11-深港通账号 |
m_strExchangeID
|
string
|
市场 |
m_strInstrumentID
|
string
|
证券代码 |
m_eCompactType
|
int
|
合约类型:<br>32-不限制<br>48-融资<br>49-融券 |
m_eCashgroupProp
|
int
|
头寸来源:<br>32-不限制<br>48-普通头寸<br>49-专项头寸 |
m_nOpenDate
|
int
|
开仓日期(如20201231 )
|
m_nBusinessVol
|
int
|
合约证券数量 |
m_nRetEndDate
|
int
|
到期日(如20201231 )
|
m_nDateClear
|
int
|
了结日期(如20201231 )
|
m_nEntrustVol
|
int
|
委托数量 |
m_dEntrustBalance
|
float
|
委托金额 |
m_dBusinessBalance
|
float
|
合约金额 |
m_dBusinessFare
|
float
|
合约息费 |
m_dRepaidFare
|
float
|
已还息费 |
m_dRepaidBalance
|
float
|
已还金额 |
m_strCompactId
|
string
|
合约编号 |
m_strEntrustNo
|
string
|
委托编号 |
m_strPositionStr
|
string
|
定位串 |
示例
get_closed_compacts("6000000248", "CREDIT")
其他交易函数(仅回测可用)
order_lots - 指定手数交易
order_lots(stockcode, lots, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如000002.SZ
-
lots
:手数 -
style
:下单选价类型,默认为"LATEST"
,可选值: -
"LATEST"
:最新 -
"FIX"
:指定 -
"HANG"
:挂单 -
"COMPETE"
:对手 -
"MARKET"
:市价 -
"SALE5"
,"SALE4"
,"SALE3"
,"SALE2"
,"SALE1"
:卖5-1价 -
"BUY1"
,"BUY2"
,"BUY3"
,"BUY4"
,"BUY5"
:买1-5价 -
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
order_lots("000002.SZ", 1, ContextInfo, "600000248") # 按最新价下1手买入order_lots("000002.SZ", -1, "COMPETE", ContextInfo, "600000248") # 用对手价下1手卖出order_lots("000002.SZ", -2, "fix", 37.5, ContextInfo, "600000248") # 用指定价37.5下2手卖出
order_value - 指定价值交易
order_value(stockcode, value, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如000002.SZ
-
value
:金额(元) -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
order_value("000002.SZ", 10000, ContextInfo, "600000248") # 按最新价下10000元买入order_value("000002.SZ", -10000, "COMPETE", ContextInfo, "600000248") # 用对手价下10000元卖出order_value("000002.SZ", -20000, "fix", 37.5, ContextInfo, "600000248") # 用指定价37.5下20000元卖出
order_percent - 指定比例交易
order_percent(stockcode, percent, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如000002.SZ
-
percent
:比例(0
到1
之间) -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
order_percent("000002.SZ", 0.051, ContextInfo, "600000248") # 按最新价下5.1%价值买入order_percent("000002.SZ", -0.051, "COMPETE", ContextInfo, "600000248") # 用对手价下5.1%价值卖出order_percent("000002.SZ", -0.102, "fix", 37.5, ContextInfo, "600000248") # 用指定价37.5下10.2%价值卖出
order_target_value - 指定目标价值交易
order_target_value(stockcode, tar_value, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如000002.SZ
-
tar_value
:目标金额(元) -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
order_target_value("000002.SZ", 10000, ContextInfo, "600000248") # 按最新价下调仓到10000元持仓order_target_value("000002.SZ", 10000, "COMPETE", ContextInfo, "600000248") # 用对手价调仓到10000元持仓order_target_value("000002.SZ", 20000, "fix", 37.5, ContextInfo, "600000248") # 用指定价37.5下调仓到20000元持仓
order_target_percent - 指定目标比例交易
order_target_percent(stockcode, tar_percent, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如000002.SZ
-
tar_percent
:目标百分比(0
到1
之间) -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
order_target_percent("000002.SZ", 0.051, ContextInfo, "600000248") # 按最新价下买入调仓到5.1%持仓order_target_percent("000002.SZ", 0.051, "COMPETE", ContextInfo, "600000248") # 用对手价调仓到5.1%持仓order_target_percent("000002.SZ", 0.102, "fix", 37.5, ContextInfo, "600000248") # 用指定价37.5调仓到10.2%持仓
order_shares - 指定股数交易
order_shares(stockcode, shares, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如000002.SZ
-
shares
:股数 -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
order_shares("000002.SZ", 100, ContextInfo, "600000248") # 按最新价下100股买入order_shares("000002.SZ", -100, "COMPETE", ContextInfo, "600000248") # 用对手价下100股卖出order_shares("000002.SZ", -200, "fix", 37.5, ContextInfo, "600000248") # 用指定价37.5下200股卖出
buy_open - 期货买入开仓
buy_open(stockcode, amount, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如IF1805.IF
-
amount
:手数 -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
buy_open("IF1805.IF", 1, ContextInfo, "110476") # 按最新价1手买入开仓buy_open("IF1805.IF", 1, "COMPETE", ContextInfo, "110476") # 用对手价1手买入开仓buy_open("IF1805.IF", 2, "fix", 3750, ContextInfo, "110476") # 用指定价3750元2手买入开仓
buy_close_tdayfirst - 期货买入平仓(平今优先)
buy_close_tdayfirst(stockcode, amount, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如IF1805.IF
-
amount
:手数 -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
buy_close_tdayfirst("IF1805.IF", 1, ContextInfo, "110476") # 按最新价1手买入平仓,平今优先buy_close_tdayfirst("IF1805.IF", 1, "COMPETE", ContextInfo, "110476") # 用对手价1手买入平仓,平今优先buy_close_tdayfirst("IF1805.IF", 2, "fix", 3750, ContextInfo, "110476") # 用指定价3750元2手买入平仓,平今优先
buy_close_ydayfirst - 期货买入平仓(平昨优先)
buy_close_ydayfirst(stockcode, amount, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如IF1805.IF
-
amount
:手数 -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
buy_close_ydayfirst("IF1805.IF", 1, ContextInfo, "110476") # 按最新价1手买入平仓,平昨优先buy_close_ydayfirst("IF1805.IF", 1, "COMPETE", ContextInfo, "110476") # 用对手价1手买入平仓,平昨优先buy_close_ydayfirst("IF1805.IF", 2, "fix", 3750, ContextInfo, "110476") # 用指定价3750元2手买入平仓,平昨优先
sell_open - 期货卖出开仓
sell_open(stockcode, amount, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如IF1805.IF
-
amount
:手数 -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
sell_open("IF1805.IF", 1, ContextInfo, "110476") # 按最新价1手卖出开仓sell_open("IF1805.IF", 1, "COMPETE", ContextInfo, "110476") # 用对手价1手卖出开仓sell_open("IF1805.IF", 2, "fix", 3750, ContextInfo, "110476") # 用指定价3750元2手卖出开仓
sell_close_tdayfirst - 期货卖出平仓(平今优先)
sell_close_tdayfirst(stockcode, amount, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如IF1805.IF
-
amount
:手数 -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
sell_close_tdayfirst("IF1805.IF", 1, ContextInfo, "110476") # 按最新价1手卖出平仓,平今优先sell_close_tdayfirst("IF1805.IF", 1, "COMPETE", ContextInfo, "110476") # 用对手价1手卖出平仓,平今优先sell_close_tdayfirst("IF1805.IF", 2, "fix", 3750, ContextInfo, "110476") # 用指定价3750元2手卖出平仓,平今优先
sell_close_ydayfirst - 期货卖出平仓(平昨优先)
sell_close_ydayfirst(stockcode, amount, [style, price], ContextInfo, [accId])
参数说明
-
stockcode
:代码,如IF1805.IF
-
amount
:手数 -
style
:下单选价类型,默认为"LATEST"
,可选值同order_lots
-
price
:价格 -
ContextInfo
:上下文对象 -
accId
:账号
示例
sell_close_ydayfirst("IF1805.IF", 1, ContextInfo, "110476") # 按最新价1手卖出平仓,平昨优先sell_close_ydayfirst("IF1805.IF", 1, "COMPETE", ContextInfo, "110476") # 用对手价1手卖出平仓,平昨优先sell_close_ydayfirst("IF1805.IF", 2, "fix", 3750, ContextInfo, "110476") # 用指定价3750元2手卖出平仓,平昨优先
已弃用 - get_debt_contract - 获取两融负债合约明细
此接口已弃用,替代接口为get_unclosed_compacts
(获取未了结负债)和get_closed_compacts
(获取已了结负债)。
get_debt_contract(accId)
参数说明
-
accId
:信用账户
返回值
list
,list中放的是StkSubjects
,通过dir(pythonobj)
可返回某个对象的属性列表。
示例
obj_list = get_debt_contract("6000000248")for obj in obj_list: print(obj.m_strInstrumentName)
get_hkt_exchange_rate - 获取沪深港通汇率数据
get_hkt_exchange_rate(accountID, accountType)
参数说明
-
accountID
:账号 -
accountType
:账号类型,必须填HUGANGTONG
或者SHENGANGTONG
返回值
dict
,字段释义:
-
bidReferenceRate
:买入参考汇率 -
askReferenceRate
:卖出参考汇率 -
dayBuyRiseRate
:日间买入参考汇率浮动比例 -
daySaleRiseRate
:日间卖出参考汇率浮动比例
示例
data = get_hkt_exchange_rate("6000000248", "HUGANGTONG")print(data)
