Professional Documents
Culture Documents
人工构造高频量价因子的过程存在缺陷。在上一篇报告中,我们介 Holt
绍了基于 binance 高频聚合成交数据的一系列量价因子,并取得了 holt.tang@ctc-institute.com
一定的效果。人工构造因子符合逻辑,样本外存活时间较长,但缺
点是数量少,生产速度慢。本篇报告提出了一个因子批量生成的框 Thomas
架,用于大量生产量价特征。 thomas.chen@ctc-institute.com
神经网络模型在量价数据上能够取得较好效果。在后续的研究中,
我们将继续改善网络结构设计,增加多币种的数据量,以获得更好
的样本外预测效果。
请仔细阅读文末的声明
1
目录
目录 ......................................................................................... 2
前言 ......................................................................................... 3
1 高频量价特征生成 ......................................................................... 4
1.1 人工构造 ............................................................................... 4
1.2 批量构造 ............................................................................... 4
2 神经网络模型 ............................................................................. 8
2.1 模型介绍 ............................................................................... 8
2.2 循环神经网络(RNN) ................................................................... 10
3 实证结果 ................................................................................ 12
4 总结 .................................................................................... 14
请仔细阅读文末的声明
2
前言
如前篇报告所言,高频量价数据富含丰富的信息。人工构造因子虽然质量高,但数量少,
速度慢,往往难以满足工业化的因子生产流程。我们需要一种批量生产因子的框架,持续
从高频量价数据中挖掘有预测能力的因子。
神经网络模型是近几年在金融数据预测中大放异彩的新技术,在各个市场上都取得了较好
的效果。对时间序列数据,循环神经网络(RNN)类的模型由于能够捕捉到数据在时间序
列上先后关系中的特征,因此常常能取得较好的效果。
本篇报告就基于一个简单的 mask×高频特征×聚合函数的因子生产框架,以及一个简单
的 GRU 模型,初步尝试使用神经网络模型对 BTC 进行时间序列预测。报告分为四个部分,
第一节介绍因子批量生产的框架,第二节介绍神经网络模型,以及本篇报告设计使用的网
络模型,第三部分进行实证检验,最后总结。
请仔细阅读文末的声明
3
1 高频量价特征生成
1.1 人工构造
人工构造是比较符合逻辑的特征生产方式。在上一篇报告中,我们正是通过人工构造的方
式生成了一批因子,并形成交易信号。
表 1. 人工合成因子
因子名称 含义
CAG 连续大单主动买卖次数差
CAS 连续大单主动卖出
CAB 连续大单主动买入
ABR 主动买入大单收益率
ASR 主动卖出大单收益率
ARG 主动买卖大单收益差
ANA 大单主动净买入额
ANV 大单主动净买入量
AIR 大单冲击反转
数据来源:CTC Institute
人工合成因子之优劣显而易见,其优势在于符合逻辑,易于理解,一旦失效能够比较容易
的找到原因;劣势在于数量太少,产出成本太高,一旦大规模失效,则容易导致整个系统
的崩溃,且人的思维逻辑偏线性,在需要捕捉非线性的市场特性时就捉襟见肘。
1.2 批量构造
为方便大量的产出特征,我们给出一个“mask×高频特征×聚合函数=低频特征”的框架,
用于批量的构造低频特征,以一个案例进行说明。我们知道,股市开盘后半个小时内的成
交是非常有信息量的,因此,许多人会使用开盘内半个小时的主动净买入作为当日行情的
一个预测指标。
将开盘半个小时内的主动净买入这一指标按照我们的框架进行拆解,不难发现它其实由以
下三个部分组成:
mask:09:30~10:00
高频特征:主动买入成交额-主动卖出成交额
聚合函数:求和
也即如下示意图中的过程:
请仔细阅读文末的声明
4
资料来源:CTC Institute
因此,如需批量生产特征,我们只需要人为的构造一定数量的 mask、高频特征、聚合函数,
使用这三者进行交叉,即可得到低频化的结果。当然,使用这一方式构造得到的特征并不
一定都有非常好的预测性,甚至很多时候得到的也是垃圾数据,但其胜在量大,且构造特
征的边际增长都是指数型增长:每增加一个 mask,都会增加高频特征数量乘以聚合函数数
量个新的特征。
上面的例子中,主动买入成交额-主动卖出成交额本身已经是一个在分钟维度聚合之后的
结果,本篇报告使用最原始的高频数据,因此高频特征主要为成交价格、成交笔数、成交
量三个。
本篇报告最终希望在小时级别得到交易信号,
因此, 我们构造了如下的高频 mask:
根据经验,
表 2. Mask 列表
名称 含义
naive_all 全部数据
high_25 最高价附近 25 笔交易
high_50 最高价附近 50 笔交易
low_25 最低价附近 25 笔交易
low_50 最低价附近 50 笔交易
higher_than_mean 成交价比当日均价高
lower_than_mean 成交价比当日均价低
cont_raise_5 连续上涨 5 笔
cont_raise_10 连续上涨 10 笔
cont_drop_5 连续下跌 5 笔
cont_drop_10 连续下跌 10 笔
max_raise_30 上涨最快的 30 笔交易
max_raise_60 上涨最快的 60 笔交易
max_drop_30 下跌最快的 30 笔交易
max_drop_60 下跌最快的 60 笔交易
max_dd 发生最大回撤的区间
top_volume_25 成交量最大的 25 笔交易
请仔细阅读文末的声明
5
可以看出,mask 不仅可以跟时间相关,还可以与成交价变化、甚至连续成交行为相关,其
构造方式千变万化。同样的,聚合函数也存在无限的可能,但简单起见,本报告只使用了
以下几种简单的聚合函数:
表 3. 聚合函数列表
名称 含义
Sum 求和
Mean 均值
Std 标准差
Skew 偏度
cv 变异系数
资料来源:CTC Institute
在进行聚合函数运算时,我们不希望在数据较少的情况下产生极端值,影响特征的分布。
因此,对某一天的低频化过程中,如果 mask×高频特征后剩余数据量小于 50,则直接将当
日置为空值。最终对单个币种,我们便可得到 3×32×5,总计 480 个特征。由于数据量过
大,我们不在此展示数据的一些统计性质,仅观察特征之间的相关性和其时变性质。
请仔细阅读文末的声明
6
资料来源:CTC Institute,binance
由于特征数量过多,我们无法展示所有的特征名称。但从上图中可以发现,变量与变量之
间还是存在较多的红色区域(高正相关区域)和深蓝色区域(高负相关区域)
,即特征之间
存在较强的相关性。
另外,我们从使用月度均值的变异系数来观察数据的时变性。即我们先计算了每一个特征
的月度均值,然后计算月度之间的变异系数(标准差/均值),当这个数据越大,说明特征
在不同时间之间的分布差异越大。
图3. 时序变异系数
资料来源:CTC Institute,binance
请仔细阅读文末的声明
7
从后续模型应用的角度,如上的数据特征有两点需要改善。一是分布,我们希望数据在不
同的时间区间上分布保持一致,这样后续进行神经网络模型训练时,样本内得到的参数才
能在样本外取得好的效果,最好能使数据分布接近正态分布,欲达到这样的效果,我们当
然不能简单的给全部时间的数据直接取 z-score 来优化,因为这样会引入非常严重的未来
数据问题,因此,我们在后续进行测试的时候再专门优化。
二是相关性,我们不希望将相关性过高的数据送入模型,因为这会增加模型的随机性。例
如两个样本内高度相关的变量 A 和 B,网络在训练时,给任何一个变量更高的权重都可
以,因此会导致多次训练时,权重在两个变量间分布非常随机,既可以认为 A 重要,也可
以认为 B 重要。而样本外一旦出现不同,就会导致预测结果在两次训练间非常不同。
2 神经网络模型
2.1 模型介绍
神经网络模型是近年来在金融数据处理领域大放异彩的模型。我们并不主张初学者从头到
尾理解神经网络的原理,乃至数学推导之后再上手模型。因此,在本文中我们力图用最简
单的方式解释它到底如何对未来的数据进行预测。
通常人们用如下的方式介绍神经网络:数据经过一层又一层的神经网络向前传播,到终端
后与预测目标计算差值,再一层一层反向传播,更新参数。或者,用更通俗的语言介绍,
神经网络模型是模拟人的神经元,接受刺激,给出反应,传递到下一个神经元,通过大量
神经元的连接,最后生成预测值。
请仔细阅读文末的声明
8
资料来源:CTC Institute,IBM
这样的介绍方式当然符合直觉,但并不能真正的让人理解神经网络模型究竟在做什么。我
们认为,一个更简单的理解方式是:神经网络其实只是一系列矩阵运算。一个最基础的多
层感知机(MLP),其实做的事情就是进行了几次矩阵运算:
图5. 单层神经网络模型矩阵运算示意
资料来源:CTC Institute
其中,矩阵 W 中全都是需要估计的参数,在模型训练的初始,我们可以将它设置为随机
数。activate 就是所谓的激活函数,relu 或 tanh 都是常见的激活函数。由矩阵运算最基础的
请仔细阅读文末的声明
9
对 W 进行调整的过程,就是所谓的“反向传播调整参数”。为什么要叫反向传播,是因为调
整 W 时使用的方法为梯度下降,而根据矩阵求导的链式法则,得到损失之后,基于损失从
后往前计算,并根据矩阵的梯度调整参数矩阵。
这只是一层的感知机,我们可以将上述的操作连续多次,就得到了一个简单的多层感知机。
图6. 多层神经网络模型矩阵运算示意
资料来源:CTC Institute
2.2 循环神经网络(RNN)
请仔细阅读文末的声明
10
资料来源:CTC Institute
𝑖 = 𝜎(𝑊 𝑥 + 𝑏 + 𝑊 ℎ + 𝑏 ) 输入门
𝑓 =𝜎 𝑊 𝑥 +𝑏 +𝑊 ℎ +𝑏 遗忘门
𝑔 = 𝑡𝑎𝑛ℎ 𝑊 𝑥 + 𝑏 + 𝑊 ℎ +𝑏
𝑜 = 𝜎(𝑊 𝑥 + 𝑏 + 𝑊 ℎ + 𝑏 ) 输出门
𝑐 = 𝑓 ⊙ 𝑐 + 𝑖 ⊙ 𝑔 内部状态
ℎ = 𝑜 ⊙ tanh(𝑐_𝑡)
请仔细阅读文末的声明
11
𝑟 = 𝜎(𝑊 𝑥 + 𝑏 + 𝑊 ℎ + 𝑏 ) 复位门
𝑧 = 𝜎(𝑊 𝑥 + 𝑏 + 𝑊 ℎ + 𝑏 ) 更新门
𝑛 = 𝑡𝑎𝑛ℎ 𝑊 𝑥 + 𝑏 + 𝑟 (𝑊 ℎ +𝑏 )
ℎ = (1 − 𝑧 )𝑛 + 𝑧 × ℎ
如前文所述,在这一步我们希望的是因子能够在样本内外分布尽可能均匀,增强模型泛化
能力。在使用 RNN 模型时,每次训练本来就需要使用到多日的信息,因此,我们在将数
据送入模型前,先进行一次时间序列上的标准化操作。这样的操作实际上含义就是:我们
使用了最近一段时间因子的相对水平作为特征。
3 实证结果
由于币圈本身积累的高频交易数据时长有限,再则本篇报告仅仅使用 BTC 的数据进行择
时训练,因此,我们不进行滚动训练,仅仅将 2020 年 1 月 1 日至 2022 年 11 月 9 日,总
计 25000 行数据进行作为样本内数据,2022 年 11 月 9 日之后数据作为样本外测试集。
神经网络训练使用梯度下降算法,因此涉及一个多次训练,逐步收敛的过程。我们使用样
本内数据截至 2022 年 4 月 14 日,总计 20000 条的数据作为测试集,将 2022 年 4 月 14 日
至 11 月 9 日总计 5000 条作为测试集。进行多轮训练直到模型在测试集上的损失不再下
降,则认为模型已经收敛。
另外,RNN 训练存在随机性,因此多次训练会产生不同的结果。为保证结果的稳健性,我
们重复训练 5 个 GRU 模型,并取其均值。我们使用 GRU 模型最后一个 cell 输出的结果作
为模型的预测,与真实值进行比较。
我们的模型示意图如下:
请仔细阅读文末的声明
12
图12. 多层神经网络模型矩阵运算示意
资料来源:CTC Institute
表 4. 模型参数列表
参数 数值
训练集长度 20000
验证集长度 5000
测试集长度 4837
重采样步长 2
RNN 期数 5
隐藏层数量 2
隐藏层大小 第一层(187,256)
;第二层(256,64)
Dropout rate 0.1
输出大小 1
学习率 0.0001
激活函数 Leaky relu
优化器 Adam
Epoch 30
早停轮数 10
优化目标 MSE
资料来源:CTC Institute
请仔细阅读文末的声明
13
模型的最终产出是对未来收益的预测。我们使用相关系数看模型对未来预测的准确程度。
我们使用预测结果进行最简单的策略构造。当预测值大于 0 时,将信号设置为 1,持仓未
来 1 个小时,当预测值小于 0 时,将信号设置为-1。
我们发现,策略由于换手率较高,受到手续费比较严重的影响,在 0 手续费的假设下,策
略获得样本外夏普比率 3.17 的效果。但随着手续费的上升,策略整体表现下降比较严重。
另外,由于数据量的限制,重复多次训练时,模型结果差距比较明显,随机性较强,降低
了数据本身在样本外运行的稳健性。这也是我们后续需要解决的问题。
4 总结
本文基于币安的高频交易数据,对基于神经网络的模型进行了初步研究。报告首先提出一
个批量构造低频特征的 mask×高频特征×聚合函数的框架,基于这个框架和 BTC 的高频
聚合成交数据,我们构造了众多小时级的特征。基于这些小时级特征,我们设计了一个简
单的基于 GRU 的模型,对未来的 BTC 小时级收益率进行预测,预测结果在样本外取得了
夏普比率约为 3.17,年化收益 161.2%。但模型整体换手率较高,且受限于数据量,模型在
样本外表现相对不稳定,仍有进一步改进的空间。
请仔细阅读文末的声明
14
重要聲明
本材料並未考慮客戶的特定投資標的、財務狀況及需求,並不意在構成投資推薦、報價、誘導購買或銷售任何投資標的及投資策略。
投資有風險,包括本金損失的風險。過往表現並不保證未來收益。所有投資建議均需與投資者的投資目標、投資期限、及風險承受能力結合考慮。並
非所有投資建議都適合所有投資者的最佳利益。資產的配置、分散化及再平衡並不能保證獲利或降低下行風險。投資具有不同程度的風險,包括資產
價值可能因公司或市場特定事件以及經濟、政治或社會事件、監管變化、利率變化、信用風險、經濟變化而波動以及不利的政治或金融因素的影響。
另類投資存在投機性,且涉及高風險。 另類投資僅適用於合格投資者。 衍生品、對沖基金、私募股權基金等另類投資可能帶來更高的回報潛力,但
也存在更大的損失潛力。經濟狀況或其他情況的變化可能會對投資產生不利影響。在參與另類投資之前,應考慮投資者整體財務狀況、投資規模、流
動性需求以及風險承受能力。
CTC Institute 不保證本材料的可靠性、及時性、準確性及完整性。任何投資決策均需基於審慎論證,CTC Institute不對基於本材料做出的投資決策承
擔任何責任。CTC Institute及附屬機構及顧問不提供任何法律、稅務、會計建議。如有需求請咨詢專業機構。
Important Disclosures
This material does not take into account a client’s particular investment objectives, financial situations, or needs and is not intended as a recommendation, offer, or
solicitation for the purchase or sale of any security or investment strategy.
Investing involves risk, including the possible loss of principal. Past performance is no guarantee of future results. All recommendations must be considered in the
context of an individual investor’s goals, time horizon, liquidity needs and risk tolerance. Not all recommendations will be in the best interest of all investors.
Asset allocation, diversification and rebalancing do not ensure a profit or protect against loss in declining markets. Investments have varying degrees of risk
include the possibility that the value of the assets may fluctuate in response to events specific to the companies or markets, as well as economic, political or social
events, regulatory changes, interest rate changes, credit risk, economic changes and the impact of adverse political or financial factors.
Alternative Investments are speculative and involve a high degree of risk. Alternative investments are intended for qualified investors only. Alternative
Investments such as derivatives, hedge funds, private equity funds, can result in higher return potential but also higher loss potential. Changes in economic
conditions or other circumstances may adversely affect your investments. Before you invest in alternative investments, you should consider your overall financial
situation, how much money you have to invest, your need for liquidity and your tolerance for risk.
CTC Institute do NOT promise any reliability, promptness, accuracy and integrity of this material. Any investment decision should be made on the basis of
prudential argument and CTC Institute take NO responsibility of any sort for decisions made based on this material.
CTC Institute and affiliates and advisors do not provide legal, tax or accounting advice. Clients should consult their legal and/or tax advisors before making any
financial decisions.
请仔细阅读文末的声明
15