googlesheet抓取数据
前一篇简单写了抓取pe ttm数据的步骤,主要是介绍方法。
这篇整理代码,把不同数据源的抓取公式罗列一下,包括价格、股息、除息日、报表日、每股收益等。
- EPS TTM(bloomberg数据,过去12月,基本每股收益,股本调整,报表币种)
=mid(IMPORTXML("https://www.bloomberg.com/quote/"&B2,"//div[@class='rowList__9489bc6c right__913e6006']//div[3]"),4,10)
- 最近分红(bloomberg数据,报表币种,但不一定和每股收益的币种相同,比如有些港股,每股收益数据是rmb,分红还是hkd)
=mid(IMPORTXML("https://www.bloomberg.com/quote/" &B2,"//div[@class='rowList__9489bc6c right__913e6006']//div[6]"),23,10)
- 最近除息的日期(yahoo数据)
=index(IMPORTHTML("https://finance.yahoo.com/quote/" & B2,"table",2),7,2)
- 下个财报日(bloomberg数据,整理成Y-M-D格式)
=index(split(IMPORTXML("https://www.bloomberg.com/quote/"&B2,"//span[@class='nextAnnouncementDate__0dd98bb1']"),"/"),1,3) & "-" & index(split(IMPORTXML("https://www.bloomberg.com/quote/"&B2,"//span[@class='nextAnnouncementDate__0dd98bb1']"),"/"),1,1) & "-" & index(split(IMPORTXML("https://www.bloomberg.com/quote/"&B2,"//span[@class='nextAnnouncementDate__0dd98bb1']"),"/"),1,2)
- 过去12个月内合计分红(yahoo数据,可以用来计算股息率)
=if(isnumber(index(split(index(IMPORTHTML("https://finance.yahoo.com/quote/" & B2,"table",2),6,2),"("),1,1)),index(split(index(IMPORTHTML("https://finance.yahoo.com/quote/" & B2,"table",2),6,2),"("),1,1),0)
- 股息率(bloomberg数据,过去12个月内合计分红/股价,可以配合上一条的yahoo数据校验一下,如果差别较大,说明数据有问题,可能需要人工校对一下,B2是代码,C2是股价)
=if(isnumber(mid(IMPORTXML("https://www.bloomberg.com/quote/"&B2,"//div[@class='rowList__9489bc6c right__913e6006']//div[5]"),9,8)*C2),mid(IMPORTXML("https://www.bloomberg.com/quote/"&B2,"//div[@class='rowList__9489bc6c right__913e6006']//div[5]"),9,8)*C2,0)
- 股价数据(sina数据,请百度sina stock api,很多人写过。我提供一些别人可能没提到的代码,商品期货Y1905,股指期货CFF_IF1807,外汇fx_susdcnh,恒指int_hangseng。)
=importdata("https://hq.sinajs.cn/list="hk00700")
- 美股股票行情(wsj.com数据,包括盘前盘后和盘中)
=iferror(IMPORTXML("https://quotes.wsj.com/FB","//span[@id='ms_quote_val']"),index(IMPORTXML("https://quotes.wsj.com/FB","//span[@class='cr_num cr_curr_price']"),1,2))
- 美股期货行情(wsj.com数据)
=IMPORTXML("https://quotes.wsj.com/futures/ESM9","//span[@class='cr_num cr_curr_price']")
- 恒指全收益指数(ft.com数据)
=index(importxml("https://markets.ft.com/data/indices/tearsheet/charts?s=HSIDV:HKG","//ul[@class='mod-tearsheet-overview__quote__bar']//li[1]"),1,2)
- 标普全收益指数(
investing.com
数据)
=importxml("https://www.investing.com/indices/s-p-500-tr","//span[@id='last_last']")
最后推荐一下bloomberg的手机app,ios的美国区能下载。可以建立包括a股美股港股的投资组合,设定基础币种,跟踪组合的总盈亏和单日盈亏。pe ttm,财报日期,分红金额分红日期这些信息很准确。