tick数据、盘口数据、成交明细数据详解

这篇具有很好参考价值的文章主要介绍了tick数据、盘口数据、成交明细数据详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近期开始学习订单薄策略(order book strategy)、订单流策略(order flow strategy),理清数据是第一步。

一、成交明细数据

用各个软件进行看盘,除了分时、k线最常用外,盘口数据/成交明细也会显示出来,下图是螺纹主力shfe.rb2401 2023年10月24日,收盘前wind、multicharts推送的成交明细数据。
tick行情数据,python,金融tick行情数据,python,金融

碰到的第一个问题是如果我想使用这些数据进行分析,如何下载保存这部分数据呢?
之前使用wind比较多,但是没有找到wind上该如何下载这部分数据,通达信软件可以下载历史分时数据,但是是一天天下载,多天的数据手动下载很耗时。
仔细学习了解之后,才发现这部分数据直接可以从tick数据进行简单处理转换就可以,了解数据生成可以大大提高效率,也便于后续使用这一部分数据。

二、Tick数据

  • tick行情又称逐笔行情,是整个市场上的逐笔数据。例如投资者一笔新的委托会形成一笔行情,交易所撮合一笔新的成交也会形成一笔行情。tick行情记录了市场的每一个事件的数据,是最精细和完整的数据。

  • 快照行情又称切片(snapshot)行情,如其名,是对tick行情数据的某一个时刻的切片数据。例如现在常见的期货500ms一笔的行情,就是每500ms,在这时间段内的最高价、最低价、成交量等汇总成的一笔快照行情。

目前国内期货市场是没有真正意义上的tick逐笔数据的,这时候提到的tick数据指的是快照行情。
快照行情又可以分为level1、level2的数据,主要区分是报价深度。

  • level1行情又称1档行情或基本行情,字面意义上是指行情报单簿的档位只有一档,即买一价,卖一价。实际应用中一般用来指比较基础的一种行情,只包含最低层次的买卖,成交数据,更新频次也是最低。

  • level2行情又称多档行情或者深度行情,可以认为是level1行情的升级版,体现在报单簿档位会多,数据丰富,或者更新频次更快。这种行情一般是要单独收费的。

tick行情数据,python,金融

以rb2401为例,使用天勤下载了2023年10月24日(仅下载了日盘,没下载10.23夜盘,不影响后续分析)的tick数据(实际是快照数据,后续都以tick数据指快照行情数据)。

tick行情数据,python,金融

下载到的tick数据长这样,主要包含成交、报单两部分的数据。详细可以自行下载,可以发现软件提供的:现手、仓差、开平方向 都不是原始数据,是经过计算得到的,用last_price、volume、open_interst、bid_price1、ask_price1字段进行计算。

还可以发现,软件商成交明细和交易所返回数据相比,少了几条,仅在成交量volume发生变化时才进行推送,后续以交易量发生变化的最后两行数据(图中标黄的数据)为例,进行示例计算。

三、使用tick数据计算成交明细

1、现手

volume字段是累计成交量字段,现手数据很好计算,就是volume之差,即下一条数据volume-上一条数据volume,图上黄色标注数据计算就是1443112-1443011=101,和软件推送数据一致。

2、仓差

open_interest字段是持仓数量,仓差是open_interest之差,图上是1862177-1862180=-3,和软件推送数据一致。

3、开平

开平方向与现手、增仓、价格变动方向都有关系,具体可以看下面的几个表:

  • 开平方向
    tick行情数据,python,金融
  • 价格变动方向及内外盘方向
    tick行情数据,python,金融
  • 汇总
    tick行情数据,python,金融

四、python实现

import pandas as pd
import numpy as np

# 读取数据
rb_data = pd.read_csv("RB2401_tick_1024.csv")
# 处理列名
cols = [i.replace("SHFE.rb2401.", "").strip() for i in rb_data.columns]
rb_data.columns = cols


def get_ticks_info(df):
    df_pre = df.copy().shift(1)
    df_pre["price_diff"] = df["last_price"] - df_pre["last_price"]
    df_pre["oi_diff"] = df["open_interest"] - df_pre["open_interest"]
    df_pre["vol_diff"] = df["volume"] - df_pre["volume"]
    
    df_pre["pc"] = np.where(
        df["last_price"] <= df_pre["bid_price1"], -1,
        np.where(df["last_price"] >= df_pre["ask_price1"], 1,
                 np.sign(df_pre["price_diff"])))
    pc_g = df_pre["pc"] > 0

    condition_buy = (df["last_price"] >= df_pre["ask_price1"]) | (df["last_price"] >= df["ask_price1"])
    condition_sell = (df['last_price'] <=df_pre['bid_price1']) |(df['last_price'] <= df['bid_price1'])
    direction_values = np.where(condition_buy, '主动买', np.where(condition_sell, '主动卖', '其他'))
    df_pre['direction'] = pd.Series(direction_values, index=df.index)

    df_pre["info"] = pd.Series(
        np.where(
            df_pre["oi_diff"] > 0, np.where(pc_g, "多开", "空开"),
            np.where(
                df_pre["oi_diff"] < 0, np.where(pc_g, "空平", "多平"),
                np.where(df_pre["oi_diff"] == 0, np.where(pc_g, "多换", "空换"),
                         ""))))
    df_pre.loc[df_pre["pc"] == 0, "info"] = "换手"
    df_pre.loc[(df_pre["oi_diff"] < 0) &
               (df_pre["oi_diff"] + df_pre["vol_diff"] == 0), "info"] = "双平"
    df_pre.loc[(df_pre["oi_diff"] > 0) &
               (df_pre["oi_diff"] == df_pre["vol_diff"]), "info"] = "双开"
    df_pre.loc[df_pre["vol_diff"] == 0, "info"] = ""

    return df_pre.shift(-1)

data = get_ticks_info(rb_data)

tick行情数据,python,金融
tick示例数据及代码关注微信公众号:量化学习J(公众号微信号:quant_study_june),回复 tick数据处理 ,发送网盘链接文章来源地址https://www.toymoban.com/news/detail-762545.html

到了这里,关于tick数据、盘口数据、成交明细数据详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀

    目录 引言 1. Python在股票市场分析中的应用 2. 投资组合优化 3. 风险管理与预测 时间序列分析 机器学习在风险预测中的应用 大数据分析与风险建模 总结 ⭐️ 好书推荐 【内容简介】 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。

    2024年02月03日
    浏览(39)
  • Python量化投资——金融数据最佳实践: 使用qteasy+tushare搭建本地金融数据仓库并定期批量更新【附源码】

    做量化投资或者对量化交易感兴趣的朋友应该都需要用到大量的金融数据,例如股票价格,基金净值、上市公司技术指标和财务指标等等。但是,如何有效、可靠地获取金融数据,并且有效地使用,却是一个令人头疼的问题。在这篇文章中,我想跟大家交流我的使用心得,分

    2024年02月04日
    浏览(40)
  • AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀【文末送书-38】

    在当今数字化和信息化的时代,金融行业正处于巨大的变革之中。随着人工智能(AI)和大数据技术的迅猛发展,金融机构对于数据的处理和分析变得愈发重要。Python作为一种强大的编程语言,以其简洁、灵活、易学的特点,成为了金融数据分析的首选工具之一。而结合AI技术

    2024年03月16日
    浏览(44)
  • Python探索金融数据进行时间序列分析和预测

    大家好,时间序列分析是一种基于历史数据和趋势分析进行预测的统计技术。它在金融和经济领域非常普遍,因为它可以准确预测趋势并做出明智的决策。本文将使用Python来探索经济和金融数据,执行统计分析,并创建时间序列预测。 我们将在本教程中使用NumPy、Pandas和Mat

    2024年02月16日
    浏览(41)
  • python金融数据分析和可视化--03利用Akshare获取股票数据

    AKShare 是基于 Python 的财经数据接口库,目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具,主要用于学术研究目的。 AKShare 的特点是获取的是相对权威

    2024年02月05日
    浏览(32)
  • Python在金融大数据分析中的AI应用实战

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 随着人工智能时代的到来,Python作为一种功能强大的编程语言,在金融领域的大数据分析中扮演着日益重

    2024年02月03日
    浏览(34)
  • 【Python数据分析】实践编写篇3:在Python中使用三阶指数平滑模型对金融数据集进行拟合与预测

    目录 一、前期准备 二、数据来源与样式  三、数据的预处理 (一)表格处理 (二)数据导入 (三)数据处理  四、模型构建(指数平滑) (一)数据作图 (二)观察季节性与趋势 (三)一阶指数平滑 (四)二阶指数平滑 (五)三阶指数平滑 (六)均方误(MSE)比较  

    2024年02月17日
    浏览(37)
  • 盘口策略 | 交易中最重要的是什么?

     量化策略开发,高质量社群,交易思路分享等相关内容 『正文』 ˇ 交易中最重要的是什么? 当然是Timing啊~~~ “时机是这个世界上最难得到,又最容易失去的东西” 夫难得而易失者,时也;时至而不旋踵者,机也,故圣人常顺时而动,智者必因机而发.原文出自《九州春秋》   

    2024年02月14日
    浏览(29)
  • uniswap v3 中的tick管理

    首先看一下tick的存储结构 其他字段和本节无关暂且略过。 比方说有两个 position 中的流动性相等,例如 L = 500,并且这两个 position 同时引用了一个 tick,其中一个为 lower tick ,另一个为 upper tick,那么对于这个 tick,它的 liquidityNet = +500-500=0。而liquidityGross=500+500=1000 当价格变动

    2024年04月09日
    浏览(26)
  • A 股指数分时行情数据 API 数据接口

    A 股指数分时行情数据 API 数据接口 多维度分时指标,指数分时,多时间区间查询参数。 支持所有指数数据查询; 支持指数分时数据查询; 多时间维度分时数据; 多维度的统计时间以及数据结果; 秒级查询性能; 数据持续更新与维护; 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包