尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

派现与募资对比数据分析:用Python评估上市公司股东回报能力 IG50免费开源股票数据API接口

派现与募资对比数据分析:用Python评估上市公司股东回报能力 IG50免费开源股票数据API接口 派现与募资对比数据分析用Python评估上市公司股东回报能力一只股票到底是回报型还是圈钱型不能只看分红金额还要看融资额。派现与募资的对比能直接反映公司对股东的态度。我之前写了一套派现募资对比分析工具把全市场上市公司的分红融资数据系统地分析了一遍。数据用的是派现与募资对比接口time/pxymz/{股票代码}返回的是一个字典对象包含派现次数、派现总额、融资次数、融资总额、分红率、股息支付率、派现融资比、首发融资额、首发融资次数、增发融资次数、债券融资次数。importjsonimportosimportpandasaspdimportnumpyasnp data_dirD:/stock_datadefread_pxymz(dm):file_pathos.path.join(data_dir,time,pxymz,dm)ifnotos.path.exists(file_path):returnNonewithopen(file_path,r,encodingutf-8)asf:datajson.load(f)returndatadefread_gplist():file_pathos.path.join(data_dir,base,gplist)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)returndata跟其他接口不同这个接口返回的是单个字典对象而不是列表因为派现募资数据是公司上市以来的累计值。第一个分析全市场派现融资比分布。派现融资比等于派现总额除以融资总额是最核心的指标。defanalyze_market_distribution():gp_listread_gplist()all_data[]forgpingp_list:dmgp[股票代码]mcgp[股票名称]dataread_pxymz(dm)ifnotdata:continuepxzedata.get(派现总额元,0)rzzedata.get(融资总额元,0)ifrzze0:continuepxrz_ratiopxze/rzze all_data.append({dm:dm,mc:mc,pxcs:data.get(派现次数,0),pxze:pxze,rzcs:data.get(融资次数,0),rzze:rzze,fhl:data.get(分红率%,0),gzzfl:data.get(股息支付率%,0),pxrz_ratio:pxrz_ratio})dfpd.DataFrame(all_data)bins[0,0.2,0.5,1.0,2.0,float(inf)]labels[20%,20-50%,50-100%,100-200%,200%]df[pxrz_group]pd.cut(df[pxrz_ratio],binsbins,labelslabels)distdf[pxrz_group].value_counts().sort_index()print(全市场派现融资比分布)print(dist)print(\n派现融资比中位数{:.2f}%.format(df[pxrz_ratio].median()*100))print(股息支付率中位数{:.2f}%.format(df[gzzfl].median()))returndf通过全市场分布统计可以清楚看到A股整体的股东回报情况。派现融资比超过100%的公司才是真正在回报股东。第二个分析筛选高回报公司。派现融资比高股息支付率高分红次数多的公司是优质回报型公司。defselect_high_return_stocks(top_n30):gp_listread_gplist()candidates[]forgpingp_list:dmgp[股票代码]mcgp[股票名称]dataread_pxymz(dm)ifnotdata:continuepxzedata.get(派现总额元,0)rzzedata.get(融资总额元,0)ifrzze0:continuepxrz_ratiopxze/rzze gzzfldata.get(股息支付率%,0)pxcsdata.get(派现次数,0)ifpxrz_ratio1.0orgzzfl30orpxcs5:continuescorepxrz_ratio*0.4gzzfl/100*0.4min(pxcs/20,1)*0.2candidates.append({dm:dm,mc:mc,pxrz_ratio:pxrz_ratio,gzzfl:gzzfl,pxcs:pxcs,score:score})dfpd.DataFrame(candidates).sort_values(score,ascendingFalse).head(top_n)print(高回报公司TOP{}.format(top_n))print(df.to_string(indexFalse))returndf筛选条件是派现融资比大于100% 股息支付率大于30% 派现次数大于5次。这三个条件叠加选出来的才是长期稳定回报股东的公司。第三个分析识别频繁圈钱公司。融资次数多派现少的公司要警惕。defscan_frequent_financing():gp_listread_gplist()results[]forgpingp_list:dmgp[股票代码]mcgp[股票名称]dataread_pxymz(dm)ifnotdata:continuezfrzcsdata.get(增发融资次数,0)zqrzcsdata.get(债券融资次数,0)pxzedata.get(派现总额元,0)rzzedata.get(融资总额元,0)ifzfrzcszqrzcs5:continuepxrz_ratiopxze/rzzeifrzze0else0ifpxrz_ratio0.5:continueresults.append({dm:dm,mc:mc,zfrzcs:zfrzcs,zqrzcs:zqrzcs,pxrz_ratio:pxrz_ratio})dfpd.DataFrame(results).sort_values([zfrzcs,zqrzcs],ascendingFalse)print(频繁融资但派现少的公司)print(df.head(30).to_string(indexFalse))returndf这类频繁融资但派现少的公司要么是扩张太快资金链紧张要么是主业不赚钱靠融资续命投资风险较高。第四个分析派现融资比跃升检测。有些公司之前派现少但最近大幅提高分红。defdetect_dividend_jump():gp_listread_gplist()results[]forgpingp_list:dmgp[股票代码]mcgp[股票名称]dataread_pxymz(dm)ifnotdata:continuepxcsdata.get(派现次数,0)pxzedata.get(派现总额元,0)gzzfldata.get(股息支付率%,0)ifpxcs3:continueavg_pxpxze/pxcs firead_fi(dm)iffiisNoneorlen(fi)0:continuelatest_profitfi.iloc[0].get(净利润,0)iflatest_profit0:continueimplied_recent_dividendlatest_profit*gzzfl/100ifimplied_recent_dividendavg_px*3andgzzfl40:results.append({dm:dm,mc:mc,gzzfl:gzzfl,avg_px:avg_px,implied_recent:implied_recent_dividend})returnpd.DataFrame(results).sort_values(gzzfl,ascendingFalse)几个使用经验。第一派现融资比要结合公司所处生命周期看。成长期公司融资多派现少是正常的成熟期公司应该多派现。第二股息支付率超过50%的公司才算舍得分红。第三要区分现金分红和送转股送转股不是真金白银的回报。第四频繁增发融资的公司要重点警惕可能是圈钱型公司。我用的数据来源是ig50的本地数据接口派现与募资对比接口一个接口就能看到公司上市以来的分红融资全貌配合财务指标接口可以做更深入的分析。接口说明time/pxymz/{股票代码} - 派现与募资对比本地路径数据存放目录/time/pxymz/{股票代码}更新频率每天20:30完成更新耗时约30分钟数据格式{}单个字典对象主要字段派现次数、派现总额元、融资次数、融资总额元、分红率%、股息支付率%、派现融资比%、首发融资额元、首发融资次数、增发融资次数、债券融资次数gitee开源地址github开源地址
返回列表