可转债跌到90到涨到130要多久? python数据分析告诉你

论坛 期权论坛 期权     
可转债量化分析   2020-12-19 13:30   7747   0
接着昨天的文章可转债至暗时刻?,文末留了一部分没写完,继续下文.
不少人做可转债,是因为其有债底保护,只要在低于面值甚至90,80以下买入,只要能够拿得住,就会回到130强赎,即使再不济,也会像格力转债这种,到期10x回售.
安道全的魔法书也多次提到,可转债一般是3年解决战斗(强赎),不过书里面只是笼统说这个时间,如果我们使用真实数据来回测,那么结论会更加有说服力.


这本书但是是在图书馆借的,一天可以看完



那么本文就用python结合量化平台回测一下实际效果, 但这次我们回测的是: 如果转债跌到90元后,我们买入卧倒装死,要等多久才能重回130元.

[h1]获取数据[/h1]数据源使用优矿自带的数据.
获取日期可以自己用参数设定,这里笔者选择从2017年1月到2020年12月的数据进行回测,因为在此之前的可转债数量过少,而且跌破90元的转债也是非常少.
可转债爆发式增长应该是在17年无需现金申购新债推广后出现的.
  1. def bonds(beginDate=u"20170101",endDate=u"20201215"):
  2.     df = DataAPI.MktConsBondPremiumGet(SecID=u"",tickerBond=u"",beginDate=beginDate,endDate=endDate,field=u"",pandas="1")
  3.     cb_df = df.tickerBond.str.startswith(('12','11'))
  4.     cb_df_=df[cb_df]
  5.     ticker_list = cb_df_['tickerBond'].unique()
  6.     return ticker_list
复制代码
上面函数拿到所有的可转债代码,剔除了其他企业债,可交换债.


共有416只,包含已经退市的可转债

然后拿到代码后进逐个遍历日线数据,一般笔者使用收盘价作为参考价,如果盘中突然出现一个脉冲到130的就记录在当中.
如果读者想要计算盘中达到130的,只需要把参考价换一个参数closePriceBond,很简单的,改为high即可,不影响整体代码逻辑.
不过笔者习惯使用收盘价作为参考价,毕竟盘中的脉冲,不一定每一个人都能捕捉得到.
  1. min_value=90
  2. max_value=130
  3. def bond_trade_data(ticker,beginDate,endDate):
  4.     # 转债日线
  5.     bond_df = DataAPI.MktConsBondPerfGet(beginDate=beginDate,endDate=endDate,secID=u"",tickerBond=ticker,tickerEqu=u"",field=['bondPremRatio','closePriceBond','tradeDate','tickerEqu','secShortNameBond'],pandas="1")
  6.     min_df = bond_df[bond_df['closePriceBond']=max_value]
  7.     name=bond_df['secShortNameBond'].iloc[0]
  8.     min_date=None
  9.     if len(min_df)>0:
  10.         min_date = min_df.iloc[0]['tradeDate']
  11.     max_date=None
  12.     if len(max_df)>0:
  13.         if min_date is not None:
  14.             max_df=max_df[max_df['tradeDate']>min_date]
  15.             if len(max_df)>0:
  16.                 max_date = max_df.iloc[0]['tradeDate']
  17.     days=None
  18.     if min_date is not None and max_date is not None:
  19.         days=day_expand(max_date,min_date)
  20.     return {'code':ticker,'days':days,'max':max_date,'min':min_date,'name':name}
复制代码
上面的代码获取所有日线收据后,找到第一个出现90元的日期, 还有一个是第一次出现130元位置的地方,不过这里有个细节,就是如果转债先出现了130,后面跌到90的情况,所以需要先保证130的日期在90的后面.
OK,然后把上面2部分代码组合在一起:
  1. beginDate=u"20170101"
  2. endDate=u"20201215"
  3. result_list =[]
  4. for bond in bond_list:
  5.     ret=bond_trade_data(bond,beginDate,endDate)
  6.     result_list.append(ret)
复制代码
最终数据在result_list 里面了.
[h1]
[/h1][h1]分析[/h1]接下就是分析了.
我们先把有值的抽出来,因为不是每一个转债都出现过跌倒90在涨到130.
现在把这种情况的提取出来
  1. has_value=[i for i in result_list if i.get('days') is not None]
复制代码
= 24
共有24只转债上岸成功.
然后看看是哪24个幸运儿


看到最近热门妖债横河,盛路,蓝盾,模塑,都曾经落难到90以下. 不过先模塑,从90起来到130,用了足足600天,差不多2年的时间.
最近蹭上新能车概念的小康也是,90到130之路经历了882天,也就在今年12月才到的130元,经历多少岁月的煎熬,才熬出头.
然后我们就看看统计数据,对天数进行统计


mean是平均值, 为 302天, 就是转债从90到130要平均经历303天的时间(这里使用的是自然日), 但是也有部分是当前日期日期内跌到过90以下,但是现在也还没有上130的,比如亚太转债,辉丰转债.后面会有继续分析.
最快从90回到130的用了127天.
可以查查是哪一个


是第18个元素.
定位到该元素


是最近的妖债盛路转债
统计数据里面的25%,50%,75%分别是统计数据的四分位.
然后接着看一下哪些跌破90后,到现在还没有回到130的.


居然还有19只
榜首的辉丰转债没有摸过130就已经退市了


看K线,出道即巅峰.第一天开盘买入的要从头套到退市.
剩下的都是现在时间排序, 选择一只时间比较久的,当前价格又比较低的,可以作为埋伏,这个不失为一个保守的策略,冒进点的可以直接买入正股,不过这个有点赌的成分.
像之前的辉丰股份,模塑科技,最近的小康股份,溢价率看着从80%多拉倒10%以内,甚至变成负溢价.


有兴趣的读者可以使用上述代码尝试每个价格区间的持续时间,比如跌到100后涨回到130的时间, 上面的数字动动手指改一下就可以得到不一样的数据与结果.
笔者公众号里的文章涉及到的代码其他对新人可能不太友好,更加适合有编程经验的读者, 不过对于很多人,其实知道结论就足够了,而推理过程只是让你的信仰更加坚定,毕竟是自己推理出来的,不可能自己去打自己脸哈.
而有兴趣接触这一方面的读者,其实入门也不难,python语法简单,入门快,而做分析,大部分依赖numpypandas这2个第三方库, 基本涉及到数据分析的都会用到个库(pandas底层也是numpy的结构,实际同一个东西).
这个库功能十分强大, 可以把excel,数据库(mysql, mongo)等不同数据一键导入, 然后处理后又可以一键导出为excel,数据库. 操作也简单,即使不做数据分析,也是自动化办公的好帮手,比如用来过滤excel数据,只需要用数学等式就够了,不需要记复杂的excel函数.
之前有读者咨询看什么书比较好,个人是推荐的是这本书


之前也推荐过群里的小伙伴. 书的作者就是pandas库的作者, 而且老外写的书逻辑性要比国内的好很多,而且顺着他们的思路走下去,不会觉得突兀,书前面是python的基础知识,也适合刚学习python的小伙伴.


实体书的好书是可以随时翻翻,查阅方便,笔者平时就把它当做工具书,因为很多用法不可能都记得住,需要经常翻书查阅,虽然有kindle电子书,不过做笔记,查阅还是实体书方便.
墙裂推荐的一本数据分析书.

结语:

最近笔者在把一些数据做成接口查询,嵌入到微信自动回复里面,类似于一个人工AI智能机器人的形式,除了可以查询实时可转债行情,行业数据,还有基金实时折溢价率,微博关键字热度指数,百度指数等等,如果您有什么好用的数据,也可以后台留言,如果笔者觉得不错也可以收纳进来做成查询接口. 近期测试后会上线,敬请期待!


由于微信改版后不再是按时间顺序推送文章,如果后续想持续关注笔者的最新观点,请务必将公众号设为星标,并点击右下角的“赞”和“在看”,不然我又懒得更新了哈,还有更多很好玩的数据等着你哦。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:32
帖子:4
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP