IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 如何利用炒股中的L2行情数据功能对比,以及用途数据分析。(附代码) -> 正文阅读

[区块链]如何利用炒股中的L2行情数据功能对比,以及用途数据分析。(附代码)

股票L1与L2行情数据对比

由于Level 1 成交数据是3秒刷新一次,期间的所有成交数据是汇总显示的,而Level 2?的成交数据是主动推送的,毫秒级的变动频率,因此可看清每一笔成交情况,与Level 1 行情的成交情况差异巨大!


首先,L2是level-2产品,是上海证券交易所推出的实时报价信息收费服务,主要提供在上海证券交易所上市交易的证券产品的实时交易数据。包括各种新数据,如十档行情、买卖队列、逐笔交易、委托总额、加权价格等。

使用level-2软件的投资者可以在开盘时间内随时看到交易商和散户投资者买卖股票。L2报价接口是指通过接口功能直接获取报价数据,利用数据制定股票交易策略。


L2行情接口优点在哪里?


回到正题,L2行情接口有什么优势?一般来说,L2市场接口实际上是股票量化交易的工具之一。一般投资者最多只能看到10个交易市场,但只有这么少的数据,我们很难做出交易决策。我们必须获得更多的数据来做出更准确的判断,L2市场接口可以帮助我们。换句话说,L2数据市场接口是帮助我们更好地完成股票交易的工具。

说了这么多,相信大家对股票L2行情市场接口都有一定的了解。如果我们再深入一点,Level2接口会根据不同的编程方法例如:(C# python示例代码 数据缓存?量化分析?股票行情接口SDK 股票行情技术支持 接口源代码等)适用的人也不会一样。如果你感兴趣,以后再详细解释。让我们先消化一下。如果你不明白,你也可以和我谈谈。


仔细想想你就知道了 ,其实level2说白了就是十档行情,别人可以看到买5~卖5之间的挂单情况,而你如果买了这个产品,你就能看到买10~卖10之间的挂单。


当然,实际的情况要复杂一些,除了股票还有债券,指数等行情,行情也不是一定3秒一个快照,有些证券行情变化少,记录数会少一些。这里只是定量的分析。


简单地说,高频策略交易不是凭空而来的,需要通过历史高频数据进行回测,计算按照这些规则交易是否真的能赚钱。那些能一直赚钱的人是好策略。通过回测数据找到好策略后,就可以编写软件,放在之前的高频策略中进行实盘,但实盘的情况可能和回测结果有很大的不同。


有两种可能:一种是策略本身有问题,另一种是交易速度不够快。别人可能有和你一样的策略,但是别人的网络和程序更快,即使是0.001毫秒,就可以拿走你的单。


Level2是一个高级数据市场,可以看到更多的交易细节信息。L2的市场也集成在NiceMoney的系统中,这样人工智能AI会更聪明!Level-2由上海证券交易所和深圳证券交易所共同推出的实时市场信息收费服务。


与普通市场相比evel-1)相比,这个市场具有数据更完整、推送速度更及时的优势,帮助投资者及时把握盘中主要资金流,做出更准确的投资决策。简而言之,Level-2最大的作用就是提前看到主力的大单,追涨停板,对于追逐日线跌停非常有用。


L2市场数据非常有用。我们一直被用作交易系统的基本数据。我们有level2数据,里面有一个统计分析工具,可以看到大单小单和主动趋势。

所以我认为level2行情数据,是值得买的。

以下就是我这边的L2行情数据代码示例:

# -*- coding: utf-8 -*-

# 此Demo只是演示接入过程

import grpc

import entity_pb2

import proxy_pb2_grpc

import threading

from multiprocessing import Process

# 代理服务器监听的地址和端口

ServerConnect = grpc.insecure_channel('localhost:5000')

Stub = proxy_pb2_grpc.ProxyStub(ServerConnect)

# 查询订阅

def get_subscription():

????# rep返回code为1代表成功,其余状态码可参考接入文档,data是返回订阅股票的情况

????Result = Stub.GetSubscription(entity_pb2.Void())

????print(Result)

# 新增订阅

def add_subscription():

????# 实例ProtoBuf协议的方法

????String = entity_pb2.String()

????# 修改协议的值

????# 2:市场代码标识(1为上海证券,2为深圳证券)

????# 000002:股票代码

????# 15:订阅全部标识(1为逐笔成交,2为逐笔委托,4为委托队列,8为股票十档行情,如果想全部订阅可直接填入15,原理是1+2+4+8,如果想订阅某几个行情将几个行情标识相加即可)

????String.value = '2_000002_15'

????# String.value = '2_000001_15,2_000002_5,2_000003_12,批量订阅'

????# rep返回code为1代表成功,其余状态码可参考接入文档

????Result = Stub.AddSubscription(String)

????print(Result)

# 取消订阅

def del_subscription():

????# 实例ProtoBuf协议的方法

????String = entity_pb2.String()

????# 修改协议的值

????# 2:市场代码标识(1为上海证券,2为深圳证券)

????# 000002:股票代码

????# 15:取消全部标识(1为逐笔成交,2为逐笔委托,4为委托队列,8为股票十档行情,如果想全部取消可直接填入15,原理是1+2+4+8,如果想取消某几个行情将几个行情标识相加即可)

????String.value = '2_000002_15'

????# String.value = '2_000001_15,2_000002_5,2_000003_12,批量取消'

????# rep返回code为1代表成功,其余状态码可参考接入文档

????Result = Stub.DelSubscription(String)

????print(Result)

# 推送逐笔成交行情数据

def tick_record_stream():

????StreamResult = Stub.NewTickRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

# 推送逐笔委托行情数据

def order_record_stream():

????StreamResult = Stub.NewOrderRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

# 推送委托队列行情数据

def order_queue_record_stream():

????StreamResult = Stub.NewOrderQueueRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

# 推送股票十档行情行情数据

def stock_quote_record_stream():

????StreamResult = Stub.NewStockQuoteRecordStream(entity_pb2.Void())

????# 用For循环就可以不断消费数据

????for Result in StreamResult:

????????print(Result)

if __name__ == '__main__':

????# 可以使用多线程并发接收推送数据

????ThreadOne = threading.Thread(target=tick_record_stream)

????ThreadTwo = threading.Thread(target=order_record_stream)

????ThreadThree = threading.Thread(target=order_queue_record_stream)

????ThreadFour = threading.Thread(target=stock_quote_record_stream)

????# 多进程并发接收推送数据

????# ProcessOne = Process(target=tick_record_stream)

????# ProcessTwo = Process(target=order_record_stream)

????# ProcessThree = Process(target=order_queue_record_stream)

????# ProcessFour = Process(target=stock_quote_record_stream)

????# 这设置为随主线程退出子线程,避免产生孤儿或僵尸线程

????ThreadOne.daemon = True

????ThreadTwo.daemon = True

????ThreadThree.daemon = True

????ThreadFour.daemon = True

????# ProcessOne.daemon = True

????# ProcessTwo.daemon = True

????# ProcessThree.daemon = True

????# ProcessFour.daemon = True

????# 有一点值得注意一下,假如订阅的股票相对活跃,推送的数据就不会有休眠的状态出现,因为Python的GIL锁,所以用多线程接收推送效率不显著,这个时候可以考虑用多进程来接收推送

????ThreadOne.start()

????ThreadTwo.start()

????ThreadThree.start()

????ThreadFour.start()

????# ProcessOne.start()

????# ProcessTwo.start()

????# ProcessThree.start()

????# ProcessFour.start()

????ThreadOne.join()

????ThreadTwo.join()

????ThreadThree.join()

????ThreadFour.join()

????# ProcessOne.join()

????# ProcessTwo.join()

????# ProcessThree.join()

????# ProcessFour.join()

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:20:53  更:2022-10-22 21:21:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/23 21:18:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码