实用案例学DolphinDB:tushare数据保存、WorldQuant因子(附完整代码)

原文是DolphinDB官方发表在知乎上的系列文章,为了学习DolphinDB,特地从新手角度实现此文章。

Dolphindb作为时序数据库,媲美kdb+,基本的安装及实用介绍见:《TSDB | KDB+ | DolphinDB

  • 前导知识

  • 因子

    本文基于World Quant发表的论文《101 Formulaic Alphas》,实现Alpha #001以及Alpha #098.

  • 截面数据1

    截面数据(Cross-section data),指不同主体在同一时间点/段同一指标的数据,又称为静态数据。

    比如:工业普查数据、人口普查数据。

  • 时序数据2

    时序数据(Timing data),同一指标按时间顺序记录的数据列。

  • 目标因子介绍

  • Alpha #001
    rank(Ts_ArgMax(SignedPower((returns<0?stddev(returns,20):close), 2), 5))-0.5
    
  • Alpha #098
    (rank(decay_linear(correlation(vwap, sum(adv5,26.4719), 4.58418), 7.18088))- rank(decay_linear(Ts_Rank(Ts_ArgMin(correlation(rank(open), rank(adv15), 20.8187), 8.62571), 6.95668) ,8.07206)))
    

选用这两个因子举例的原因:

  1. 一个简单,一个复杂
  2. 需要用到cross-section data,当天所有股票的信息
  3. 需要用到timing data,某只股票的历史信息
  • 数据准备

    字段 意义
    symbol 股票代码
    date 日期
    volume 成交量
    vwap 成交量的加权平均价格
    open 开盘价格
    close 收盘价格

    文中使用的是2007-2016年美国证券市场的11,711只股票,我们换成国内数据,好在DolphinDB给出了与Tushare耦合使用介绍3

  • 用tushare把股票数据存入Dolphindb

前导知识:《DolphinDB数据导入教程》《内存数据库、磁盘数据库、分布式数据库区别》《DolphinDB分区数据库教程(一)》《数据库分区、分表、分库、分片

  • 创建数据库

    安装DolphinDB后,通过cmd打开,在cmd界面通过database函数创建分区数据库。

    关于database函数,参见官方文档4

    database(directory, [partitionType], [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值