new FutuQuant(params [, logger])
Creates an instance of FutuQuant.
Parameters:
Name | Type | Argument | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params |
object | 初始化参数 Properties
|
|||||||||||||||||||||||||||||
logger |
object |
<optional> |
日志对象,若不传入,则使用bunyan.createLogger创建 |
- Source:
Members
-
<async, constant> subQotUpdateOrderBook :QotGetOrderBookResponse
-
注册买卖盘推送,需要先调用订阅接口 Qot_UpdateOrderBook.proto - 3013推送买卖盘
Type:
- Source:
Methods
-
close()
-
断开连接
- Source:
-
<async> getGlobalState()
-
GetGlobalState.proto - 1002获取全局状态
- Source:
Returns:
-
<async> init()
-
初始化处理
- Source:
-
<async> initConnect(params)
-
InitConnect.proto - 1001初始化连接
nodejs版本会根据返回的keepAliveInterval字段自动保持心跳连接,不再需要手动调用ft.keepLive()方法。 请求其它协议前必须等InitConnect协议先完成 若FutuOpenD配置了加密, “connAESKey”将用于后续协议加密 keepAliveInterval 为建议client发起心跳 KeepAlive 的间隔
Parameters:
Name Type Description params
object 初始化参数
Properties
Name Type Description clientVer
number 客户端版本号,clientVer = "."以前的数 100 + "."以后的,举例:1.1版本的clientVer为1 100 + 1 = 101,2.21版本为2 * 100 + 21 = 221
clientID
string 客户端唯一标识,无生具体生成规则,客户端自己保证唯一性即可
recvNotify
boolean 此连接是否接收市场状态、交易需要重新解锁等等事件通知,true代表接收,FutuOpenD就会向此连接推送这些通知,反之false代表不接收不推送
- Source:
Returns:
- Type
- InitConnectResponse
-
<async> keepAlive()
-
KeepAlive.proto - 1004保活心跳
- Source:
Returns:
time 服务器回包时的格林威治时间戳,单位秒
- Type
- number
-
<async> limitExecTimes(interval, times, fn)
-
限制接口调用频率
Parameters:
Name Type Description interval
Number 限频间隔
times
Number 次数
fn
function 要执行的函数
- Source:
-
<async> qotGetBasicQot(securityList)
-
Qot_GetBasicQot.proto - 3004获取股票基本行情
股票结构参考 Security 基本报价结构参考 BasicQot
Parameters:
Name Type Description securityList
Array.<Security> 股票列表
- Source:
Returns:
basicQotList 股票基本报价
- Type
- Array.<BasicQot>
-
<async> qotGetBroker(security)
-
Qot_GetBroker.proto - 3014获取经纪队列
Parameters:
Name Type Description security
Security Object 股票
- Source:
Returns:
- Type
- QotGetBrokerResponse
-
<async> qotGetHistoryKL(params)
-
Qot_GetHistoryKL.proto - 3100获取单只股票一段历史K线
Parameters:
Name Type Description params
object Properties
Name Type Argument Description rehabType
RehabType Qot_Common.RehabType,复权类型
klType
KLType Qot_Common.KLType,K线类型
security
Security 股票市场以及股票代码
beginTime
string 开始时间字符串
endTime
string 结束时间字符串
maxAckKLNum
number <optional>
最多返回多少根K线,如果未指定表示不限制
needKLFieldsFlag
number <optional>
指定返回K线结构体特定某几项数据,KLFields枚举值或组合,如果未指定返回全部字段
- Source:
Returns:
- Type
- Array.<KLine>
-
<async> qotGetHistoryKLPoints(params)
-
Qot_GetHistoryKLPoints.proto - 3101获取多只股票多点历史K线
复权类型参考 RehabType K线类型参考 KLType 股票结构参考 Security K线结构参考 KLine K线字段类型参考 KLFields 目前限制最多5个时间点,股票个数不做限制,但不建议传入过多股票,查询耗时过多会导致协议返回超时。
Parameters:
Name Type Description params
object Properties
Name Type Argument Description rehabType
RehabType Qot_Common.RehabType,复权类型
klType
KLType Qot_Common.KLType,K线类型
noDataMode
NoDataMode NoDataMode,当请求时间点数据为空时,如何返回数据
securityList
Array.<Security> 股票市场以及股票代码
timeList
Array.<string> 时间字符串
maxReqSecurityNum
number <optional>
最多返回多少只股票的数据,如果未指定表示不限制
needKLFieldsFlag
KLFields <optional>
指定返回K线结构体特定某几项数据,KLFields枚举值或组合,如果未指定返回全部字段
- Source:
Returns:
- Type
- Array.<SecurityHistoryKLPoints>
-
<async> qotGetKL(params)
-
Qot_GetKL.proto - 3006获取K线
复权类型参考 RehabType K线类型参考 KLType 股票结构参考 Security K线结构参考 KLine 请求K线目前最多最近1000根
Parameters:
Name Type Description params
object Properties
Name Type Description rehabType
RehabType Qot_Common.RehabType,复权类型
klType
KLType Qot_Common.KLType,K线类型
security
Security 股票
reqNum
number 请求K线根数
- Source:
Returns:
k线点
- Type
- Array.<KLine>
-
<async> qotGetOrderBook(security, num)
-
Qot_GetOrderBook.proto - 3012获取买卖盘,需要先调用订阅接口
Parameters:
Name Type Default Description security
Security 股票
num
number 10 请求的摆盘个数(1-10),默认10
- Source:
Returns:
-
<async> qotGetPlateSecurity(plate)
-
Qot_GetPlateSecurity.proto - 3205获取板块下的股票
Parameters:
Name Type Description plate
Security 板块
- Source:
Returns:
板块下的股票静态信息
- Type
- Array.<SecurityStaticInfo>
-
<async> qotGetPlateSet(market, plateSetType)
-
Qot_GetPlateSet.proto - 3204获取板块集合下的板块
Parameters:
Name Type Default Description market
QotMarket 1 Qot_Common.QotMarket,股票市场
plateSetType
PlateSetType Qot_Common.PlateSetType,板块集合的类型
- Source:
Returns:
板块集合下的板块信息
- Type
- Array.<PlateInfo>
-
<async> qotGetReference(security [, referenceType])
-
Qot_GetReference.proto - 3206 获取正股相关股票
Parameters:
Name Type Argument Default Description security
security 股票
referenceType
ReferenceType <optional>
1 相关类型,默认为1,获取正股相关的涡轮
- Source:
-
<async> qotGetRehab(securityList)
-
Qot_GetRehab.proto - 3102获取复权信息
Parameters:
Name Type Description securityList
Array.<Security> 股票列表
- Source:
Returns:
securityRehabList 多支股票的复权信息
- Type
- Array.<SecurityRehab>
-
<async> qotGetRT(security)
-
Qot_GetRT.proto - 3008获取分时
Parameters:
Name Type Description security
Security 股票
- Source:
Returns:
分时点
- Type
- Array.<TimeShare>
-
<async> qotGetSecuritySnapShot(securityList)
-
Qot_GetSecuritySnapshot.proto - 3203获取股票快照
股票结构参考 Security 限频接口:30秒内最多10次 最多可传入200只股票
Parameters:
Name Type Description securityList
Array.<Security> 股票列表
- Source:
Returns:
snapshotList 股票快照
- Type
- Array.<Snapshot>
-
<async> qotGetStaticInfo(market, secType)
-
Qot_GetStaticInfo.proto - 3202获取股票静态信息
Parameters:
Name Type Default Description market
QotMarket 1 Qot_Common.QotMarket,股票市场
secType
SecurityType Qot_Common.SecurityType,股票类型
- Source:
Returns:
静态信息数组
- Type
- Array.<SecurityStaticInfo>
-
<async> qotGetSubInfo( [isReqAllConn])
-
Qot_GetSubInfo.proto - 3003获取订阅信息
Parameters:
Name Type Argument Default Description isReqAllConn
boolean <optional>
false 是否返回所有连接的订阅状态,默认false
- Source:
Returns:
-
<async> qotGetTicker(security, maxRetNum)
-
Qot_GetTicker.proto - 3010获取逐笔
股票结构参考 Security 逐笔结构参考 Ticker 请求逐笔目前最多最近1000个
Parameters:
Name Type Default Description security
Security 股票
maxRetNum
number 100 最多返回的逐笔个数,实际返回数量不一定会返回这么多,最多返回1000个,默认100
- Source:
Returns:
逐笔
- Type
- Array.<Ticker>
-
<async> qotGetTradeDate(market, beginTime, endTime)
-
Qot_GetTradeDate.proto - 3200获取市场交易日
Parameters:
Name Type Default Description market
QotMarket 1 Qot_Common.QotMarket,股票市场
beginTime
string 开始时间字符串 2018-01-01 00:00:00
endTime
string 结束时间字符串 2018-02-01 00:00:00
- Source:
Returns:
tradeDateList 交易日
- Type
- Array.<TradeDate>
-
<async> qotRegQotPush(params)
-
Qot_RegQotPush.proto - 3002注册行情推送
股票结构参考 Security 订阅数据类型参考 SubType 复权类型参考 RehabType 行情需要订阅成功才能注册推送
Parameters:
Name Type Description params
object Object
Properties
Name Type Argument Default Description securityList
Array.<Security> 股票
subTypeList
Array.<SubType> Qot_Common.SubType,订阅数据类型
rehabTypeList
Array.<SubType> Qot_Common.RehabType,复权类型,注册K线类型才生效,其他订阅类型忽略该参数,注册K线时该参数不指定默认前复权
isRegOrUnReg
boolean <optional>
true 注册或取消
isFirstPush
boolean <optional>
true 注册后如果本地已有数据是否首推一次已存在数据,该参数不指定则默认true
- Source:
-
<async> qotSub(params)
-
Qot_Sub.proto - 3001订阅或者反订阅
股票结构参考 Security 订阅数据类型参考 SubType 复权类型参考 RehabType 为控制定阅产生推送数据流量,股票定阅总量有额度控制,订阅规则参考 高频数据接口 高频数据接口需要订阅之后才能使用,注册推送之后才可以收到数据更新推送
Parameters:
Name Type Description params
object Properties
Name Type Argument Default Description securityList
Array.<Security> 股票
subTypeList
Array.<SubType> Qot_Common.SubType,订阅数据类型
isSubOrUnSub
boolean <optional>
true ture表示订阅,false表示反订阅
isRegOrUnRegPush
boolean <optional>
true 是否注册或反注册该连接上面行情的推送,该参数不指定不做注册反注册操作
regPushRehabTypeList
number Qot_Common.RehabType,复权类型,注册推送并且是K线类型才生效,其他订阅类型忽略该参数,注册K线推送时该参数不指定默认前复权
isFirstPush
boolean <optional>
true 注册后如果本地已有数据是否首推一次已存在数据,该参数不指定则默认true
- Source:
-
setCommonTradeHeader(trdEnv, accID [, trdMarket])
-
设置交易模块的公共header,调用交易相关接口前必须先调用此接口。
Parameters:
Name Type Argument Default Description trdEnv
TrdEnv 1 交易环境, 参见TrdEnv的枚举定义。0为仿真,1为真实,默认为1。
accID
number 业务账号, 业务账号与交易环境、市场权限需要匹配,否则会返回错误,默认为当前userID
trdMarket
TrdMarket <optional>
1 交易市场, 参见TrdMarket的枚举定义,默认为1,即香港市场。
- Source:
-
<async> subQotUpdateBasicQot(callback)
-
注册股票基本报价通知,需要先调用订阅接口 Qot_UpdateBasicQot.proto - 3005推送股票基本报价
Parameters:
Name Type Description callback
function 回调
- Source:
Returns:
basicQotList
- Type
- Array.<BasicQot>
-
<async> subQotUpdateBroker(callback)
-
注册经纪队列推送,需要先调用订阅接口 Qot_UpdateBroker.proto - 3015推送经纪队列
Parameters:
Name Type Description callback
function 回调
- Source:
Returns:
- Type
- QotGetBrokerResponse
-
<async> subQotUpdateKL()
-
注册K线推送,需要先调用订阅接口 Qot_UpdateKL.proto - 3007推送K线
- Source:
Returns:
推送的k线点
- Type
- QotUpdateKLResponse
-
<async> subQotUpdateRT()
-
注册分时推送,需要先调用订阅接口 Qot_UpdateRT.proto - 3009推送分时
- Source:
Returns:
分时点
- Type
- Array.<TimeShare>
-
<async> subQotUpdateTicker(callback)
-
注册逐笔推送,需要先调用订阅接口 Qot_UpdateTicker.proto - 3011推送逐笔
Parameters:
Name Type Description callback
function 回调
- Source:
Returns:
逐笔
-
<async> subTrdUpdateOrder(callback)
-
注册订单更新通知 Trd_UpdateOrder.proto - 2208推送订单更新
Parameters:
Name Type Description callback
function 回调
- Source:
Returns:
订单结构
- Type
- Order
-
<async> subTrdUpdateOrderFill(callback)
-
注册新成交通知 Trd_UpdateOrderFill.proto - 2218推送新成交
Parameters:
Name Type Description callback
function 回调
- Source:
Returns:
成交结构
- Type
- OrderFill
-
<async> trdGetAccList()
-
Trd_GetAccList.proto - 2001获取交易账户列表
- Source:
Returns:
交易业务账户列表
- Type
- Array.<TrdAcc>
-
<async> trdGetFunds()
-
Trd_GetFunds.proto - 2101获取账户资金,需要先设置交易模块公共header
- Source:
Returns:
- Type
- Funds
-
<async> trdGetHistoryOrderFillList(filterConditions)
-
Trd_GetHistoryOrderFillList.proto - 2222获取历史成交列表
交易公共参数头结构参考 TrdHeader 成交结构参考 OrderFill 过滤条件结构参考 TrdFilterConditions 限频接口:30秒内最多10次
Parameters:
Name Type Description filterConditions
TrdFilterConditions 过滤条件
- Source:
Returns:
历史成交列表
- Type
- Array.<OrderFill>
-
<async> trdGetHistoryOrderList(filterConditions, filterStatusList)
-
Trd_GetHistoryOrderList.proto - 2221获取历史订单列表
交易公共参数头结构参考 TrdHeader 订单结构参考 Order 过滤条件结构参考 TrdFilterConditions 订单状态枚举参考 OrderStatus 限频接口:30秒内最多10次
Parameters:
Name Type Description filterConditions
TrdFilterConditions 过滤条件
filterStatusList
OrderStatus OrderStatus, 需要过滤的订单状态列表
- Source:
Returns:
历史订单列表
- Type
- Array.<Order>
-
<async> trdGetMaxTrdQtys(params)
-
Trd_GetMaxTrdQtys.proto - 2111获取最大交易数量
Parameters:
Name Type Description params
object Properties
Name Type Argument Description header
TrdHeader <optional>
交易公共参数头,默认不用填写
orderType
OrderType 订单类型, 参见Trd_Common.OrderType的枚举定义
code
string 代码
price
number <optional>
价格,3位精度(A股2位)
orderID
number 订单号,新下订单不需要,如果是修改订单就需要把原订单号带上才行,因为改单的最大买卖数量会包含原订单数量。 以下为调整价格使用,目前仅对港、A股有效,因为港股有价位,A股2位精度,美股不需要
adjustPrice
boolean <optional>
是否调整价格,如果价格不合法,是否调整到合法价位,true调整,false不调整
adjustSideAndLimit
number <optional>
调整方向和调整幅度百分比限制,正数代表向上调整,负数代表向下调整,具体值代表调整幅度限制,如:0.015代表向上调整且幅度不超过1.5%;-0.01代表向下调整且幅度不超过1%
- Source:
Returns:
最大交易数量结构体
- Type
- MaxTrdQtys
-
<async> trdGetOrderFillList(filterConditions)
-
Trd_GetOrderFillList.proto - 2211获取成交列表
Parameters:
Name Type Description filterConditions
TrdFilterConditions 过滤条件
- Source:
Returns:
成交列表
- Type
- Array.<OrderFill>
-
<async> trdGetOrderList(filterConditions, filterStatusList)
-
Trd_GetOrderList.proto - 2201获取订单列表
Parameters:
Name Type Description filterConditions
TrdFilterConditions 过滤条件
filterStatusList
Array.<OrderStatus> 需要过滤的订单状态列表
- Source:
Returns:
订单列表
- Type
- Array.<Order>
-
<async> trdGetPositionList(filterConditions, filterPLRatioMin, filterPLRatioMax)
-
Trd_GetPositionList.proto - 2102获取持仓列表
Parameters:
Name Type Description filterConditions
TrdFilterConditions 过滤条件
filterPLRatioMin
number 过滤盈亏比例下限,高于此比例的会返回,如0.1,返回盈亏比例大于10%的持仓
filterPLRatioMax
number 过滤盈亏比例上限,低于此比例的会返回,如0.2,返回盈亏比例小于20%的持仓
- Source:
Returns:
持仓列表数组
- Type
- Array.<Position>
-
<async> trdModifyOrder(params)
-
Trd_ModifyOrder.proto - 2205修改订单(改价、改量、改状态等)
请求包标识结构参考 PacketID 交易公共参数头结构参考 TrdHeader 修改操作枚举参考 ModifyOrderOp 限频接口:30秒内最多30次
Parameters:
Name Type Description params
object Properties
Name Type Argument Description packetID
PacketID <optional>
交易写操作防重放攻击,默认不用填写
header
TrdHeader <optional>
交易公共参数头,默认不用填写
orderID
number 订单号,forAll为true时,传0
modifyOrderOp
ModifyOrderOp 修改操作类型,参见Trd_Common.ModifyOrderOp的枚举定义
forAll
boolean <optional>
是否对此业务账户的全部订单操作,true是,false否(对单个订单),无此字段代表false,仅对单个订单 下面的字段仅在modifyOrderOp为ModifyOrderOp_Normal有效
qty
number <optional>
数量,2位精度,期权单位是"张"
price
number <optional>
价格,3位精度(A股2位) 以下为调整价格使用,目前仅对港、A股有效,因为港股有价位,A股2位精度,美股不需要
adjustPrice
boolean <optional>
是否调整价格,如果价格不合法,是否调整到合法价位,true调整,false不调整
adjustSideAndLimit
number <optional>
调整方向和调整幅度百分比限制,正数代表向上调整,负数代表向下调整,具体值代表调整幅度限制,如:0.015代表向上调整且幅度不超过1.5%;-0.01代表向下调整且幅度不超过1%
- Source:
Returns:
orderID 订单号
- Type
- number
-
<async> trdPlaceOrder(params)
-
Trd_PlaceOrder.proto - 2202下单
请求包标识结构参考 PacketID 交易公共参数头结构参考 TrdHeader 交易方向枚举参考 TrdSide 订单类型枚举参考 OrderType 限频接口:30秒内最多30次
Parameters:
Name Type Description params
object Properties
Name Type Argument Description packetID
PacketID <optional>
交易写操作防重放攻击,默认不用填写
header
TrdHeader <optional>
交易公共参数头,默认不用填写
trdSide
TrdSide 交易方向, 参见Trd_Common.TrdSide的枚举定义
orderType
OrderType 订单类型, 参见Trd_Common.OrderType的枚举定义
code
string 代码
qty
number 数量,2位精度,期权单位是"张"
price
number <optional>
价格,3位精度(A股2位) 以下为调整价格使用,目前仅对港、A股有效,因为港股有价位,A股2位精度,美股不需要
adjustPrice
boolean <optional>
是否调整价格,如果价格不合法,是否调整到合法价位,true调整,false不调整
adjustSideAndLimit
number <optional>
调整方向和调整幅度百分比限制,正数代表向上调整,负数代表向下调整,具体值代表调整幅度限制,如:0.015代表向上调整且幅度不超过1.5%;-0.01代表向下调整且幅度不超过1%
- Source:
Returns:
orderID 订单号
- Type
- number
-
<async> trdPlaceOrderMarket(param)
-
2202市价下单,直到成功为止,返回买入/卖出的总价格
Parameters:
Name Type Description param
object params.trdSide
TrdSide 交易方向, 参见Trd_Common.TrdSide的枚举定义
params.code
string 代码
params.qty
number 数量,2位精度,期权单位是"张"
- Source:
Returns:
卖出/买入总价
- Type
- number
-
<async> trdSubAccPush(accIDList)
-
Trd_SubAccPush.proto - 2008订阅接收交易账户的推送数据
Parameters:
Name Type Description accIDList
Array.<number> 要接收推送数据的业务账号列表,全量非增量,即使用者请每次传需要接收推送数据的所有业务账号
- Source:
-
<async> trdUnlockTrade( [unlock] [, pwdMD5])
-
Trd_UnlockTrade.proto - 2005解锁或锁定交易
除2001协议外,所有交易协议请求都需要FutuOpenD先解锁交易 密码MD5方式获取请参考 FutuOpenD配置 内的login_pwd_md5字段 解锁或锁定交易针对与FutuOpenD,只要有一个连接解锁,其他连接都可以调用交易接口 强烈建议有实盘交易的用户使用加密通道,参考 加密通信流程 限频接口:30秒内最多10次
Parameters:
Name Type Argument Default Description unlock
boolean <optional>
true true解锁交易,false锁定交易,默认true
pwdMD5
string <optional>
交易密码的MD5转16进制(全小写),解锁交易必须要填密码,锁定交易不需要验证密码,可不填
- Source:
-
<async> unsubTrdUpdateOrder()
-
取消注册订单更新通知 Trd_UpdateOrder.proto - 2208推送订单更新
- Source: