TDK量化投资平台入门
售价0
学习人数 82 课时数量 2课时 课程时长 0小时 35分钟
课程介绍

第一届凯纳杯上海高校金融建模大赛正在报名,关于本次比赛的详细情况,请看这里。为帮助大家以最简单最快的方式上手操作TDK量化投资平台,编写自己的量化交易代码,雪晴数据网为大家提供了TDK平台的入门视频课程。

TDK平台简介

TDK平台提供基于浏览器的量化投资策略开发工具,我们的平台非常提供了多样全面的金融数据和完善的后台运算,使您可以更专注于投资想法到量化策略的转化开发工作,无需为复杂的计算机技术劳心费神。

我们的平台要求使用者运用python语言完成在线策略的编写,并利用配置文件yaml的编写向系统提供全面的回测要求。

本次大赛,我们只支持日交易历史数据回测,并不考虑交易成本,即当您的策略开始回测的时候,我们会运行回测期内的每日历史数据,并以VWAP价格作为当日成交价格——这种设定可以更为有效地保证回测时的成交效果。本次大赛不支持日内交易策略回测。

数据

目前TDK平台使用的是中国A股市场从1990年12月到目前最新的每日行情数据和基本面数据。其中,我们为您直接提供的是截至2014年以前的数据作为研究源并用于样本内回测,其余的部分我们将作为样本外数据用于提交策略的进一步回测使用,以尽可能避免策略开发过程中可能出现的过度拟合显现。

所有数据以numpy格式储存。

股票日交易历史数据

我们的原始数据来源于Wind。目前我们支持多于2800支中国A股市场股票,包括已经退市的股票,可以有效避免幸存者偏差。另外,我们对股票的派股派息等也做了相应的预处理,并保留了复权因子方面您研究使用。

股票日交易数据记录了股票一天的交易信息,保存在数据库的eod模块下。

调用日交易数据需要首先在yaml文件中Data字段下给出eod模块调用路径和所需数据数据:

 Data: 
     eod: 
         ModuleId: Eod
         inpath: /mnt/ssd/eod 

在python文件Signal中,使用self.eod.XXX 来调用相关数据,具体如下:

数据代码

数据格式

数据名称

eod.OpenPrice

ndarray (天数,股数)

开盘价

eod.ClosePrice

ndarray (天数,股数)

收盘价

eod.HighestPrice

ndarray (天数,股数)

最高价

eod.LowestPrice

ndarray (天数,股数)

最低价

eod.Volume

ndarray (天数,股数)

成交量

eod.PreClosePrice

ndarray (天数,股数)

前收盘价

eod.VWAP

ndarray (天数,股数)

成交量加权平均价格

eod.AdjFactor

ndarray (天数,股数)

复权因子

eod.PRC

ndarray (天数,股数)

不复权收盘价

eod.Turnover

ndarray (天数,股数)

成交额

eod.TradeStatus

ndarray (天数,股数)

交易状态(停牌:0,交易:1)

eod.UpDownLimitStatus

ndarray (天数,股数)

涨跌停状态(涨停:1,跌停:-1,其他:0)

eod.dates

ndarray (天数,)

日期

eod.ticker_names

ndarray (股数,)

股票代码

指数日交易历史数据

除了个股的日交易数据,我们的数据库还预备了Wind认可的大量指数日交易历史数据。几乎所有市面上公开发布的A股指数,包括多级行业、规模、概念等,都可以在我们的数据库中获取每日交易历史信息。

其调用方法和个股交易数据几乎完全一致,如果已经在 yaml 文件中声明了 eod 模块,可以直接在python 文件Signal中调用指数数据,代码是 self.index.XXX,具体如下

数据代码

数据格式

数据名称

index.OpenPrice

ndarray (天数,指数个数)

开盘价

index.ClosePrice

ndarray (天数,指数个数)

收盘价

index.HighestPrice

ndarray (天数,指数个数)

最高价

index.LowestPrice

ndarray (天数,指数个数)

最低价

index.Volume

ndarray (天数,指数个数)

成交量

index.PreClosePrice

ndarray (天数,指数个数)

前收盘价

index.Turnover

ndarray (天数,指数个数)

成交额

index.dates

ndarray (天数,)

日期

index.ticker_names

ndarray (指数个数,)

指数代码

考虑到指数运用往往和股票的批量处理不同,使用中如果希望获得指定某个指数的交易数据,可以利用 ticker_name 定位;或将 ndarray 的数据格式处理成 dataframe 格式。

基本面数据

我们为您提供了丰富的上市公司财务数据,采自上市公司发布的资产负债表、利润表和现金流量表。上市公司更正非当期季报的情况已经处理,同样的,借壳上市的财务处理也已经完成,避免了研究偏差。考虑到我国上市公司会计准则于2007年有过重大变更,我们建议您使用2007年及之后的财务数据研究开发策略。

每个财务数据都包含若干个lagged versions, 代表所在时点下倒退N个季度(暂定保留四个季度)的数据数值,图表中#的取值为(0,1,2,3,4)。以息税折旧摊销前利润为例:

ISQ0_EBITDA (最近季报)
ISQ1_EBITDA(比最近往前一次季报)
ISQ2_EBITDA(比最近往前二次季报)
ISQ3_EBITDA(比最近往前三次季报)
ISQ4_EBITDA(比最近往前四次季报)

每个基本面数据都对应了一个per share的版本,文件BSQP#_TOT_ASSETS对应了文件BSQ#_TOT_ASSETS,计算如下(除EPS之外), :

ISQP#_tot_profit = ISQ#_tot_profit / Q#_tot_shr * AdjFactor[-Q#]


EPS的计算比较例外,因为他们本身就是per share的数值,ISQP#_S_FA_EPS_BASIC ISQP#_S_FA_EPS_DILUTED 代表了EPS/EPSD的per share版本

财务数据保存在fund模块下,调用首先需要在yaml文件中的Data字段下给出fund路径和需要的财务数据名称:

 Data:
    fund:
       ModuleId: Eod
       inpath: /mnt/ssd/fundmental
       names: [CAPQ0_MKTCAP, ISQP0_TOT_OPER_REV] 

查看全部文档

课时列表
课程问答
82位共同奋斗的同学
lookice
lookice
wsn
wsn
胡泽婷
胡泽婷
EdwardLv
EdwardLv
彬兮兮
彬兮兮
lvdaye
lvdaye
chiwai
chiwai
花生邦主
花生邦主
羽翼麟
羽翼麟
登录 注册