您的位置:首页 > 其它

通过JQData批量导出指定时间段的估值及财务数据,并保存为csv文件

2019-03-06 15:54 369 查看

作为基本面投资者,企业的估值指标(pe、pb、ps)及财务数据非常重要,而如何快速导出特定时间段的这些数据?

下面的代码不仅可以快速导出JQ所有的估值指标及最新财务数据(需要哪些指标可以直接在代码中添加),而且还有股票筛选功能,代码简单,功能灵活。

微信图片_20181115010740.png

from jqdatasdk import *
import sqlalchemy
import pandas as pd
from datetime import datetime, timedelta # 导入datetime模块

auth(‘name’,‘password’) #输入用户名密码

“”"
该代码可以设定指定区间、指定股票(可以筛选或者列出具体代码)、指定估值指标及财务数据,将所有数据生成一个csv文件。
财务数据为该日期时公布最新财报数据

“”"

#############
#用户输入
startDate=datetime.strptime(“2018-01-01”, “%Y-%m-%d”) #输入初始日
endDate=datetime.strptime(“2018-02-01”, “%Y-%m-%d”) #输入到期日
stockList=[‘000001.XSHE’,‘000002.XSHE’,‘000006.XSHE’] #输入股票代码
savePath=“C:/JQresult.csv” #输入结果保存路径
##############

calDay=startDate
dataList=[]

while(calDay<=endDate):
calDayFormat=calDay.strftime(’%Y-%m-%d’) #将日期转成字符串

df = get_fundamentals(query(
#下一行为估值指标,包括代码、市值、pe、pb、ps、pcf,可自由添加其它指标
valuation.code, valuation.market_cap, valuation.pe_ratio, valuation.pb_ratio,valuation.ps_ratio,valuation.pcf_ratio,\
#下一行为资产负债表,包括报表发布日期、报表期最后一天、总资产、可自由添加其它指标
balance.pubDate,balance.statDate,balance.total_assets,\
#下一行为利润表,包括报营业总收入、净利润、可自由添加其它指标
income.total_operating_revenue,income.net_profit
#可自由添加其它表和指标……

).filter(

valuation.code.in_(stockList), #指定股票为stockList的股票,如果这个代码删掉,则为全部股票
#可在下面加入各种筛选标准,如筛选出pe<10、Pb<3的股票
# valuation.pe_ratio < 10,
# valuation.pb_ratio<3

).order_by(
# 按市值降序排列
valuation.market_cap.desc()
).limit(

# 最多返回个数,最大不超过10000行
10000
), date=calDayFormat)
df["date"]=calDayFormat
calDay=calDay+timedelta(days=1)
dataList.append(df)

finalDf=pd.concat(dataList)

finalDf.to_csv(savePath)

转载自:https://www.joinquant.com/community/post/detailMobile?postId=15276&page=&limit=20&replyId=&tag=

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: