原文是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)))
选用这两个因子举例的原因:
- 一个简单,一个复杂
- 需要用到cross-section data,当天所有股票的信息
- 需要用到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], [

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



