聚源数据接口使用说明

感谢您使用量化回测平台,目前平台仅处于内部试用状态,如果有使用问题,请您通过邮件的方式告诉我们,谢谢。

客服热线:0571-26695555-2-1

邮箱:service.PBOX@hundsun.com

get_jydata-获取聚源数据

get_jydata(query_object)

查询聚源数据,详细的数据字段描述请见本栏其他页的具体介绍

注意:

1、该模块只适用于开通聚源数据接口的用户才能正常使用

2、注意未来函数,建议使用filter进行过滤

3、出于对服务端压力的考虑,每次查询只能查询单张表

参数

query_object: 一个sqlalchemy.orm.query.Query对象,Query对象详细介绍, 可以通过全局的query函数获取Query对象

返回

返回pandas.DataFrame对象,行对应数据库中的每一行,列对应查询字段

注意:

1、为了防止返回数据量过大, 我们每次最多返回10000行

2、不能进行连表查询,即同时查询多张表内数据

示例

def initialize(context):
    g.security = ['600570.SS', '600571.SS']
    g.flag = True 
    set_universe(g.security)

def handle_data(context, data):
    if g.flag:
        # 查询'公司概况 - LC_StockArchives'的数据, 并返回前10条数据
        df = get_jydata(query(LC_StockArchives).limit(10))
        # 打印出公司名称
        log.info(df['ChiName'])
    
        # 选出公司估值分析日指标--LC_DIndicesForValuation中滚动市盈率-PE小于20的股票,并返回前20条记录
        df = get_jydata(query(
               LC_DIndicesForValuation
            ).filter(
                LC_DIndicesForValuation.PE < 20
            ).limit(20))
        # 获取满足条件的证券内部编码,先取第一支证券的内部编码
        InnerCode = df["InnerCode"][0]
        log.info(InnerCode)
        # 此InnerCode为聚源内部代码,输出为'1053',在SecuMain表中查询该InnerCode对应交易所的证券代码SecuCode
        df2 = get_jydata(query(SecuMain).filter(SecuMain.InnerCode==InnerCode))
        symbol = df2.SecuCode[0]
        # symbol是交易所证券代码,输出为'200986'
        log.info(symbol)
        g.flag = False
    #order('600570.SS',100)