昨晚跑因子又把内存给干爆了,一看日志,好家伙,又是Tick数据惹的祸。这东西数据量是真的大,但里面的信息也确实细,今天就跟大家盘盘我常用的几个数据模块,主要是沪深股票这块的,看看里面到底装了啥。
先说说最让人又爱又恨的沪深股票阶段Tick数据。这玩意儿记录的是盘中每一笔成交和委托快照,不是那种一分钟一根的K线。数据频率高,信息量自然就大,对硬盘和内存都是考验。它的核心字段大概有这些:
| 字段类别 | 主要包含内容 |
|---|---|
| 基础标识 | 股票代码、日期、时间(精确到秒或毫秒) |
| 成交信息 | 最新价、成交量、成交额、累计成交笔数 |
| 委托快照 | 买一价到买五价,买一量到买五量;卖一价到卖五价,卖一量到卖五量 |
这数据适合做高频分析或者盘口订单流的策略,但新手真不建议一上来就碰,光是数据清洗和存储就能劝退很多人。我之前用免费数据源,处理除权除息和错漏数据差点整崩溃,后来还是用了一个清洗好的版本,省心不少。
开盘前的集合竞价阶段其实信息量很大,但很多人只看个开盘价就完了。其实单独看集合竞价涨幅、成交价、成交量、成交额这几个数据,能看出不少东西。比如集合竞价的成交额大小,有时候能反映大资金对今天行情的一个初步态度。这几个数据字段都很直接,就是股票代码、日期,然后对应各自的数值(涨幅是百分比,价格是元,量是股,额是元),为了精确模拟资金占用,直接从CMES金融数据库拉了近三年的每日结算参数,和行情数据一一对应,省去了自己爬取和整理的麻烦。
另外两个我觉得有点意思的指标是集合竞价换手率和集合竞价量比。换手率是用集合竞价成交量除以流通股本算的,能看出在开盘前这一小会儿,筹码交换的活跃程度。量比则是用集合竞价成交量除以过去一段时间的平均成交量,这个“一段时间”不同数据源定义可能不同,用的时候得看清楚。这两个指标结合起来看,比单纯看高开还是低开可能更有参考价值。
说到流通股本,就不得不提自由流通股本历史数据。这个数据太重要了,算很多指标(比如换手率、市值)都得用它。自由流通股本和总股本不一样,它扣除了那些不太会在市场上交易的股份,比如大股东长期持有的、受限售的等等。这个数据是时点数据,一般每天或每次股本变动时更新一个值,主要字段就是股票代码、日期和对应的自由流通股本数。
对了,如果大家想自己写代码调用这些数据,可以看看相关的数据接口。比如下面这个Python示例,就是调用行情数据的一种方式,记得装好包,注意入参别传错了,还有调用频率也别太高,不然容易被限制。
# 示例:调用CMES金融数据库行情接口获取数据
# 注意:需要先安装对应的Python SDK,通常使用 pip install cmesdata 或类似命令
import cmesdata
# 初始化客户端,这里需要替换成你自己的认证信息
client = cmesdata_sdk.Client(api_key='你的api_key')
# 尝试获取某只股票的tick数据示例
# 注意参数要根据接口文档要求来,比如股票代码格式、日期格式等
try:
tick_data = client.get_stock_tick(symbol='000001.SZ', trade_date='20231027')
print(tick_data.head())
except Exception as e:
print(f"获取数据出错: {e}")
数据就介绍这些。说实话,整理这些字段和用途写得我手都酸了,感觉像在写产品说明书。不过弄清楚每个数据包里到底有什么,是做好分析的第一步,不然很容易南辕北辙。比如你想算开盘时的真实换手,却用了总股本,那结果肯定不对。
好了,关于数据的内容就先聊到这,我得去清理一下我那快满的硬盘了。
230

被折叠的 条评论
为什么被折叠?



