微信公众号:yhjbox(永恒君的百宝箱),获取最新文章、资源。

这样获取可转债行情信息,直观又方便

Python实例 永恒君 2254℃ 0评论

前阵子有个金融行业的朋友和我交流,讲了这样的一个问题,如下图:

这是一个可转债行情的界面,网址是:https://www.jisilu.cn/data/cbnew/#cb

因为是实时行情,每隔大概几秒会自动刷新行情信息。

这位朋友的问题是:这些信息只需要其中的一部分,还有一部分很重要的信息,如转股日期转股价格也希望可以显示在一起。

具体来说,他的需求就是:
1、按自己的要求筛选出可转债,如溢价率<-5
2、把该可转债的重要信息从该页面提取并显示出来,如可转债名称价格涨幅溢价率回售日期正股名称价格涨幅
3、把不在该页面的转股日期转股价格的信息也提取显示出来。
4、以上数据要可以及时刷新。

今天这个实例因为涉及到一些金融问题,比较复杂,就不多解释为什么要这些数据,只是简单记录和分享一下实现这个数据抓取和显示的过程

先看效果

这是永恒君帮他写的一个简易的程序,基本可以满足他的需求:

程序运行后,筛选出溢价率<-5的可转债,然后显示需要的信息。
按回车会刷新后,重新获取。

简单记录一下过程

获取可转债信息如下,可自行定义显示的内容:

url = 'https://www.jisilu.cn/data/cbnew/cb_list/?___jsl=LST___t=1556153776641'    
    d = {'listed': 'Y', 'rp': '50','page':'1'}
    r = requests.post(url, data=d) #获取可转债即时的数据,传给变量r
    all_data = r.json()#r为json格式数据,转换为可读的列表形式
    contents = all_data['rows']
    for i in range(len(all_data['rows'])):
        kzz =[] #存储可转债信息的列表
        data_kzz = {
            "可转债名称":contents[i]['cell']['bond_nm'],
            "价格":contents[i]['cell']['price'],
            "涨幅":contents[i]['cell']['increase_rt'],
            "溢价率":contents[i]['cell']['premium_rt'],
            "转股日期":contents[i]['cell']['convert_dt'],
            "转股价格":contents[i]['cell']['convert_price'],
            "回售日期":contents[i]['cell']['next_put_dt']
        }
        #每一条可转债信息
        kzz.append(data_kzz)#添加至可转债信息列表

        zg = []#正股信息列表
        data_zg = {
            "正股名称":contents[i]['cell']['stock_nm'],
            "价格":contents[i]['cell']['sprice'],
            "涨幅":contents[i]['cell']['sincrease_rt']

        }
        #每一条正股信息
        zg.append(data_zg)

筛选可转债如下,可自行定义筛选的条件:

if float(data_kzz['溢价率'][:-1])<-5:#筛选可转债溢价率为负数
print(data_kzz,'\n',data_zg)        

及时刷新如下:

while True:
if key =="q":
        break

完工。

代码有点简陋,能满足要求即可。

因为可能不具有普遍性的需求,就打包exe文件了,就直接放上源代码好了。后台回复可转债即可。

 

欢迎大咖们指点!

 

微信公众号:永恒君的百宝箱

个人博客:www.yhjbox.com

 

 

转载请注明:永恒君的百宝箱 » 这样获取可转债行情信息,直观又方便

喜欢 (4)
发表我的评论
取消评论
表情