请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3365811 新帖:18

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

外汇老老法师发表于:5 月 10 日 00:56回复(1)

作为基本面投资者,企业的估值指标(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)

全部回复

0/140

量化课程

    移动端课程