自动化交易(一):level2行情接入示例

在量化交易领域,个人投资者相较于机构投资者而言,最大的优势在于其灵活性。交易市场遵循着固有规律,即不可能让所有人都实现盈利,这就决定了交易策略必然具有私有属性。

从事量化交易,首先要掌握数据分析与数据获取的能力,同时需要借助工具来辅助完成量化分析和交易操作。实际上,专业量化机构所开展的工作核心也在于此。

数据是量化交易的基础,是程序运行的输入来源,因此获取数据是首要任务 。在拥有数据之后,就要进行策略的构建、验证,并将其应用到实际交易当中。

概括来说,进行程序化交易,行情数据的接入以及交易接口是不可或缺的要素。策略的可靠性并非取决于外部因素,而是源于自身的研究。

在策略研究和分析方面,如果缺乏计算机的辅助,仅依靠人眼每天浏览 3000 只股票,很难在脑海中形成对市场的准确认知,甚至极有可能因个人偏好和固有认知而产生错误判断。毕竟,人脑在处理海量数据时的学习效率远不及计算机。所以,掌握一些简单的编程技能是十分必要的。

在股票数据获取方面,虽然获取股票数据并非难事,但确保数据的准确度和实时性却颇具挑战。获取股票历史数据时,通常可以从普通财经网站抓取,这些网站一般都会开放 K 线数据。然而,对于日内交易而言,K 线回归数据的粒度较粗,无法满足对某一日内交易明细的需求,比如开盘后的走势、午盘后的走势等细节信息难以获取。所以,若要从事量化交易,从当下开始积累数据至关重要,因为每一份数据都具有不可重复性。

在进行回归回测时,历史数据的质量起着关键作用,level2 数据是较为理想的选择,它能做到事无巨细地记录各类信息,便于后续根据需求决定模型回测的粒度。交易本质上是逐笔进行的,市场中的每一次撮合交易都会留下记录。level2 行情数据提供了最为详尽的交易信息,相比于 level1 每隔几秒的快照报价,更适合用于量化投资分析。

level2行情接入示例

#!python3
# -*- coding:utf-8 -*-
import time
import websocket
import zlib


# 发送订阅
def on_open(ws):
    ws.send("all=lv2_600519,lv1_000001")


# 接收推送
def on_message(ws, message, type, flag):
    # 命令返回文本消息
    if type == websocket.ABNF.OPCODE_TEXT:
        print(time.strftime('%H:%M:%S', time.localtime(time.time())), "Text响应:", message)
    # 行情推送压缩二进制消息,在此解压缩
    if type == websocket.ABNF.OPCODE_BINARY:
        rb = zlib.decompress(message, -zlib.MAX_WBITS)
        print(time.strftime('%H:%M:%S', time.localtime(time.time())), "Binary响应:", rb.decode("utf-8"))


def on_error(ws, error):
    print(error)


def on_close(ws, code, msg):
    print(time.strftime('%H:%M:%S', time.localtime(time.time())), "连接已断开")


wsUrl = "ws://<服务器地址>/?token=<jvQuant token>"
ws = websocket.WebSocketApp(wsUrl,
                            on_open=on_open,
                            on_data=on_message,
                            on_error=on_error,
                            on_close=on_close)
ws.run_forever()

参考链接:level2行情接口 Python 示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值