事件驱动的选股小工具(JQData)

昨天发改委下发了《关于积极推进风电、光伏发电无补贴平价上网有关工作的通知》,也不知道对股市是利空还是利多。连夜做了一个搜索公司经营范围的小工具,看看那些股票受到影响。
以后还可以增加筛选条件,比如财务指标,剔除ST股票,技术指标…以后再遇到这种类似的事件,就可以很快查找股票了。

数据来源
聚宽JQData (https://www.joinquant.com/)
数据接口
聚宽JQData (https://www.joinquant.com/)
源码如下:

from jqdatasdk import *
import pandas as pd
import datetime
import numpy as np
import time as time
from datetime import datetime

#认证,如果没有帐号请到聚宽JQData去注册!!!
auth('帐号','密码')
#获取股票列表
st_basics = get_all_securities(types=['stock'], date='2019-01-09')
codes = list(st_basics.index)
st_list = []

#按每只股票代码进行查询
for code in codes:
    q = query(finance.STK_COMPANY_INFO).filter(finance.STK_COMPANY_INFO.code == code).limit(100)
    df = finance.run_query(q)
    if(len(df.index) == 0):
        continue
    if ( (df['business_scope'].loc[0].find('风能') < 0) & 
        (df['business_scope'].loc[0].find('光伏') < 0) & 
        (df['business_scope'].loc[0].find('太阳能') < 0) & 
        (df['business_scope'].loc[0].find('风力发电') < 0) & 
        (df['business_scope'].loc[0].find('光伏发电') < 0) ):
        continue
    else:
        print((df['code'].loc[0],df['short_name'].loc[0]))
        st_list.append(df['code'].loc[0])

print(st_list)
#选择市值大于50亿小于100亿,PE大于0小于50的股票,按市值降序排列
# 当然你也可以根据其他条件排序        
df = get_fundamentals(query(
        valuation.code, valuation.market_cap, valuation.pe_ratio, income.total_operating_revenue
    ).filter(
        valuation.code.in_(st_list),
        valuation.market_cap > 50,
        valuation.market_cap < 100,
        valuation.pe_ratio < 50,
        valuation.pe_ratio >  0,
        #income.total_operating_revenue > 2e10
    ).order_by(
        # 按市值降序排列
        valuation.market_cap.desc()
    ).limit(
        # 最多返回100个
        100
    ), date='2019-01-09')
print(df)

强调:不是推荐股票,仅仅是为了学习研究
在这里插入图片描述

感谢聚宽小编 JQData01 给我开放了更多的数据访问资源
易蠡贡 2019/01/10

猜你喜欢

转载自blog.csdn.net/kingking2888/article/details/86226208