框架说明
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"
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类因子(不定时更新因子)
#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);
注意: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一样。