历史文档

【历史文档】数据-更新和管理自定义数据表的方法

由hxgre创建,最终由small_q 被浏览 297 用户

更新

本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明

新版量化开发IDE(AIStudio):

https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW

新版模版策略:

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

新版数据平台数据字典查询:

https://bigquant.com/data/home

新版数据平台使用说明:

https://bigquant.com/wiki/doc/dai-PLSbc1SbZX

新版表达式算子:

https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS

新版因子平台:

https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5

导语

在策略编写过程中,难免会希望接入外部数据,方便更好地研发策略。那么,如何在BigQuant平台上上传和更新自定义数据表呢?本篇文章将会系统性地介绍相关的方法和案例。

文章主要针对以下三种情形,介绍数据上传、管理和增量更新的方法:

  1. 一次性上传CSV文件;
  2. 在开发环境中加工数据或因子后实现每日增量更新;
  3. 通过外部API如tushare,或利用爬虫等方法获取数据并增量更新到平台上。

一、手动上传 CSV 文件

使用场景:策略编写者本地有一个 csv 文件,比如ROIC财务指标数据,需要上传到平台,以供后续策略研究时通过DataSource()接口调用,而不用读取csv文件

步骤一:定位“数据平台-->我的→我的数据”页面,点击“上传数据”

{w:100}{w:100}{w:100}{w:100}

步骤二:选择需要上传的csv文件,支持多个csv文件上传

{w:100}{w:100}{w:100}{w:100}

步骤三:设定参数,数据集字段功能可以把目标字段的类型进行强制转换

{w:100}{w:100}{w:100}{w:100}

步骤四:点击“上传数据”后,生成相应的数据表,系统会自动生成一个相关的任务

{w:100}{w:100}{w:100}{w:100}

步骤五:稍等片刻,任务完成后便可在“我的数据”中查看

{w:100}{w:100}{w:100}{w:100}

点击详情页面,查看表结构、样例数据、使用代码等详细信息

{w:100}{w:100}{w:100}{w:100}

同样可以通过 DataSource().read() 查看相关数据内容:

{w:100}{w:100}{w:100}{w:100}

二、加工数据并实现增量更新

使用场景:用户在平台获取涨跌停数据,计算每日大盘的涨跌停数量和涨跌停占比,并增量更新到相关的表中

步骤一:获取涨跌停数据

{w:100}{w:100}{w:100}{w:100}

步骤二:计算自定义数据,比如:这里计算了每日涨跌停家数和占比

{w:100}{w:100}{w:100}{w:100}

步骤三:调用“更新入库”模块,将计算好的数据存入表中

{w:100}{w:100}{w:100}{w:100}

步骤四:调用“数据平台任务(创建/更新)”模块,对该数据入库的策略生成定时任务,定时更新数据

{w:100}{w:100}{w:100}{w:100}

参数说明:

参数 说明 补充说明
任务名称 任务名称
任务描述 任务描述
每日运行时间 任务运行时间
每月某天运行 月频上的更新 注:若选择31号,但某些月份没有31号,是否能运行成功还未调试
周末是否运行 是否在周末运行
更新已有任务 1.若没有任务,勾选此项后无法创建任务;2.若已存在任务,可以修改代码后更新已存在的任务
即时执行

步骤五:点击“运行”,则会在“数据平台-->我的-->我的任务”中生成相应的数据更新任务。首次生成不会运行,可以手动点击“运行”按钮。

{w:100}{w:100}{w:100}{w:100}

可以点该任务,进入详细页面,查看任务的日志、代码等信息,同时也可以设置一些简单的参数。

{w:100}{w:100}{w:100}{w:100}

任务运行成功后,用户也可以在“数据平台-->我的→我的数据”中查看到生成的数据表已经生成。

{w:100}{w:100}{w:100}{w:100}

用户也可以点进相关的数据表,并查看表结构、样例数据、使用代码等详细信息。

{w:100}{w:100}{w:100}{w:100}

同样可以通过 DataSource().read() 查看相关数据内容:

{w:100}{w:100}{w:100}{w:100}

步骤六:若目标是获取每日最新的数据并计算和入库,则需要保证“代码列表”模块的相关参数绑定实盘参数

{w:100}{w:100}{w:100}{w:100}

如此设置,只要运行该任务,数据便会增量更新,比如这里的涨跌停统计数据更新到了最新的11月09日

{w:100}{w:100}{w:100}{w:100}

代码链接

https://bigquant.com/experimentshare/54421edec16f4889964efdefd3cf9e47

三、外部数据源导入(如爬虫)

使用场景:用户可以通过外部API接口,或编写爬虫脚本,每日获取数据并增量更新,比如:投资者自行爬取东方财富网“行情数据”页面的内容,用于数据处理和加工。

{w:100}{w:100}{w:100}{w:100}{w:100}

步骤一:在开发环境用“自定义运行”模块编写爬虫代码,生成 DataFrame 数据。用户需要自行维护爬虫脚本,最终将一个数据矩阵传给“更新入库”模块。

{w:100}{w:100}{w:100}{w:100}

步骤二:连接“更新入库”模块,使用“数据平台任务(创建/更新)”模块生成任务。

{w:100}{w:100}{w:100}{w:100}

步骤三:任务运行成功后,并可查看相关数据内容。

{w:100}{w:100}{w:100}{w:100}

同样可以通过 DataSource().read() 查看相关数据内容:

{w:100}{w:100}{w:100}{w:100}

代码链接

https://bigquant.com/experimentshare/3e9edb173cc04a34b961525a2119f4d9

视频演示

https://www.bilibili.com/video/BV1i14y1H7RT/?spm%5Fid%5Ffrom=333.999.0.0&vd%5Fsource=ecd29bbd04cbefdfa426167c55241973

\

评论
  • 找不到你说的数据平台
  • ![{w:100}](/wiki/api/attachments.redirect?id=c4ef0246-3658-4e9b-ad9d-92980bb06c8c)
  • 回到首页就可以看到了
  • 也是找不到你说的数据平台
{link}