quantopian系列—Research API

发布于: 雪球转发:0回复:0喜欢:0

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

Pipeline

特殊函数(如 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:

这将返回一个带有MultiIndex的空DataFrame(其中0级是日期,1级是资产)。例如,下面是这个空Pipeline的前几行:

在Research中运行Pipeline可能会花费一些时间,特别是对于计算量非常大的计算。正因为如此,每当您运行Pipeline时,单元格下方都会显示一个进度条,让您了解所需时间。

价格数据

除了Pipeline,在Research中还有其他方法可以检索价格相关数据。以下所有的便利方法都能检索日期范围内的资产数据,具体数据因方法而异。

prices(): 检索收盘价。

returns(): 检索收益。

volumes(): 读取交易量。

log_prices(): 读取对数价格。

log_returns(): 读取对数回报率。

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的数据集:

要了解更多有关信息您可以从负载指标中获得,请参阅自助数据文档。