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

量化软件 2025-01-18 4586
量化软件:迅投QMT使用指南 8.【QMT使用指南】- 交易函数  第1张
8.【QMT使用指南】- 交易函数  第2张

交易下单函数

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是用户自定义交易参数,主要用于修改算法交易的参数。其中KeyValue类型定义如下:

Key Value类型 Value
OrderType int 普通交易:0<br>算法交易:1<br>随机量交易:2
PriceType int 报价方式,数值同passorderprType
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 智能算法类型,如VWAPTWAP
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中放的是对应strDatatypePython对象,通过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,账号类型,可选FUTURESTOCKCREDITHUGANGTONGSHENGANGTONGSTOCK_OPTION

  • strDatatype:string,交易明细数据类型,可选POSITIONORDERDEAL

  • 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:比例(01之间)

  • 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:目标百分比(01之间)

  • 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)
Python自动化炒股:利用LightGBM和CatBoost进行股票市场预测的详细指南
« 上一篇 2025-01-17
Python自动化炒股:基于时间序列分析的股票市场波动性预测模型开发与优化的最佳实践
下一篇 » 2025-01-18