量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W+关注者,连续2年被腾讯云+社区评选为“年度最佳作者”。

作者:Thársis Souza, PhD

编译:1+1=6

前言

我们都听过“相关性并不意味着因果关系”这句话,但我们如何量化因果关系呢?这是一项极其困难的任务,而且常常具有误导性,特别是当我们试图从观察数据推断因果关系而我们又无法进行对照试验或A/B测试时。

如上图,乍一看,x₁和x₂这两个随机变量之间没有明确的关系或因果关系。然而,这个表面上的随机系统呈现了一个非常简单的因果关系,由以下方程定义:

402 Payment Required

在x₂和x₁之间引入一个简单的非线性就足以给系统带来复杂性,并可能误导天真的人。

幸运的是,我们可以利用统计和信息理论从观察数据中发现复杂的因果关系(记住,这仍然是一个非常具有挑战性的任务)。

本文的目的如下:

  • 引入基于预测的因果关系定义,并使用向量自回归公式实现。

  • 引入因果关系的概率定义及其使用信息理论框架的实现。

  • 量化全球股票指数之间的信息流,进一步揭示哪些指数正在推动全球金融市场。

  • 讨论进一步的应用,包括社交媒体情绪对金融的影响。

因果关系的统计定义

我们利用Granger引入的因果关系的概念来量化因果关系(Wiener 1956; Granger 1969),如果使用来自X和Y的过去信息而不是只使用Y能够更好地解释Y的未来实现,那么信号X就被认为是导致Y的。

格兰杰因果关系(G-causality, G-causality)最常见的定义通过使用X和Y本身过去的值来预测变量Y的未来值。在这种形式下,如果X的使用改善了Y的预测,那么X被称为G-cause Y:

在以上两个模型中, f1(.) f2(.) 的选择使得损失函数期望最小。一般会选择线性模型,也可能选择非线性模型,如神经网络等。损失函数 g(.)则通常使用L1或L2正则化处理。那么我们第一个关于统计因果关系的正式定义就如下:

标准格兰杰-因果关系检验假设因果关系的之间存在某种函数形式,并通过拟合自回归模型实现,如以下VAR线性向量自回归模型:

402 Payment Required

其中k为滞后的阶数。当然,你可以选择你喜欢的DL/SVM/RF/GLM模型。由定义4.1可知,当且仅当以上两等式的预测误差相同时,X才不会Granger cause Y。ANOVA分析可以用来检验上述两者的残差是否有显著差异。

转移熵

在解释转移熵之前,我们先了解熵本身的定义。

自从Schreiber 2000引入以来,转移熵已经被认为是分析非线性系统中因果关系的重要工具(Hlavackovaschindler et al. 2007)。它检测方向性和动态信息(Montalto 2014),但不采用任何特定的函数形式来描述不同变量之间的相互关系。

转移熵定义为条件熵之间的差值:

信息净流出

转移熵带有方向性,X到Y的转移熵不等于Y到X的转移熵,所以可以定义信息净流出:

402 Payment Required

我们可以将这个量解释为信息流的主要方向。换句话说,如果上述等式结果大于0,说明与另一个方向相比,从X流向Y的信息占主导地位,或者,类似地,它表明哪个系统提供了更多关于另一个系统的预测信息。

Barnett, Barrett, Seth (2009)已经证明,如果所有变量都是联合高斯分布,线性的granger-因果关系和转移熵是等价的。

国际股票指数之间的信息流

世界金融市场形成了一个复杂、动态的网络,各个市场在其中相互作用。这种大量的互动可以导致高度显著和意想不到的影响,准确地理解世界各地的各种市场如何相互影响是至关重要的。

在本节中,我们使用转移熵来识别国际股票市场指数之间的依赖关系。首先,我们选择了一些主要的全球指数进行分析,即标准普尔500指数、富时100指数、DAX指数、EURONEXT 100指数和IBOVESPA指数,它们分别跟踪以下市场:美国、英国、德国、欧洲和巴西,代码如下:^GSPC, ^FTSE, ^GDAXI, ^N100, ^BVSP 。

一个市场对另一个市场的影响是动态的。在这里,我们使用从2014年1月1日到2019年8月19日这段时间的数据。我们将计算所有考虑的指数之间的两两转移熵,并构造一个矩阵,使位置(i,j)中的值表示从指数[i]到股票[j]的转移熵。

下图显示了得到的转移熵矩阵。我们通过将转移熵值除以矩阵中的最大值使所有值从0到1进行规范化。我们观察到,所研究的国际指数是高度互联的,其中最高的是从美国市场流向英国市场的信息流。第二高的信息流是反方向的,即从英国市场到美国市场。这是我们预料到的结果,因为从历史上看,美国和英国市场密切相关。

我们还通过计算转移熵矩阵中每一行的转移熵之和来计算每个市场对系统中总转移熵的边际贡献,我们还将其归一化,使所有值都在0到1之间。我们发现,在研究期间,美国是最具影响力的市场,占总转移熵的34.6%,其次是英国和德国,分别占21.4%和18.6%。日本和巴西是影响最小的市场,其归一化转移熵分别为11.7%和13.4%。

Junior, Mullokandov和Kenett 2015利用信息理论框架开发了国际股票市场指数网络。他们使用了不同国家的83个股市指数,以及它们的滞后值,在考虑到不同操作时间的情况下,探究了一个股指与另一个股指之间的相关性和信息流。他们发现,传递熵是量化指标之间信息流动的有效方法,滞后一天的指标之间的高程度信息流与它们之间的当日相关性重合。

其他应用

量化社交媒体与股市之间的信息流

投资者的决策不仅受到公司基本面因素的影响,还受到个人信仰、同行影响以及新闻和互联网产生的信息的影响。理性和非理性投资者的行为及其与市场效率假设的关系文献中有很大的争议。然而,直到最近,来自在线系统的大量数据才为大规模调查投资者在金融市场的集体行为铺平了道路。

一篇研究论文(Souza and Aste 2016)使用了本文中研究的一些方法来揭示信息从社交媒体流向股票市场,揭示了推文通过非线性复杂的互动引起市场波动。作者提供了实证证据,表明社交媒体和股市存在非线性因果关系。他们利用了由与道琼斯指数组件相关的社交媒体信息组成的广泛数据集。通过使用信息理论来构建社交媒体和股票市场之间可能的非线性因果关系,该论文得出了两个主要结论:

第一,社交媒体对股票收益的显著因果关系在大多数情况下是纯非线性的;

其次,社交媒体主导了与股市的定向耦合(directional coupling),这种效应在线性模型中无法观察到。

下图显示了在考虑非线性(转移熵)和线性granger-因果关系(线性VAR框架)两种情况下,社交媒体和股票回报之间的显著因果关系。线性分析发现只有三支股票具有显著的因果关系:INTEL CORP.、NIKE INC.和WALT DISNEY CO。非线性分析发现其他几支股票具有显著的因果关系。除3只股票表现出显著的线性因果关系外,其余8只股票表现出纯非线性因果关系。

在线性约束下获得的低水平的因果关系与文献中类似研究的结果一致,相反,非线性分析的结果揭示了更高关联的因果关系,表明线性约束可能忽略了社交媒体和股票市场之间的关系。

结论

理清因果关系可能极其困难。然而,统计工具可以帮助我们从因果关系中判断相关性。在本文中,我们介绍了格兰杰因果关系的概念及其在线性向量自回归框架中的传统实现。然后,我们定义了信息理论措施,以量化传递熵作为一种估计非线性系统统计因果关系的方法。

我们对线性和非线性系统的模拟进一步表明,传统的线性granger-因果方法无法检测引入系统的简单非线性,而传递熵成功地检测了这种关系。最后,我们展示了如何使用转移熵来量化全球股票指数之间的关系。我们还讨论了文献中的进一步应用,其中信息理论措施被用于量化投资者情绪和股票之间的因果关系。

Python中计算Transfer Entropy的工具库:

https://github.com/ZacKeskin/PyCausality

参考文章:https://towardsdatascience.com/causality-931372313a1c

转移熵:量化非线性因果关系的有力工具相关推荐

  1. <文献阅读>用转移熵通过微阵列的时间序列推断基因调控网络(inferring gene regulatory networks from microarray time series data

    这篇文章是2007的时候发表在IEEE杂志上,并没有收录到PubMed里面.是韩国的学者开发出来的方法.具体来说,通过转移熵计算基因对的因果关系(causal relations), 也就是转移熵的值 ...

  2. 转移熵matlab,转移熵

    转移熵 Transfer entropy(也可译为传递熵)是衡量两个随机过程之间有向(时间不对称)信息传递量的非参数统计量.香农熵 Shannon entropy测量,则转移熵可以写为: [math] ...

  3. TradeGraph媲美交易软件的python量化交易K线工具

    之前用python做量化交易,需要画k线和各种曲线等,使用了mpl_finance,但体验太差,不支持拖拽而且性能很差,于是就自己写了个k线图工具TradeGraph,性能可媲美专业的股票软件,运行界 ...

  4. python股票涨停_Python与量化投资-股票复盘工具-2018-02-02

    本文教大家用python来做一个炒股盯盘(或复盘)工具. 此程序可用于盘中了解当前A股市场情况,或收盘后了解当天市场情况. 希望获得如下数据: 1.今天最赚钱的股票,最坑人的股票 2.下跌的股票与占比 ...

  5. 量化投资交易python工具干货大全

    http://www.newsmth.net/nForum/#!article/Python/128763 最近程序化交易很热,量化也是我很感兴趣的一块. 国内量化交易的平台有几家,我个人比较喜欢用的 ...

  6. 最全总结图论在识别人脑网络连通性模式中的应用——相关与相关性,主成分分析,聚类分析,互信息,格兰杰因果分析,动态因果模型,贝叶斯网络,转移熵

    图论在识别人脑网络连通性模式中的应用 具体研究问题 理论背景: 使用fMRI的连接模式 功能连接 基于模型的方法 相关和相干性 统计参数映射(SPM) 探索性的方法 成分分析(Decompositio ...

  7. Wind万得PythonAPI量化接口常用小工具——时序数据处理及工作日前推查询

    前段时间帮中信的前老板编写了一个数据整合的程序,用到了一些自己编写的组件感觉特别好用,在此进行分享. 首先是非时间序列数据的转化: def createcleandata(wind_data):cla ...

  8. python gui插件_Python进阶量化交易专栏场外篇17- GUI控件在回测工具上的添加

    欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...

  9. 量化交易领域主流的框架以及实用工具汇总

    talib talib的简称是Technical Analysis Library,主要功能是计算行情数据的技术分析指标 numpy 一个用python实现的科学计算包.包括:1.一个强大的N维数组对 ...

最新文章

  1. Python 创建类的成员并访问
  2. JVM内存管理–GC算法精解(五分钟让你彻底明白标记/清除算法)
  3. python思维导图完整版下载高清_快速学习 Python 的全套 14 张思维导图(附高清版下载)...
  4. 在notebook中如何能完整的显示长文本内容
  5. open a BP will trigger text load - COM_TEXT_MAINTAIN - READ_TEXT
  6. x-shell 通过堡垒机连接 ssh多个机器 自动化脚本
  7. 弹弹堂sf发布网_私服冒险岛,新开私服冒险岛,心动sf冒险岛发布网,最新开的私服冒险岛应该如何快速的获取魅力呢?...
  8. java上机作业要注意什么_Java第八次上机作业
  9. Web 基础架构:负载均衡和LVS
  10. WinCE Display驱动开发介绍(转载)
  11. windows7 shift+右键 “在此处打开命令窗口”
  12. [读书笔录]解析卷积神经网络(魏秀参)——第一章
  13. php个人发卡搭建教程,个人发卡平台ZFAKA程序搭建详细教程
  14. Unity Shader-热空气扭曲效果
  15. WIN10__针对SMB的那啥
  16. redis主从、哨兵、集群
  17. 无线流媒体网关改变视频会议室
  18. 《结对-爬取大麦网演唱会信息-设计文档》
  19. ytb网站报错 “您没有联网,请检查网络连接”
  20. Automatic Software Repair: A Survey 自动软件修复:综述 (2)

热门文章

  1. 前端女娲补天 前端(一) 前端性能的优化方式
  2. STM32产生38KHz红外载波代码
  3. 【IOS】让你的应用快速适配iPhone5
  4. NC-verilog仿真工具使用(一)
  5. android 实现挂断电话【四种方式】,亲测可用
  6. 三八妇女节女神节知识答题女生知识大PK活动
  7. 中国石油大学计算机图形学第一次在线作业,18春北交《计算机图形学》在线作业一.docx...
  8. Redis数据结构为字典Hash 实践 之 系统数据字典实时触发缓存存储
  9. 网络营销与策划实践考试试题(二)
  10. 【朝花夕拾C语言】:C语言,猜猜谁是凶手?