quantopian系列—Self-Serve Data

除了Quantopian上提供的数据集 , 您还可以通过Self-Serve Data上传自己的自定义数据 。
Self-Serve Data允许您上传自定义的时间序列数据 , 并通过Pipeline API在research和IDE中访问它 。 请注意 , 自定义数据的处理方式与其他数据集类似 , 这意味着它是以时间点的方式捕获的 , 并将资产映射到SID 。
一旦进入平台 , 您的数据集只能由您访问 。 其他社区成员将无法导入你的数据集 , 即使你共享一个导入该数据集的笔记本或算法 。
您的数据集将被下载并存储在Quantopian维护的服务器上 , 在那里 , 它在休息时是加密的 。 您可以在这里了解更多关于我们的安全程序 。
自助数据目前只支持上传映射到美国股票的自定义数据集 。 目前不支持其他市场的数据 。
格式化数据为了通过自助服务上传数据集 , 数据集必须满足某些要求 。
您的数据集应该是每项资产每天只有一行数据 , 而且必须是一个逗号分隔的值(.csv)文件 。
数据应采用 csv 格式(逗号分隔值) , 至少有三列:一个主要日期、一个主要资产和一个或多个值列 。 这三列类型在下面有更详细的描述 。
列名必须是唯一的 , 只包含字母数字字符和下划线 。

  • 主要日期
主要日期一栏存储了每条记录的值所适用的日期 , 这通常是您得知该记录后的最后一个完整交易日 。 例如 , 如果您在美国东部时间2019年7月25日上午8点了解到一条记录 , 那么asof_date应该是2019年7月24日 , 因为那是最近一个完整的交易日 。 主要日期用于填充管道中的asof_date , 您可能会从Quantopian上的其他预集成数据集中认识到这一点 。
当您第一次上传自定义数据集的历史数据时 , Quantopian也会通过在主要日期上添加一个固定的延迟来为每条记录生成一个时间戳值(默认:延迟一天) 。 这样做是为了模拟数据上传到Quantopian时的延迟 。
要了解更多关于asof_date和时间戳之间的区别 , 请参考数据参考中的这一部分 。
注释/限制:
  1. 日期可以像以下任何一个例子一样的形式 。 2018-01-01, 20180101, 01/01/2018, 1/1/2018.
  2. 主要日期值必须是日期值 。 目前不支持日期时间值 。
  3. 2002年之前的数据将被忽略 , 因为其他Quantopian数据集不会早于2002年 。
  4. 主要日期值不支持空白或NaN/NaT 。 在主要日期列中上传空白或NaN/NaT值将导致错误 。
  • 主要资产
主要资产列用于将您自定义数据集中的记录映射到Quantopian数据库中的资产 。 目前 , 在Quantopian数据库中 , 资产必须用股票代码来识别 , 才能将记录映射到美股上 。 更具体地说 , Quantopian将使用主要资产列中提供的股票代码来识别在主要日期拥有该股票代码的公司 。
注意事项/限制:
  1. 如果您的资产有多个份额类别 , 则应在符号上用分隔符(-, /, ., _)标识 。 例如资产格式 。 "BRK_A "或 "BRK/A" 。
  2. 在主要资产标识符中提供的股票代码应该是准确的 。 Quantopian将尝试将每条记录映射到数据库中的资产 , 通过寻找在给定的主要日期以给定的股票代码进行交易的资产 。 例如:如果A公司在2017年之前的交易代码为 "AA" , 然后将股票代码改为 "AAA" , 您需要在主要资产字段中为2017年之前的记录提供 "AA" , 为2017年之后的记录提供 "AAA" , 以便所有记录都能正确映射到A公司 。
自定义数据集中的剩余列应该包含你想在Pipeline中访问的值 。 一个自定义数据集可以有一列或多列值 , 不算主要资产和主要日期列 。 每个列必须包含相同类型的数据 , 但不同的列可以有不同的类型 。 自助服务支持以下列类型 。
  1. Numeric: 这些数据将被转换为浮点数 , 以便在未来的计算中最大限度地提高精度 。
  2. 字符串:文本值 。 这些值将不会被进一步转换 。 通常是标题或类别 。 任何分类值或标签 , 如部门代码 , 通常可能用整数表示 , 在使用自助服务时 , 应添加为String列 。 这样可以使Pipeline在以后适当地将该列作为分类器加载 。
  3. 日期:你可以传递除主要日期以外的日期值列 。 在时区调整过程中 , 日期类型列不会被调整 。 日期值可以以主要日期列接受的任何支持格式提供 。
  4. Datetime: 带有时间戳的日期(UTC) 。 当输入的时区被配置为UTC以外的值时 , 这些值将被调整 。 与日期一样 , 这些值不会作为主日期列使用 , 但仍可作为数据值进行检查 。 示例的日期时间格式 。 07/25/2019 1:23或2019-01-01 20:23-05:00(带时区代号) 。