作为基本面投资者,企业的估值指标(pe、pb、ps)及财务数据非常重要,而如何快速导出特定时间段的这些数据?
下面的代码不仅可以快速导出JQ所有的估值指标及最新财务数据(需要哪些指标可以直接在代码中添加),而且还有股票筛选功能,代码简单,功能灵活。
from jqdatasdk import *
import sqlalchemy
import pandas as pd
from datetime import datetime, timedelta
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(
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),
).order_by(
valuation.market_cap.desc()
).limit(
10000
), date=calDayFormat)
df["date"]=calDayFormat
calDay=calDay timedelta(days=1)
dataList.append(df)
finalDf=pd.concat(dataList)
finalDf.to_csv(savePath)