概要:
本文从可转债解释开始,对可转债的特点,不亏钱的特点,如何python编程获取,分析可转债,然后从实际例子出发给大家对目前市面上的可转债进行实战分析,让大家实现财富的小目标。
可转债是什么?
“可转换债券是债券持有人可按照发行时约定的价格将债券转换成公司的普通股票的债券。如果债券持有人不想转换,则可以继续持有债券,直到偿还期满时收取本金和利息,或者在流通市场出售变现。如果持有人看好发债公司股票增值潜力,在宽限期之后可以行使转换权,按照预定转换价格将债券转换成为股票,发债公司不得拒绝。该债券利率一般低于普通公司的债券利率,企业发行可转换债券可以降低筹资成本。可转换债券持有人还享有在一定条件下将债券回售给发行人的权利,发行人在一定条件下拥有强制赎回债券的权利。”
只赚不亏,教你用Python实现财富小目标
可能大家也像我刚看到这些描述一样,一脸懵逼。好吧,让我们用大白话来说下。
可转债就是上市公司为筹措资金,发行的借条。借条到期要不转成公司股票,要不需要上市公司连本带利进行偿还。
当然,聪明的读者肯定想到了,哪个公司拿了钱还想把钱还回去啊?对的,一针见血,接下来就是下面的关键知识点了,为什么只要买了可转债,只要别上当错误操作,就不会亏钱,而且铁定能赚钱,就是赚钱多少的问题。
不会亏钱关键点:
首先证监会为了保障上市公司能按规矩行事,规定了只要公司不倒,到期后,可转债必须连本带利回购可转债。所以,从这点上来说,只要是在100元成本价以下买的,基本上就是获利多少的问题,肯定不会亏。当然,如果公司倒闭这等黑天鹅事件发生,那只能说被天上流星打中了,只求多福吧!说完了不会亏钱的底线,现在来说可转债如何赚钱吧。
如何赚钱:
首先,可转债本身和股票一样,本身是有价格的,倒买倒卖就是能赚差价。其中最有利的是,在可转债刚开始的时候,能通过打新来获取一手价格的可转债无疑是不错的。
其次,可转债有转股价格,能转股的时候,股票当时的价格和转股价格之差就是能盈利的保证。试想下,如果你能用比较低的价格来买入当时市面上比较高的股票,然后一卖,哇,瞬间走入人生巅峰。
当然,股票市场不止你一个聪明人。所以,这种博弈,需要有心人通过四要素来判断:转股价、回售价、提前赎回价、到期赎回价。
好奇的你肯定有疑问呢?该如何获取这些信息,如何让程序自动判断这些信息来给予我们投资建议呢?
Python获取可转债信息并结构化
现在网络上这种提供可转债的网站信息源比较多。我们以其中一家为例,通过python的request提交POST请求,去提取对应的可转债资料。代码如下:
#!/usr/bin/python3
# -*- encoding: utf-8
import requests
import json
import pandas as pd
url='xxxxx'#由于网站要求,不能提供具体地址,否则有推广嫌疑,请关注微信公众python_dada获取
d={'listed':'Y','rp':'50','page':'1'}
r=requests.post(url,data=d)#获取可转债即时的数据,传给变量r
all_data=r.json()#r为json格式数据,转换为可读的列表形式
contents=all_data['rows']
kzz = [] # 存储可转债信息的列表
for i in range(len(all_data['rows'])):
#print all_data['rows'][i]
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'],
"正股名称": contents[i]['cell']['stock_nm'],
"价格": contents[i]['cell']['sprice'],
"涨幅": contents[i]['cell']['sincrease_rt']
}
kzz.append(data_kzz) # 添加至可转债信息列表
以上代码获取了可转债的信息,并结构化到数组变量里。
该按什么规则来计算该买哪只呢?接下来说说判断的规则。
可转债计算规则:
先说最简单的规则吧:
100/转股价X股价 > 目前的可转债票面价格。
逻辑很简单,用购买可转债后转股后能赚取的价格差是否能回本。能赚更多钱就更好了。
知道规则后,如何用Python来计算这个指标呢?
Python程序化规则:
接上面获取了可转债信息后,我们需要首先将数组转化为pandas的dataframe以便处理。然后会定义dataframe的处理函数,用pandas的内置数组处理来高效率完成这个指标的运算。最后给我们指明可转债“内在价格”大于票面价格的可转债。代码如下:
df_kzz = pd.DataFrame(kzz)
def get_rate(row):
if '价格' in row.keys() and '转股价格' in row.keys():
return float(row['价格'])/float(row['转股价格'])
else:
if u'价格' not in row.keys():
return 1.0
if u'转股价格' not in row.keys():
return 2.0
def get_sub(row):
return float(row['rate'])*100-float(row['转债价格'])
df_kzz['rate']=df_kzz.apply(lambda row: get_rate(row), axis=1)
df_kzz['sub']=df_kzz.apply(lambda row: get_sub(row), axis=1)
ef= df_kzz[df_kzz['sub']>0 ]
最后的ef的dataframe里的数据就是代表按上面逻辑筛选出得有投资价值的可转债。
最后结果如下:
我们看到了中环转债排价值榜第一,看"sub"列,就是“内在价格”比票面价格高多少。
接下来,我们具体分析下中环转债。
具体分析下中环转债
分析实例:
中环转债的价值:
100/12.3X15.8 - 116.498 =12.34元,显然有12的价格差,可以考虑下.
当然这个计算并不是最全面的考虑,还需要大家综合考虑下,有没有回售要约等因素。考虑的因素虽多,但为了简便,给大家归纳了主要四因素件:转股价、回售价、提前赎回价、到期赎回价。当然,如果再考察其信用评级、是否有担保、是否可质押做回购则更全面了。