事件驅動的選股小工具(JQData)
阿新 • • 發佈:2019-01-10
昨天發改委下發了《關於積極推進風電、光伏發電無補貼平價上網有關工作的通知》,也不知道對股市是利空還是利多。連夜做了一個搜尋公司經營範圍的小工具,看看那些股票受到影響。
以後還可以增加篩選條件,比如財務指標,剔除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