Files
big-qmt/docs/api.md
2026-08-25 16:40:18 +08:00

30 KiB
Raw Blame History

HTTP API 参考

本文档根据 api/QMT_API.py 的 Handler 与 make_app() 路由逐条整理。架构、鉴权、启动方式见 README.md

公共约定

  • Base URLhttp://<host>:10086PORT=10086,绑定 0.0.0.0
  • 鉴权:所有已注册接口均需请求头 X-Token: <TOKEN>(源码当前值为 QMTbyYanweidong
  • POST BodyJSON 对象。未特别说明的字段均可省略并走源码默认值
  • 多值字符串:逗号分隔,例如 "000001.SZ,600000.SH"
  • 失败响应:{"error": "<reason>", "status_code": <int>}
  • 「对应 QMT」列标明封装的原函数或属性账户类调用会自动填入 self.acc()(即 init 时的 ACCOUNT_ID

文中 curl 的 $TOKEN 请自行替换。


目录

  1. 兼容层 / v2
  2. 策略上下文 /api/context
  3. 数据查询 /api/data
  4. 判定 /api/check
  5. 交易 /api/trade
  6. 扩展引用 /api/ext
  7. 系统 /api/sys

1. 兼容层 / v2

旧客户端路径与 /api/v2/* 共用同一 Handler。查询类 POST 即使只用默认值,也需要传 {}

1.1 持仓列表

  • POST /api/holding
  • POST /api/v2/positions
  • 对应 QMTget_trade_detail_data(accountId, account, 'position')

请求

字段 类型 默认 说明
account string "stock" 账户类型,传入 QMT

响应对象key 为 InstrumentID.ExchangeID

{
  "600000.SH": {
    "StockCode": "600000.SH",
    "StockName": "...",
    "Direction": "...",
    "Volume": 0,
    "OpenPrice": 0,
    "FloatProfit": 0,
    "MarketValue": 0,
    "StockHolder": "...",
    "FrozenVolume": 0,
    "CanUseVolume": 0,
    "OnRoadVolume": 0,
    "YesterdayVolume": 0,
    "LastPrice": 0,
    "ProfitRate": 0,
    "FutureTradeType": "...",
    "ExpireDate": "..."
  }
}

无持仓时为 {}。QMT 调用失败时 safe_call 返回 None,按空列表处理。

curl -s -X POST -H "X-Token: $TOKEN" -H "Content-Type: application/json" \
  -d "{\"account\":\"stock\"}" http://127.0.0.1:10086/api/v2/positions

1.2 资产(总资产 + 可用)

  • POST /api/v2/assets
  • 对应 QMTget_trade_detail_data(..., 'account'),取第一条

请求account 默认 "stock"

响应

{"total": 0.0, "available": 0.0}

金额来自 m_dBalance / m_dAvailable,四舍五入到 2 位。无数据时 500 资金数据获取失败

1.3 总资产

  • POST /api/money/total

响应{"total_money": 0.0}。无数据 500。

1.4 可用资金

  • POST /api/money/available

响应{"available_money": 0.0}。无数据 500。

1.5 简化买入

  • POST /api/order/buy
  • 对应 QMTpassorder(23, 1101, acc, stock, prType, price, volume, 'qmt', 2, ctx)

请求

字段 类型 必填 默认 说明
stock string 代码,如 600000.SH
price number 价格
volume int 数量
prType int 11 报价类型

响应

{"status": "success", "action": "buy", "stock": "600000.SH", "order_ref": "..."}

order_ref 在 QMT 返回空时为 "unknown"。异常 400 下单失败: ...

1.6 简化卖出

  • POST /api/order/sell
  • 对应 QMTpassorder(24, 1101, ...),其余同买入

响应 action"sell"

1.7 委托状态列表

  • POST /api/order/status
  • 对应 QMTget_trade_detail_data(..., 'order', 'qmt')

请求account 默认 "stock"

响应

{
  "orders": [
    {
      "order_sys_id": "...",
      "status": 0,
      "volume_left": 0,
      "volume_traded": 0
    }
  ]
}

字段分别对应 m_strOrderSysIDm_nOrderStatusm_nVolumeTotalm_nVolumeTraded

1.8 全部撤单

  • POST /api/order/cancel_all
  • 对应 QMT遍历委托can_cancel_order 为真则 cancel

请求account 默认 "stock"

响应

{
  "status": "success",
  "message": "已发出 N 笔撤单请求",
  "canceled_orders": [
    {"order_sys_id": "...", "stock": "...", "volume_left": 0}
  ]
}

stockm_strInstrumentID(不含市场后缀)。异常 500

1.9 按股票 + 数量规则撤单

  • POST /api/order/cancel_order

请求

字段 类型 必填 说明
stock string 必须为 代码.市场,与持仓 key 相同
volume int 必须 > 0;匹配条件为 VolumeTotal + VolumeTraded == volume
account string 默认 "stock"

匹配到 0 笔时仍 HTTP 200

{"status": "failed", "message": "未找到符合条件的活跃订单"}

成功:

{
  "status": "success",
  "message": "匹配到 N 笔订单并发出撤单请求",
  "canceled_sys_ids": ["..."]
}

缺参 400 参数错误:必须提供 stock 且 volume > 0

1.10 成交明细

  • POST /api/order/deal
  • 对应 QMTget_trade_detail_data(..., 'deal', 'qmt')

响应{"deals": [ {对象全部非下划线、非可调用属性,值一律 str()} ] }


2. 策略上下文 /api/context

全部 GET,无请求体。数据来自 self.application.ContextInfo

方法 路径 对应 QMT 响应
GET /api/context/period .period {"period": ...}
GET /api/context/barpos .barpos {"barpos": ...}
GET /api/context/time_tick_size .time_tick_size {"time_tick_size": ...}
GET /api/context/stockcode .stockcode {"stockcode": ...}
GET /api/context/dividend_type .dividend_type {"dividend_type": ...}
GET /api/context/market .market {"market": ...}
GET /api/context/do_back_test .do_back_test {"do_back_test": ...}
GET /api/context/benchmark .benchmark {"benchmark": ...}
GET /api/context/capital .capital {"capital": ...}
GET /api/context/universe .get_universe() {"universe": [...]}
curl -s -H "X-Token: $TOKEN" http://127.0.0.1:10086/api/context/universe

3. 数据查询 /api/data

除特别标明的 GET 外均为 POST。safe_call 失败时,部分接口返回字段为 null,部分返回 {"error": "..."} 或 500以各条为准。

3.1 证券名称

  • POST /api/data/stock_nameContextInfo.get_stock_name(stockcode)
字段 默认 说明
stockcode "" 证券代码
{"stockcode": "600000.SH", "name": "..."}

3.2 上市日期

  • POST /api/data/open_date → 全局 get_open_date(stockcode)
{"stockcode": "600000.SH", "open_date": "..."}

3.3 最新流通股本

  • POST /api/data/last_volumeget_last_volume

失败(None)时 500 获取流通股本失败

{"stockcode": "600000.SH", "last_volume": ...}

3.4 K 线时间戳

  • POST /api/data/bar_timetagget_bar_timetag(index)
字段 默认
index -1
{"index": -1, "timetag": ...}

3.5 最新分笔时间戳

  • GET /api/data/tick_timetagget_tick_timetag()
{"timetag": ...}

3.6 指数成份股

  • POST /api/data/sectorget_sector(sector, realtime)
字段 必填 默认 说明
sector 空则 400 need args sector
realtime "0" "0" 时第二参为 0,否则 int(realtime)
{"sector": "000300.SH", "stocks": []}

stocks 在调用失败时为 []

3.7 行业成份股

  • POST /api/data/industryget_industry(industry)

industry 为空则 400 need args industry

{"industry": "...", "stocks": []}

3.8 板块成份股

  • POST /api/data/stock_list_in_sectorget_stock_list_in_sector(sectorname)

sectorname 为空则 400 need args sectorname

{"sectorname": "沪深A股", "stocks": []}

3.9 指数权重

  • POST /api/data/weight_in_indexget_weight_in_index(indexcode, stockcode)
{"indexcode": "000300.SH", "stockcode": "600000.SH", "weight": ...}

3.10 合约乘数

  • POST /api/data/contract_multiplierget_contract_multiplier(contractcode)
{"contractcode": "...", "multiplier": ...}

3.11 无风险利率

  • POST /api/data/risk_free_rateget_risk_free_rate(index)
字段 默认
index -1
{"index": -1, "risk_free_rate": ...}

3.12 日期对应 K 线索引

  • POST /api/data/date_locationget_date_location(strdate)
{"strdate": "20240101", "location": ...}

3.13 历史行情(多品种字典)

  • POST /api/data/history_dataget_history_data(len, period, field, dividend_type, skip_paused)
字段 默认 说明
len 10 根数
period "1d" 周期
field "close" 字段
dividend_type 0 整数
skip_paused "true" 小写等于 "true" 则为 Python True

成功:{"data": ...}safe_call 得到假值时:{"error": "获取历史数据失败"}(仍可能是 HTTP 200

3.14 行情 DataFrame

  • POST /api/data/market_dataget_market_data(fields, stocks, start, end, True, period, dividend_type, count)

注意第五参在封装里 写死为 TrueQMT 该位置一般为 skip_paused 一类开关,以官方签名为准)。

字段 默认 说明
fields "" 逗号分隔;空则 []
stock_code "" 逗号分隔代码
start_time ""
end_time ""
period "1d"
dividend_type "none"
count -1

to_dict 则转 dict。失败 500 获取行情数据失败

{"data": {}}

3.15 扩展行情Level2

  • POST /api/data/market_data_exget_market_data_ex(...)
字段 默认
fields ""
stock_code ""
period "follow"
start_time ""
end_time ""
count -1
dividend_type "follow"

返回字典:每个 value 优先 to_dict(),否则 str()。失败 500 获取扩展行情失败

3.16 分笔 / 全推行情

  • POST /api/data/full_tickget_full_tick(code_list)
字段 必填
stocks 是,逗号分隔;空则 400 need args stocks

成功时响应体 就是 QMT 返回对象本身(不是 {data: ...} 包裹)。失败 500 获取分笔行情失败

3.17 除权除息 / 复权因子

  • POST /api/data/divid_factors
{"stockcode": "...", "factors": {}}

失败时 factors{}

3.18 期货主力合约

  • POST /api/data/main_contract
{"codemarket": "...", "main_contract": ...}

3.19 毫秒时间戳转日期

  • POST /api/data/timetag_to_datetime → 全局 timetag_to_datetime(timetag, format)
字段 默认
timetag 0
format "%Y-%m-%d %H:%M:%S"
{"timetag": 0, "datetime": "..."}

3.20 总股本

  • POST /api/data/total_share
{"stockcode": "...", "total_share": ...}

3.21 交易日列表

  • POST /api/data/trading_datesget_trading_dates(stockcode, start_date, end_date, count, period)
字段 默认
stockcode ""
start_date ""
end_date ""
count 空字符串 → 内部 -1
period "1d"
{"dates": []}

3.22 内盘 / 外盘成交量

  • POST /api/data/svolget_svol{"stockcode", "svol"}
  • POST /api/data/bvolget_bvol{"stockcode", "bvol"}

3.23 龙虎榜

  • POST /api/data/longhubangget_longhubang(stock_list, startTime, endTime)
字段 默认
stock_list "" 逗号分隔
startTime ""
endTime ""

成功 {"data": ...}DataFrame 会 to_dict)。假值时 {"error": "获取龙虎榜数据失败"}

3.24 十大股东

  • POST /api/data/top10_share_holder → 全局 get_top10_share_holder
字段 默认
stock_list ""
data_name "holder"
start_time ""
end_time ""

失败文案:获取十大股东数据失败

3.25 期权详情

  • POST /api/data/option_detail
{"optioncode": "...", "detail": {}}

3.26 换手率

  • POST /api/data/turnover_rateget_turnover_rate(stock_list, startTime, endTime)

字段同龙虎榜风格(stock_list / startTime / endTime)。失败:获取换手率失败

3.27 ETF 申赎清单

  • POST /api/data/etf_infoget_etf_info(stockcode)
{"stockcode": "...", "info": {}}

3.28 ETF IOPV

  • POST /api/data/etf_iopvget_etf_iopv(stockcode)
{"stockcode": "...", "iopv": ...}

3.29 合约详细信息

  • POST /api/data/instrumentdetailget_instrumentdetail
{"stockcode": "...", "detail": {}}

3.30 期货到期日

  • POST /api/data/contract_expire_date
{"codemarket": "...", "expire_date": ...}

3.31 期权标的 → 期权列表

  • POST /api/data/option_undl_data
字段 说明
undl_code_ref 标的代码
{"data": []}

3.32 财务数据(两种调用约定)

  • POST /api/data/financial_dataContextInfo.get_financial_data

约定 A(单字段):tabnamecolnamemarketcode 全部非空 时调用:

get_financial_data(tabname, colname, market, code, report_type, barpos)
字段 默认
report_type "report_time"
barpos -1

约定 B(否则走批量):

get_financial_data(fieldList, stockList, startDate, endDate, report_type)
字段 默认 说明
fieldList "" 逗号分隔
stockList "" 逗号分隔
startDate ""
endDate ""
report_type "announce_time" 注意与约定 A 默认值不同

ret is None 时:{"error": "获取财务数据失败"};否则 {"data": ...}

3.33 多因子数据

  • POST /api/data/factor_dataget_factor_data
字段 说明
fieldList 逗号分隔字段
stockCode 若非空:按 单个代码 调用
stockList 否则按代码列表调用
startDate / endDate 区间

失败:{"error": "获取因子数据失败"}

3.34 历史 ST

  • POST /api/data/his_st_data
{"stockCode": "...", "data": {}}

注意请求字段是 stockCode(驼峰),与多数接口的 stockcode 不同。

3.35 历史指数

  • POST /api/data/his_index_data
{"index": "...", "data": {}}

3.36 当前全部行情订阅

  • GET /api/data/all_subscriptionget_all_subscription()
{"subscriptions": {}}

3.37 指定期权列表

  • POST /api/data/option_list
字段 默认
undl_code ""
dedate ""
opttype ""
isavailable "true"(小写 "true" 为 True
{"option_list": []}

3.38 过期合约列表

  • POST /api/data/his_contract_list
{"market": "...", "contracts": []}

3.39 期权隐含波动率(实时)

  • POST /api/data/option_iv
{"optioncode": "...", "iv": ...}

3.40 BS 理论价格

  • POST /api/data/bsm_pricebsm_price(optionType, objectPrices, strikePrice, riskFree, sigma, days, dividend)
字段 默认 说明
optionType "C"
objectPrices "" float() 则标量;否则按逗号拆成 float 列表
strikePrice 0
riskFree 0
sigma 0
days 0
dividend 0
{"price": ...}

3.41 BS 隐含波动率

  • POST /api/data/bsm_iv
字段 默认
optionType "C"
objectPrices 0float与 bsm_price 不同)
strikePrice 0
optionPrice 0
riskFree 0
days 0
dividend 0
{"iv": ...}

3.42 本地行情

  • POST /api/data/local_dataget_local_data(stock_code, start_time, end_time, period, divid_type, count)
字段 默认
stock_code ""
start_time ""
end_time ""
period "1d"
divid_type "none"
count -1

失败 500 获取本地行情失败。成功 {"data": ...}

3.43 订阅行情

  • POST /api/data/subscribe_quotesubscribe_quote(stock_code, period, dividend_type)
字段 默认
stock_code ""
period "follow"
dividend_type "follow"
{"status": "success" | "failed", "sub_id": ...}

status 取决于返回值是否为 None

3.44 反订阅

  • POST /api/data/unsubscribe_quoteunsubscribe_quote(sub_id)
字段 默认
sub_id 0

无论底层是否成功,都返回:

{"status": "success", "sub_id": 0}

4. 判定 /api/check

4.1 是否最后一根 K 线

  • GET /api/check/is_last_baris_last_bar()
{"is_last_bar": ...}

4.2 是否新 K 线

  • GET /api/check/is_new_bar
{"is_new_bar": ...}

4.3 是否停牌

  • POST /api/check/is_suspended_stock
{"stockcode": "...", "is_suspended": ...}

4.4 是否在指定板块

  • POST /api/check/is_sector_stock → 全局 is_sector_stock(sectorname, market, stockcode)
{"sectorname": "...", "stockcode": "...", "is_in_sector": ...}

响应未带回 market

4.5 是否属于某类别

  • POST /api/check/is_typed_stockis_typed_stock(stocktypenum, market, stockcode)
字段 默认
stocktypenum 0
market ""
stockcode ""
{"stocktypenum": 0, "stockcode": "...", "result": ...}

4.6 行业分类名称

  • POST /api/check/get_industry_name_of_stockget_industry_name_of_stock(industryType, stockcode)
{"industryType": "...", "stockcode": "...", "industry_name": ...}

5. 交易 /api/trade

下单类在 try/except 中捕获异常后 400,并 logger.exception
style 类接口默认 "LATEST"accId 默认当前 ACCOUNT_ID

价格/数量等枚举含义以迅投 passorder 官方文档为准。本封装实际传入值如下。

5.1 综合下单 passorder

  • POST /api/trade/passorder

调用:

passorder(opType, orderType, acc, stock, prType, price, volume, 'qmt', quickTrade, ctx)

策略名第三段写死为 'qmt'

字段 必填 默认 说明
opType 操作类型;兼容层买=23、卖=24
stock
price
volume
orderType 1101
prType 11 JSON 字段名为 prType
quickTrade 2

响应

{"status": "success", "opType": 23, "stock": "600000.SH", "order_ref": "..."}

5.2 算法下单

  • POST /api/trade/algo_passorderalgo_passorder(...)
字段 必填 默认
opType
stock
price
volume
orderType 1101
prType -1(与 passorder 默认 11 不同)
strategyName ""
quickTrade 2
userOrderId ""
userOrderParam {}
{"status": "success", "order_ref": "..."}

5.3 智能算法下单

  • POST /api/trade/smart_algo_passorder
字段 必填 默认
opType / stock / price / volume
smartAlgoType
orderType 1101
prType -1
limitOverRate 0
minAmountPerOrder 0
startTime ""
endTime ""

5.4 指定手数 / 价值 / 比例 / 目标 / 股数

下列接口模式相同:成功返回 {"status":"success","action":"<函数名>","stock":"..."}

路径 QMT 关键字段 其它默认
POST /api/trade/order_lots order_lots lots int style=LATEST, price=0, accId
POST /api/trade/order_value order_value value float 同上
POST /api/trade/order_percent order_percent percent float 同上
POST /api/trade/order_target_value order_target_value tar_value float 同上
POST /api/trade/order_target_percent order_target_percent tar_percent float 同上
POST /api/trade/order_shares order_shares shares int 同上

均需 stock

curl -s -X POST -H "X-Token: $TOKEN" -H "Content-Type: application/json" \
  -d "{\"stock\":\"600000.SH\",\"shares\":100,\"style\":\"LATEST\",\"price\":0}" \
  http://127.0.0.1:10086/api/trade/order_shares

5.5 期货开平仓

均需 stockamount手数int。可选 stylepriceaccId

路径 QMT 函数 action
POST /api/trade/futures/buy_open buy_open buy_open
POST /api/trade/futures/buy_close_tdayfirst buy_close_tdayfirst buy_close_tdayfirst
POST /api/trade/futures/buy_close_ydayfirst buy_close_ydayfirst buy_close_ydayfirst
POST /api/trade/futures/sell_open sell_open sell_open
POST /api/trade/futures/sell_close_tdayfirst sell_close_tdayfirst sell_close_tdayfirst
POST /api/trade/futures/sell_close_ydayfirst sell_close_ydayfirst sell_close_ydayfirst

成功体例:

{"status": "success", "action": "buy_open", "stock": "IF2509.IF"}

5.6 任务:撤销 / 暂停 / 继续

路径 QMT
POST /api/trade/cancel_task cancel_task(taskId, acc, accountType, ctx)
POST /api/trade/pause_task pause_task
POST /api/trade/resume_task resume_task
字段 必填 默认
taskId
accountType "stock"
{"status": "success" | "failed", "taskId": "..."}

status 由 QMT 返回值的真假决定。

5.7 触发前一根 bar 信号

  • POST /api/trade/do_orderdo_order(ctx)

无需解析 Body空 Body 也可)。

{"status": "success", "message": "信号已触发"}

5.8 交易明细(原始对象属性)

  • POST /api/trade/trade_detail_dataget_trade_detail_data(acc, account, datatype, 'qmt')
字段 默认 说明
account "stock" 账户类型
datatype "position" position / order / deal / account(以 QMT 为准)

每个元素展开为「非 _ 开头且不可调用」的属性,值 str()

{"data": [{ "...": "..." }]}

调用失败时 data[]

5.9 按委托号取委托/成交

  • POST /api/trade/value_by_order_idget_value_by_order_id(orderId, acc, accountType, datatype)
字段 默认
orderId ""
accountType "stock"
datatype "ORDER"
{"orderId": "...", "data": {}}

5.10 最新委托号

  • POST /api/trade/last_order_idget_last_order_id(acc, account, datatype, 'qmt')
字段 默认
account "stock"
datatype "ORDER"
{"last_order_id": ...}

5.11 委托是否可撤

  • POST /api/trade/can_cancel_order
{"orderId": "...", "can_cancel": ...}

accountType 默认 "stock"

5.12 两融:负债 / 担保 / 可融券

均 POST可选 accId(默认当前账号)。返回对象列表,属性展开方式同 5.8。

路径 QMT 响应
/api/trade/debt_contract get_debt_contract(accId) {"data": [...]}
/api/trade/assure_contract get_assure_contract 同上
/api/trade/enable_short_contract get_enable_short_contract 同上

5.13 当日新股新债

  • POST /api/trade/ipo_dataget_ipo_data(type)
字段 默认
type ""
{"data": {}}

5.14 新股申购额度

  • POST /api/trade/new_purchase_limitget_new_purchase_limit(accid)
字段 默认
accid 当前账号
{"data": {}}

6. 扩展引用 /api/ext

四个接口结构相同:name + stockcode + deviation(默认 0并传入 ContextInfo

路径 QMT 响应对
POST /api/ext/ext_data ext_data(extdataname, stockcode, deviation, ctx) extdataname + value
POST /api/ext/ext_data_rank ext_data_rank rank
POST /api/ext/get_factor_value get_factor_value(factorname, ...) factorname + value
POST /api/ext/get_factor_rank get_factor_rank rank

示例:

{"factorname": "...", "stockcode": "600000.SH", "value": ...}

7. 系统 /api/sys

这两支同样需要 X-Token

7.1 Python 版本

  • GET /api/sys/python_version
{
  "python_version": "...",
  "python_version_info": {
    "major": 3,
    "minor": 0,
    "micro": 0,
    "releaselevel": "final",
    "serial": 0
  }
}

用于确认 QMT 内嵌解释器版本。

7.2 关闭 HTTP 服务

  • POST /api/sys/shutdown

先写入响应再 finish(),然后 IOLoop.stop()。策略进程内的 HTTP 循环结束;是否退出整个 QMT 策略取决于宿主行为。

{"status": "success", "message": "服务器正在关闭..."}
curl -s -X POST -H "X-Token: $TOKEN" http://127.0.0.1:10086/api/sys/shutdown

8. 快速对照表

方法 路径
POST /api/v2/positions
POST /api/v2/assets
POST /api/holding
POST /api/money/total
POST /api/money/available
POST /api/order/buy
POST /api/order/sell
POST /api/order/status
POST /api/order/cancel_all
POST /api/order/cancel_order
POST /api/order/deal
GET /api/context/period
GET /api/context/barpos
GET /api/context/time_tick_size
GET /api/context/stockcode
GET /api/context/dividend_type
GET /api/context/market
GET /api/context/do_back_test
GET /api/context/benchmark
GET /api/context/capital
GET /api/context/universe
POST /api/data/stock_name
POST /api/data/open_date
POST /api/data/last_volume
POST /api/data/bar_timetag
GET /api/data/tick_timetag
POST /api/data/sector
POST /api/data/industry
POST /api/data/stock_list_in_sector
POST /api/data/weight_in_index
POST /api/data/contract_multiplier
POST /api/data/risk_free_rate
POST /api/data/date_location
POST /api/data/history_data
POST /api/data/market_data
POST /api/data/market_data_ex
POST /api/data/full_tick
POST /api/data/divid_factors
POST /api/data/main_contract
POST /api/data/timetag_to_datetime
POST /api/data/total_share
POST /api/data/trading_dates
POST /api/data/svol
POST /api/data/bvol
POST /api/data/longhubang
POST /api/data/top10_share_holder
POST /api/data/option_detail
POST /api/data/turnover_rate
POST /api/data/etf_info
POST /api/data/etf_iopv
POST /api/data/instrumentdetail
POST /api/data/contract_expire_date
POST /api/data/option_undl_data
POST /api/data/financial_data
POST /api/data/factor_data
POST /api/data/his_st_data
POST /api/data/his_index_data
GET /api/data/all_subscription
POST /api/data/option_list
POST /api/data/his_contract_list
POST /api/data/option_iv
POST /api/data/bsm_price
POST /api/data/bsm_iv
POST /api/data/local_data
POST /api/data/subscribe_quote
POST /api/data/unsubscribe_quote
GET /api/check/is_last_bar
GET /api/check/is_new_bar
POST /api/check/is_suspended_stock
POST /api/check/is_sector_stock
POST /api/check/is_typed_stock
POST /api/check/get_industry_name_of_stock
POST /api/trade/passorder
POST /api/trade/algo_passorder
POST /api/trade/smart_algo_passorder
POST /api/trade/order_lots
POST /api/trade/order_value
POST /api/trade/order_percent
POST /api/trade/order_target_value
POST /api/trade/order_target_percent
POST /api/trade/order_shares
POST /api/trade/futures/buy_open
POST /api/trade/futures/buy_close_tdayfirst
POST /api/trade/futures/buy_close_ydayfirst
POST /api/trade/futures/sell_open
POST /api/trade/futures/sell_close_tdayfirst
POST /api/trade/futures/sell_close_ydayfirst
POST /api/trade/cancel_task
POST /api/trade/pause_task
POST /api/trade/resume_task
POST /api/trade/do_order
POST /api/trade/trade_detail_data
POST /api/trade/value_by_order_id
POST /api/trade/last_order_id
POST /api/trade/can_cancel_order
POST /api/trade/debt_contract
POST /api/trade/assure_contract
POST /api/trade/enable_short_contract
POST /api/trade/ipo_data
POST /api/trade/new_purchase_limit
POST /api/ext/ext_data
POST /api/ext/ext_data_rank
POST /api/ext/get_factor_value
POST /api/ext/get_factor_rank
GET /api/sys/python_version
POST /api/sys/shutdown

合计 104 条路由(/api/holding/api/v2/positions/api/v2/assets 与资金类为不同路径、部分共用 Handler