quantopian系列-入门简介

YOLO道
2020-09-21

更多quantopian学习内容和讨论,可以加入空间站咨询。

  • 欢迎词

在本教程中,我们将介绍Quantopian,它所要解决的问题,以及它所提供的工具来帮助你解决这些问题。在本教程结束时,您应该对Quantopian有一个深入的理解。

  • 什么是quantopian

Quantopian是一个基于云端的软件平台,你可以使用Python研究全球发达和新兴股票市场的量化金融因子。Quantopian通过在各类金融数据之上提供快速、统一的API,让你轻松迭代想法。此外,Quantopian还提供了一些工具,帮助你上传自己的金融数据集,分析你的因子的功效,并与全球的量化社区分享你的发现。

通常情况下,研究股票因子包括以下步骤:

  1. 定义一个全局资产
  2. 在这个全局资产上定义一个金融因子
  3. 测试该因子
  4. 与其他量化师分享和讨论结果,以改进你的方法

在Quantopian上,第1和第2步是使用Pipeline API实现的,第3步是使用一个叫Alphalens的工具完成的,第4步是在Quantopian社区论坛上完成的。本教程的其余部分将对Quantopian上的端到端因子研究工作流程进行简单的演练。

  • 研究环境

本教程中的代码可以在Quantopian的Research环境中运行。Research是一个托管的Jupyter notebook环境,允许你交互式运行Python代码。Research预装了一系列专有和开源的Python库。要了解更多关于Research的信息,请看quantopian文档。

您可以在菜单栏上的Research中,选择Notebooks。一旦你在Research中写好了代码,按Shift+Enter键运行每个单元格的代码 (灰色框)。

  • 第一步,定义一个全局资产

研究股票因子的第一步是选择一个全局股票资产,我们的因子将在这个资产中被定义。在这种情况下,资产代表了我们在以后进行计算时要考虑的一系列股票。在Quantopian上,定义一个全局资产是通过Pipeline API来完成的。稍后,我们将使用同样的API来计算这个资产中的股票的因子。

Pipeline API提供了一个统一的接口,可以连接到几个内置的数据集,以及我们上传到我们账户的任何自定义数据集。Pipeline使得使用内置和自定义数据来计算变得很容易。例如,下面的代码片段导入了两个内置数据集,FactSet Fundamentals和FactSet Equity Metadata,并使用它们来定义一个股权资产。

  • 第二步,定义一个因子

在定义了一个全局资产之后,下一步就是定义一个因子进行测试。在Quantopian上,因子是一种计算方法,它可以为一个资产以固定的频率产生数值。与第一步类似,我们将使用Pipeline API来定义因子。除了在预集成和自定义数据集的基础上提供快速、统一的API之外,Pipeline还提供了一组内置的类和方法,可以用来快速定义因子。例如,下面的代码片段使用快速和慢速移动平均计算来定义动量因子。

现在我们已经定义了一个全局资产和一个因子,我们可以选择一个市场和时间段,并模拟因子。Pipeline API的一个鲜明特点是,它允许我们使用高级术语定义全局资产和因子,而不必担心常见的数据工程问题,如调整、时间点数据、股票代码映射、股票摘牌和数据对齐。Pipeline在幕后完成了所有这些工作,让我们可以把时间集中在构建和测试因子上。

  • 第三步,测试这个因子

下一步是检验我们在步骤2中定义的因子的预测性。为了确定我们的因子是否具有预测性,我们计算资产在使用该因子情况下,在指定日期内的远期回报率。然后,我们将因子和远期收益数据传入Alphalens。下面的代码单元显示了如何获取该远期回报数据并将其发送到 Alphalens。

然后,我们可以创建一个因子拆分表来分析我们的动量因子。

  • 第四步,在quantopian社区讨论

当我们有了自己喜欢的因子时,可以在Quantopian社区论坛上分享结果,征求社区成员的反馈。你在Quantopian上想出的点子是属于你的,但有时分享一个结果可以引发讨论,创造一个向他人学习的机会。

在社区论坛中,Research Notebook可以附在帖子中。如果您想分享您的工作成果和代码,您可以原封不动地分享您的Notebook。如果您想对代码保密,您可以创建一个Notebook的副本,通过Alphalens运行您的因子,删除有您的Pipeline代码的代码单元,然后在社区帖子中分享Alphalens的结果。

如果你想在社区中分享你的作品或你的结果,添加解释或提问会更容易与其他用户进行富有成效的对话。

新手小课堂
美港股新手知识科普课堂,不认真学会被老师挠哦!
免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。

精彩评论

我们需要你的真知灼见来填补这片空白
发表看法