量化投资基础:金融数据查询与服务器分配

一、引言

量化投资是一种利用数学模型和计算机技术进行投资决策的方法。在量化投资中,获取准确、及时的金融数据是至关重要的。本文将介绍如何获取沪深市场的逐笔委托队列数据、千档盘口队列数据,以及如何分配服务器以进行数据查询和交易操作。相关内容参考了以下文章:

  1. level2逐笔委托队列查询
  2. level2千档盘口查询
  3. 行情产品接入指南
  4. 分配服务器
  5. 用户手册 - 注册

二、逐笔委托队列查询

(一)前置步骤

在进行逐笔委托队列查询之前,需要分配数据库服务器。服务器地址可通过分配服务器中的方法获取。

(二)查询模板

沪深委托队列查询的请求模板如下:

http://<数据库服务器>/sql?mode=order_book&code=<股票代码>&offset=<offset>&token=<token>

(三)查询参数说明

参数名 类型 说明
mode string 查询类别,委托队列查询使用order_book
code string 需要查询的证券代码
offset string 支持按队列偏移量查询,未指定则查询最新数据
token string 用户账户的认证token,用于验证请求权限

(四)查询示例

  1. 查询最新委托列表
http://<数据库服务器>/sql?mode=order_book&code=000001&token=<token>
  1. 根据偏移量查询
http://<数据库服务器>/sql?mode=order_book&code=000001&offset=<offset>&token=<token>

(五)返回参数说明

字段名 类型 说明
offset int 偏移标记,用于继续查询前面的数据
price float 委托价格
volume int 档位挂单总量(股)
type int 委托类型,B表示买,S表示卖
time string 委托时间

(六)返回数据示例

{
"code": 0,
"cnt": 1,
"msg": "",
"data": {
"code": "000001",
"slice": 192,
"fields": ["offset", "price", "volume", "type", "time"],
"list": [
[
90593065,
16.97,
800,
"B",
"09:32:02"
],
...
[
90592690,
16.98,
7400,
"S",
"09:31:58"
]
]
}
}

三、千档盘口查询

(一)前置步骤

同样需要先分配数据库服务器,参考分配服务器获取服务器地址。

(二)查询模板

千档盘口查询的请求模板为:

http://<数据库服务器>/sql?mode=level_queue&code=<股票代码>&token=<token>

(三)查询参数说明

参数名 类型 说明
mode string 查询类别,千档盘口查询使用level_queue
code string 需要查询的证券代码
token string 用户账户的认证token,用于验证请求权限

(四)查询示例

http://<数据库服务器>/sql?mode=level_queue&code=000001&token=<token>

(五)返回参数说明

查询结果以JSON格式返回,包含以下字段:

List字段名 类型 说明
type string 档位类别,买N卖NB表示买,S表示卖
price float 档位价格
volume_count int 档位挂单总量(股)
queue_count int 档位挂单笔数
queue_slice string 档位挂单队列,以逗号分隔的挂单量列表

(六)返回数据示例

{
"code": 0,
"cnt": 1,
"msg": "",
"data": {
"code": "000001",
"count": 143,
"fields": ["S100", "S99",..., "B99", "B100"],
"list": [
{
"type": "S100",
"price": 12.53,
"volume_count": 3250700,
"queue_count": 386,
"queue_slice": "5500,600,15000,200,3500,1000,300,800..."
},
...
{
"type": "B100",
"price": 12.5,
"volume_count": 98100,
"queue_count": 28,
"queue_slice": "1300,1000,4900,6200,1800,1000,2000,30000..."
}
]
}
}

四、服务器分配

(一)重要性

为确保最佳用户体验,在进行各项业务(如实时行情获取、数据库服务查询、委托交易等)前,需要查询并获取服务器分配。每次分配的服务器地址可能不同,因此每次连接前务必重新查询。

(二)请求模板

http://jvQuant.com/query/server?market=<market>&type=<type>&token=<Token>

(三)请求参数说明

参数名 类型 说明
market string 市场标识,指定市场类别
type string 业务类型,指定业务类别
token string 您的账户Token,用于身份验证

(四)市场标识

市场 标识代码
沪深市场 ab
港股市场 hk
美股市场 us

(五)业务类型

业务 业务代码
实时行情 websocket
数据库服务 sql
委托交易 trade

(六)示例

  1. 分配沪深行情服务器
http://jvQuant.com/query/server?market=ab&type=websocket&token=<您的Token>
  1. 分配港股行情服务器
http://jvQuant.com/query/server?market=hk&type=websocket&token=<您的Token>
  1. 分配美股行情服务器
http://jvQuant.com/query/server?market=us&type=websocket&token=<您的Token>
  1. 分配沪深数据库服务器
http://jvQuant.com/query/server?market=ab&type=sql&token=<您的Token>
  1. 分配沪深交易服务器
http://jvQuant.com/query/server?market=ab&type=trade&token=<您的Token>

(七)返回结果示例

{
"code": "0",
"server": "<业务服务器地址>"
}

五、总结

通过以上介绍,我们了解了如何获取沪深市场的逐笔委托队列数据和千档盘口队列数据,以及如何分配服务器进行相关操作。在量化投资中,准确的金融数据和稳定的服务器连接是成功的关键。希望这些知识能够帮助读者更好地理解量化投资中的数据获取环节。同时,在实际操作中,还需要注意保护账户Token的安全,避免泄露造成不必要的损失。