quantopian系列—Research API

Research API提供了结构化的方法 , 您可以通过这些方法访问Quantopian Research中的数据 。 Research API只在research中可用 , 而不是在IDE中 。在Research中 , 您可以通过以下几种方式访问数据:

  1. Pipeline
  2. 特殊函数(如 prices()、log_returns()等) 。
在下面的章节中 , 我们将探讨您可以在Research中访问数据的不同方式 , 以及您何时需要使用每种方式 。
资产您可以在Research中使用symbols()方法进行最简单的数据查询 。 symbols()方法允许您通过提供一个股票代码或SID来查询一个特定的资产 。 symbols()返回一个Equity , 它包含了有关该资产的各种属性 , 如它的开始日期、交易所等 。 Quantopian API中的某些 函数需要一个Equity作为输入 , 而symbols()是在Research中创建一个特定Equity实例的方法 。
Pipeline在Research中访问数据的最佳方式是通过Pipeline 。 通过Pipeline , 您可以访问Quantopian上支持的所有数据集 。要在Research中运行一个Pipeline , 请使用run_pipeline()函数 。 例如 , 下面的代码将从2017年1月1日到2017年5月1日运行一个空的Pipeline:
quantopian系列—Research API文章插图
这将返回一个带有MultiIndex的空DataFrame(其中0级是日期 , 1级是资产) 。 例如 , 下面是这个空Pipeline的前几行:
quantopian系列—Research API文章插图
在Research中运行Pipeline可能会花费一些时间 , 特别是对于计算量非常大的计算 。 正因为如此 , 每当您运行Pipeline时 , 单元格下方都会显示一个进度条 , 让您了解所需时间 。
价格数据除了Pipeline , 在Research中还有其他方法可以检索价格相关数据 。 以下所有的便利方法都能检索日期范围内的资产数据 , 具体数据因方法而异 。
  1. prices(): 检索收盘价 。
  2. returns(): 检索收益 。
  3. volumes(): 读取交易量 。
  4. log_prices(): 读取对数价格 。
  5. log_returns(): 读取对数回报率 。
  6. get_pricing(): 检索开盘/最高/最低/收盘价和成交量数据 。
完整的文档请参见研究API参考 。
您可以通过EquityPricing数据集获得Pipeline中的开盘/最高/最低/收盘价格和成交量数据 。 如果您只想查询单个资产或一小部分资产的价格序列 , 这里提到的方法有时会更容易使用 。 您也可以使用这些方便的函数来获取分钟频率的定价和交易量数据 , 目前Pipeline中还不支持这种方法 。
  • 调整
Research API方法中价格检索的一个重要特点是 , 所有返回的价格都在提供给该方法的end_date时进行调整 。 这与Pipeline和回溯器所用的调整方式不同 , 在回溯器中 , 所有的价格都是在模拟日期时调整的 。另一种思考Research API方法中调整的方式是 , end_date参数也代表了一个 "透视日期" 。 任何发生在end_date之前的公司行动都将被应用到Research API方法检索的定价和数量数据中 。
风险加载在许多情况下 , 在Research中探索风险载荷和风险因子收益数据可能是有用的 。 导入风险数据的函数可以在quantopian.research.experimental命名空间中找到;关于函数的完整列表和文档 , 请参见API参考 。
监控自定义数据集加载通过Self Serve上传自定义数据集后 , 您可以在Research中使用Load Metrics监控数据集的历史负载和实时更新状态 。负载指标可以通过quantopian.interactive.data访问 。 例如 , 要监控一个名为my_dataset的数据集:
quantopian系列—Research API文章插图
【quantopian系列—Research API】要了解更多有关信息您可以从负载指标中获得 , 请参阅自助数据文档 。