def get_report_data(year, quarter): """ 获取业绩报表数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 说明:由于是从网站获取的数据,需要一页页抓取,速度取决于您当前网络速度 Return -------- DataFrame code,代码 name,名称 eps,每股收益 eps_yoy,每股收益同比(%) bvps,每股净资产 roe,净资产收益率(%) epcf,每股现金流量(元) net_profits,净利润(万元) profits_yoy,净利润同比(%) distrib,分配方案 report_date,发布日期 """ if ct._check_input(year,quarter) is True: ct._write_head() df = _get_report_data(year, quarter, 1, pd.DataFrame()) if df is not None: # df = df.drop_duplicates('code') df['code'] = df['code'].map(lambda x:str(x).zfill(6)) return df
def get_debtpaying_data(year, quarter): """ 获取偿债能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 说明:由于是从网站获取的数据,需要一页页抓取,速度取决于您当前网络速度 Return -------- DataFrame code,代码 name,名称 currentratio,流动比率 quickratio,速动比率 cashratio,现金比率 icratio,利息支付倍数 sheqratio,股东权益比率 adratio,股东权益增长率 """ if ct._check_input(year, quarter) is True: ct._write_head() df = _get_debtpaying_data(year, quarter, 1, pd.DataFrame()) if df is not None: # df = df.drop_duplicates('code') df['code'] = df['code'].map(lambda x:str(x).zfill(6)) return df
def get_cashflow_data(year, quarter): """ 获取现金流量数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 说明:由于是从网站获取的数据,需要一页页抓取,速度取决于您当前网络速度 Return -------- DataFrame code,代码 name,名称 cf_sales,经营现金净流量对销售收入比率 rateofreturn,资产的经营现金流量回报率 cf_nm,经营现金净流量与净利润的比率 cf_liabilities,经营现金净流量对负债比率 cashflowratio,现金流量比率 """ if ct._check_input(year, quarter) is True: ct._write_head() df = _get_cashflow_data(year, quarter, 1, pd.DataFrame()) if df is not None: # df = df.drop_duplicates('code') df['code'] = df['code'].map(lambda x:str(x).zfill(6)) return df
def get_operation_data(year, quarter): """ 获取营运能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 说明:由于是从网站获取的数据,需要一页页抓取,速度取决于您当前网络速度 Return -------- DataFrame code,代码 name,名称 arturnover,应收账款周转率(次) arturndays,应收账款周转天数(天) inventory_turnover,存货周转率(次) inventory_days,存货周转天数(天) currentasset_turnover,流动资产周转率(次) currentasset_days,流动资产周转天数(天) """ if ct._check_input(year, quarter) is True: ct._write_head() data = _get_operation_data(year, quarter, 1, pd.DataFrame()) if data is not None: # data = data.drop_duplicates('code') data['code'] = data['code'].map(lambda x:str(x).zfill(6)) return data
def get_growth_data(year, quarter): """ 获取成长能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 说明:由于是从网站获取的数据,需要一页页抓取,速度取决于您当前网络速度 Return -------- DataFrame code,代码 name,名称 mbrg,主营业务收入增长率(%) nprg,净利润增长率(%) nav,净资产增长率 targ,总资产增长率 epsg,每股收益增长率 seg,股东权益增长率 """ if ct._check_input(year, quarter) is True: ct._write_head() data = _get_growth_data(year, quarter, 1, pd.DataFrame()) if data is not None: # data = data.drop_duplicates('code') data['code'] = data['code'].map(lambda x:str(x).zfill(6)) return data
def get_cashflow_data(year, quarter): """ 获取现金流量数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 Return -------- DataFrame FinancialRatios47,经营现金净流量对销售收入比率(%) FinancialRatios48,资产的经营现金流量回报率(%) FinancialRatios49,经营现金净流量与净利润的比率(%) FinancialRatios50,经营现金净流量对负债比率(%) FinancialRatios51,现金流量比率(%) Symbol,代码 SName,股票名称 """ if ct._check_input(year, quarter) is True: ct._write_head() data = _get_cashflow_data(year, quarter,1,pd.DataFrame()) if data is not None: data = data.drop_duplicates('Symbol') data['Symbol'] = data['Symbol'].map(lambda x:str(x).zfill(6)) return data
def get_profit_data(year, quarter): """ 获取盈利能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 说明:由于是从网站获取的数据,需要一页页抓取,速度取决于您当前网络速度 Return -------- DataFrame code,代码 name,名称 roe,净资产收益率(%) net_profit_ratio,净利率(%) gross_profit_rate,毛利率(%) net_profits,净利润(万元) eps,每股收益 business_income,营业收入(百万元) bips,每股主营业务收入(元) """ if ct._check_input(year, quarter) is True: ct._write_head() data = _get_profit_data(year, quarter, 1, pd.DataFrame()) if data is not None: # data = data.drop_duplicates('code') data['code'] = data['code'].map(lambda x:str(x).zfill(6)) return data
def get_operation_data(year, quarter): """ 获取营运能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 Return -------- DataFrame Symbol,代码 SName,股票名称 FinancialRatios3,应收账款周转率(次) inancialRatios4,应收账款周转天数(天) FinancialRatios19,存货周转率(次) FinancialRatios22,存货周转天数(天) FinancialRatios24,流动资产周转率(次) FinancialRatios25,流动资产周转天数(天) """ if ct._check_input(year, quarter) is True: ct._write_head() data = _get_operation_data(year, quarter,1,pd.DataFrame()) if data is not None: data = data.drop('FinancialRatios21',axis=1) data = data.drop('FinancialRatios23',axis=1) data = data.drop_duplicates('Symbol') data['Symbol'] = data['Symbol'].map(lambda x:str(x).zfill(6)) return data
def get_profit_data(year, quarter): """ 获取盈利能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 Return -------- DataFrame Symbol,代码 SName,股票名称 JZCSYL,净资产收益率(%) NPMargin,净利率(%) JLR,净利润(百万元) MGSY,每股收益(元) ZYYWSR,主营业务收入 myGPMargin,毛利率(%) SPS,每股主营业务收入(元) """ if ct._check_input(year, quarter) is True: ct._write_head() data = _get_profit_data(year, quarter,1,pd.DataFrame()) if data is not None: data = data.drop('PTROA',axis=1) data = data.drop_duplicates('Symbol') data['Symbol'] = data['Symbol'].map(lambda x:str(x).zfill(6)) return data
def get_growth_data(year, quarter): """ 获取成长能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 Return -------- DataFrame mbrg,主营业务收入增长率(%) nprg,净利润增长率(%) nav,净资产增长率(%) targ,总资产增长率(%) code,代码 name,股票名称 EXCHANGE,交易所 eps,每股收益 holderInterests,股东权益 epsLastYear,去年每股收益 holderInterestsLastYear,去年股东权益 epsg,每股收益增长率(%) seg,股东权益增长率(%) """ if ct._check_input(year, quarter) is True: filename = "growth_data_%d_%d.csv"%(year, quarter) data = cache.read_cache(filename) if data is not None: data = data.drop_duplicates('code') data['code'] = data['code'].map(lambda x:str(x).zfill(6)) return data #nocache ct._write_head() data = _get_growth_data(year, quarter,1,pd.DataFrame()) cache.write_cache(data,filename) if data is not None: data = data.drop_duplicates('code') data['code'] = data['code'].map(lambda x:str(x).zfill(6)) return data
def get_report_data(year, quarter): """ 获取业绩报表数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 Return -------- DataFrame CompanyCode,公司代码 ReportDate,报告时间 PUBLISHDATE,报告实际发布时间 eps,每股收益(元) MFRatio18,每股净资产(元) MFRatio22,净资产收益率(%) MFRatio20,每股现金流量(元) MFRatio2,净利润(万元) Symbol,代码 SName,股票名称 EXCHANGE,交易所 epsLastYear,去年同期每股收益 netprofitLastYear,去年同期净利润 eps_ratio,每股收益同比(%) MFRatio2Ratio,净利润同比(%) DisHty,利润分配方案 detail,详情 """ if ct._check_input(year, quarter) is True: ct._write_head() data = _get_report_data(year, quarter,1,pd.DataFrame()) if data is not None: data = data.drop_duplicates('Symbol') data['Symbol'] = data['Symbol'].map(lambda x:str(x).zfill(6)) return data
def get_debtpaying_data(year, quarter): """ 获取偿债能力数据 Parameters -------- year:int 年度 e.g:2014 quarter:int 季度 :1、2、3、4,只能输入这4个季度 Return -------- DataFrame FinancialRatios1,流动比率(%) FinancialRatios2,速动比率(%) FinancialRatios5,现金比率(%) FinancialRatios6,利息支付倍数 FinancialRatios8,股东权益比率(%) FinancialRatios56,资产负债率(%) Symbol,代码 SName,股票名称 """ #nocache if ct._check_input(year, quarter) is True: filename = "debtpaying_data_%d_%d.csv"%(year, quarter) data = cache.read_cache(filename) if data is not None: return data ct._write_head() data = _get_debtpaying_data(year, quarter,1,pd.DataFrame()) if data is not None: data = data.drop('FinancialRatios9',axis=1) data = data.drop('FinancialRatios18',axis=1) data = data.drop_duplicates('Symbol') data['Symbol'] = data['Symbol'].map(lambda x:str(x).zfill(6)) cache.write_cache(data,filename) return data