感谢您使用量化回测平台,目前平台仅处于内部试用状态,如果有使用问题,请您通过邮件的方式告诉我们,谢谢。
客服热线:0571-26695555-2-1
邮箱:service.PBOX@hundsun.com
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)