Skip to content

框架说明

Kdata

Klang 数据提供者。

Klang 数据来自2个部分

  • 外围采集,外围采集是多渠道的,有baostock,pytdx库,也有其他爬虫
  • 内部运算,例如MACD,MA120等

以上的数据都是由Kdata 负责采集并且提交到AIDatas 的(strapi)管理程序。

然后Klang在使用的时候由 data_klang.py 下载保存到本地。

Kdata common

主要提供 hostname配置

hostname = "https://data.klang.org.cn/api"
在开发阶段,本地要启动AIDatas,所以common.py里通过修改hostname来切换环境。

Kdata API

from common.framework import API
kapi = API()

framework 封装了 AIDatas的接口。用户只用通过kapi来使用即可。

获取股票列表

stocklist = kapi.get_stocklist().json()
for stock in stocklist:
    code ,name = stock['code'],stock['name']
返回一个A股 list

创建因子

创建A类因子(不定时更新因子)

#create_factor 创建A类因子,0是A类因子,1 是B类因子
kapi.create_factor('ROE',0,"季度ROE AVG,数据来自baostock")

创建B类因子(日更新因子)

# 系统会检查因子,不会重复创建
kapi.create_factor("macd",1,"标准macd指标")

提交因子

提交A类因子

result = []
for i in range(len(roelist)):
    result.append({{
        'code':code[i],
        'value':roelist[i],
    }})

kapi.post_factora('roe',result,date = date); 
提交A类因子的格式

注意:result 必须是列表

提交B类因子

result = []
for i in range(len(macdlist)):
   result.append({"code":code[i],"macd":macdlist[i],"date":date[i]})
kapi.post_factorb("macd",result)

获取因子

获取A类因子

result = kapi.get_factor('roe',date='2022-05-10')
print(result.json())

获取B类因子

result = kapi.get_factor('macd',date='2022-05-10',code="sh.601012")
print(result.json()[0])

A 类因子因为更新慢,一般一次都更新整个A股。 B 类因子每只股票每天都会更新,所以他的数据类似 open,close,high,low,vol一样。