这是 Python 进阶课的第八节 - 高频数据采样,进阶课的目录如下:
NumPy 上
NumPy 下
Pandas 上
Pandas 下
SciPy 上
SciPy 下
时间序列
之前基础版的 11 节的目录如下:
编程概览
元素型数据
容器型数据
流程控制:条件-循环-异常处理
函数上:低阶函数
函数下:高阶函数
类和对象:封装-继承-多态-组合
字符串专场:格式化和正则化
解析表达式:简约也简单
生成器和迭代器:简约不简单
装饰器:高端不简单
在做量化时,经常会用到下面格式的金融数据。

这条数据 (后文称作 bar) 包含 6 个属性:
注意我并有把 open 和 close 翻译成开盘价和收盘价,因为这条数据并不是按日来收集的,而它对应的时间精确到 387 毫秒。
另外为什么在一个时点上有四种不同的价格,即市场常见的 OHLC? (每个字母代表 open, high, low, close 四个单词的首个字母)。原因是 OHLC 数据是在一段时间内 (上面 09/01/2013 19:32:23.387 是这段时间的终点) 收集很多 tick 数据的价格而决定的它们的 open, high, low, close,这段时间可以是
一天
一小时
一分钟
一秒
包含 1000 笔交易的那段时间
包含成交 100 个合约的那段时间
包含成交 10000 美元的那段时间
收集 tick 数据而生成某些统计量的操作叫抽样 (sample),这些统计量可以是这些 tick 数据的
起始值、最大值、最小值、终止值 (OHLC)
简单平均值 (下面要介绍的 TWAP)
成交量加权平均值 (下面要介绍的 VWAP)
上完本节后,你就会从大量「tick 级别」的高频数据,选出有代表性「bar 类型」的样本。你会彻底理解 tick 级别的高频数据和各种预处理技巧,以及从 tick 数据采样到 bar 数据的四种方法:等时采样、等笔采样、等量采样和等额采样。本贴即从零开始介绍如何实现上述四种采样方法,也介绍硬核量化交易工具包 mlfinlab 的实现方法。用到的数据包括:
比特币/美元永续掉期 tick 数据
标普 500 价值股 ETF tick 数据

付费用户(付 1 赠 1)可以获得:
