quantopian系列—Self-Serve Data( 二 )

  • Bool:True或False值 。 布尔格式示例 。 0、f、F、false、False、FALSE和1、t、T、true、True、TRUE 。
  • 当您将历史数据上传到Quantopian时 , 您需要将每一列声明为上述类型之一 。 我们将验证所有的历史数据是否可以被处理 。
    默认情况下 , #N/A、#NA、N/A、-NaN、NULL、NaN、null等值将被解释为NaN 。 值inf、-inf将被解释为无限值 。
    • 示例
    下面是一个非常简单的例子 , 可以将一个.csv文件上传到Quantopian 。 文件的第一行必须是首栏 , 各列用逗号字符(,)隔开 。
    quantopian系列—Self-Serve Data文章插图
    上传数据一旦您的数据集被正确格式化 , 您可以通过一两个步骤将其上传到Quantopian 。 第一步是上传历史数据 , 第二步(可选)是设置连续上传实时数据 。
    历史数据上传上传一个数据集到Quanotpian , 首先要上传历史数据 。 以下是通过自助服务上传历史数据所需的步骤 。
    1. 导航到您的自定义数据集页面 , 点击右上角的 "添加数据集" 。 这时会弹出一个模块 , 提示你为数据集命名 。
    2. 命名你的数据集 。 请注意 , 这个名称将作为导入数据集的命名空间 。 这个名称必须以字母开头 , 并且必须只包含小写字母-数字和下划线字符 。 名称最多可以有63个字符长 。
    3. 选择或拖动一个文件来上传包含历史数据的.csv文件 。
    4. 在预览窗格中成功加载文件后 , 选择您的主要日期列和主要资产列 , 然后将所有值列映射到特定类型 。
    5. 配置历史延迟 。 历史时间戳是通过向主要日期添加历史延迟来生成的 。 默认的历史延迟是一天 , 这将防止日终日期类型的值提前一天出现在Pipeline中 。 例如 , 2018-03-02有一个小时的延迟将创建一个历史时间戳2018-03-02 01:00:00 , 那么它将在2018-03-02错误地出现在Pipeline中 。 默认的一天历史延迟会将它们调整为在2018-03-03 , 这样将正确出现在Pipeline中 。 如果您需要提醒您关于主要日期和历史延迟的工作方式 , 请参阅本页前面的主要日期部分 。
    6. 配置时区 。 默认情况下 , 日期时间值预计为UTC , 或应包括一个时区代号 。 如果选择了其他时区(例如:美国/东部) , 当没有提供时区代号时 , 传入的日期时间类型列将转换为UTC 。

    quantopian系列—Self-Serve Data文章插图
    日期类型的值列将不会进行时区调整 。
    选择 "下一步 "将完成上传并开始数据验证过程 。
    • 重要的日期思考
    在通过自助服务上传历史数据之前 , 在格式化和填充您的.csv文件时 , 必须考虑几件事 。
    1. 避免使用前瞻数据 。 主要日期一栏不应包括未来的日期 , 我们将忽略它们 。 对于实时数据也有类似的要求 , 主要日期不能大于当前日期 。 未来的主要日期会导致Pipeline中后期的问题 。 如果你需要在自定义数据集中包含未来的日期 , 你应该将这些日期标注为值列 , 而不是主要日期 。
    2. 交易日期信号 。 如果你的日期字段代表了你期望算法作用于信号的日子 , 你应该创建一个trade_date_minus_one列 , 可以作为主要日期列 , 因为最小的历史延迟选项是1天 。
    3. 在确定新数据源的时区时 , 要小心使用没有时区代号的数据时间值 。 例如 , Google Sheets 中的 GOOGLEFINANCE 会返回 YYYY-MM-DD 16:00:00 这样的日期 , 这是东海岸时间市场的日终值 。 在夏令时 , 选择US/Eastern将正确地将日期时间转换为YYYY-MM-DD 20:00:00 , 否则为YYYY-MM-DD 21:00:00 。
    上传数据后 , 您可以在Research中通过加载数据集的指标来检查上传的进度 。
    实时数据上传一旦您的历史数据被成功验证 , 将出现 "设置实时数据 "选项卡 。 这一步是可选的;如果您不需要配置实时数据加载 , 您可以选择 "无实时数据" , 然后单击提交 。
    如果您想配置实时数据加载 , 可以将连接类型设置配置为每天下载一个新文件 。 除了标准的FTP选项外 , 还可以从Google Sheets、Dropbox或任何支持基于令牌的URL(与认证)的API服务上托管的CSV文件下载实时数据 。
    每个交易日的早上7:00至上午10:00(UTC)之间 , 这个实时文件将被下载 , 所有新记录(或旧记录的更新)将被保存 , 并带有反映Quantopian下载数据的时间戳 。 时间戳将被Pipeline使用 , 这样在模拟过程中 , 所有的实时数据都会以时间点的方式出现 。
    历史文件和实时文件之间的列名必须是相同的 。 实时数据下载将使用与历史上传时配置的相同的列类型 。