公式的内容是:分别对PE、ROE进行排序,PE越低排名越高、ROE越高排名越高,最后把PE、ROE的排名加起来,挑出排名前30位的股票进行投资,当然还有一些细节的操作,大家感兴趣的话可以看看这本书。
这次我们需要获取的数据就是个股PE、ROE。
aHR0cDovL3F1b3RlLmVhc3Rtb25leS5jb20vY2VudGVyL2dyaWRsaXN0Lmh0bWwjaHNfYV9ib2FyZA==
环境
分析网站
实现爬取
环境
分析网站
2-1
随便输入一个股票代码如:00000选取第一个结果,
2-2
我们就是要这两个数据,打开开发者工具Ctrl+F直接查找,我是根据公司市值进行查询的如2-3
2-3
找到数据接口就简单了,请求拿数据就好了,我们只要f1f1f2f37
代码实现
注意了这里返回的不符合json格式,因此需要自己转换,可以用正则直接提取数据,这是我之前一直用的方法,但是最近我发现了一个好方法可以轻松解决
a="[1,2,3]"print)print))运行结果:
eval可以将符合列表、字典等格式的字符串直接转为对应的类型
将返回的字符数据切片出目标的字符串再进行转换就好了
defjquery_list->dict:reverse_mode={"[":"]","{":"}",""}tail_str=jquery[-5:][::-1]returneval:-tail_str.index])
请求得到数据
defget_page:"""获取源码"""ifjson:returnrequests.get.jsonreturnrequests.get.textdefjquery_list->dict:reverse_mode={"[":"]","{":"}",""}tail_str=jquery[-5:][::-1]returneval:-tail_str.index])defmain:date=time.strftime)forpageinrange:url="http://6pusheastmoney.com/api/qt/clist/get?cb=jQuery1124020466762984478337"f"_1609556336027&pn={page}&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&""fs=m:0+t:6,m:0+t:13,m:0+t:80,m:1+t:2,m:1+t:23&""fields=f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,"f"f24,f25,f22,f11,f62,f128,f136,f115,f152,f37,f100,f102&_={int*1000)}"content=get_pageresult=jquery_listforiinresult["data"]["diff"]:f12,f14,f9,f37=i["f12"],i["f14"],i["f9"],i["f37"]data={"date":date,"stock_code":f12,"name":f14,"PE":f9,"ROE":f37}print
运行结果:
main函数的参数end是首页的最大页数
这个基本面公式不是一直有效的,每几年就可能会失效一次,如果你想使用这个公式的话建议先把原著看一遍。
投资有风险,入市需谨慎
文章为作者独立观点,不代表股票量化交易软件接口观点
不知不觉2023-10-28
你想表达的是,分红在股票非常非常重要。。。我想表达的是,成长在股票也非常重要。。。量化活动策略2022-11-09
近日,意思是之前几天公司就接到通知了,没有及时公告,等机构跑完了股票把筹码接完了才发公告,今天买的可以起诉公司不?