可转债市场因子挖掘和量化策略(二)——价格区间因子

2.价格区间因子

2.1 先看结论

1.(0,95]和(130,135]价格区间的可转债成交额和成交量远超其他区间。

2.纵观2018-2024的市场历史,值得注意以下两点:(1)在2023年,除了“低价”可转债(≤95的可转债),各价格区间可转债总交易额均下滑;(2)近6年来,“低价可转债”的成交额迅猛非常增长,未来将有更多机会。

3.策略构建:将价格区间作为成交额因子的辅助因子,甚至可以做“因子切割”法结合成交额和价格区间。

2.2 具体分析

不同价格区间的可转债具有不同性质,尤其是不同价格区间的可转债的市场流动性不同。考虑将价格区间作为成交额因子的辅助因子,甚至可以考虑做“因子切割”法结合成交额和价格区间。因此分析价格区间和成交额之间的分布,绘制箱线图。

2.2.1 实现代码:
price_df=dmkt
price_df=price_df.sort_index()

#1.先分析分布
price_df['Bucket']=0
price_df=price_df[price_df['avgPrice']<=135] #忽视135以上的bond
price_df['Bucket'] = pd.cut(price_df['avgPrice'], bins=[-float('inf')] + list(np.arange(95.00, max(price_df['avgPrice']) + 6, 5)), right=False)
price_sort_df = price_df.groupby(['date', 'Bucket'])['amount'].mean().reset_index()
print('A brief look at the df after sorted by price interval of ¥5.')
print(price_sort_df.head(10))
print('-·'*50)

import seaborn as sns
#(1)2018至今数据概览
plt.figure(figsize=(5, 8))
sns.boxplot(x='Bucket', y='amount', data=price_sort_df)
plt.xticks(rotation=45)
plt.grid()
plt.xlabel('AvgPrice Interval')
plt.ylabel('Amount (Unit: ¥0.1 billion)')
plt.title('Boxplot of Amount by avgPrice Interval From 2018-01-02 to now.')
plt.show()

print('-·'*50)

#删除异常值再绘制
plt.figure(figsize=(6, 8))
sns.boxplot(x='Bucket', y='amount', data=price_sort_df, showfliers=False)
plt.xticks(rotation=45)
plt.grid()
plt.xlabel('AvgPrice Interval')
plt.ylabel('Amount (Unit: ¥0.1 billion)')
plt.title('Boxplot of Amount by avgPrice Interval From 2018-01-02 to now (without outliers).')
plt.show()

print('-·'*50)
#(2)2024至今数据概览
price_sort_df = price_sort_df.loc[price_sort_df['date'] >= '2024-01-02']
plt.figure(figsize=(5, 8))
sns.boxplot(x='Bucket', y='amount', data=price_sort_df)
plt.xticks(rotation=45)
plt.grid()
plt.xlabel('AvgPrice Interval')
plt.ylabel('Amount (Unit: ¥0.1 billion)')
plt.title('Boxplot of Amount by avgPrice Interval From 2024-01-02 to now.')
plt.show()

print('-·'*50)

#删除异常值再绘制
plt.figure(figsize=(6, 8))
sns.boxplot(x='Bucket', y='amount', data=price_sort_df, showfliers=False)
plt.xticks(rotation=45)
plt.grid()
plt.xlabel('AvgPrice Interval')
plt.ylabel('Amount (Unit: ¥0.1 billion)')
plt.title('Boxplot of Amount by avgPrice Interval From 2024-01-02 to now (without outliers).')
plt.show()
2.2.2 分析及结论

以2018年1月2日为例,各区间的成交额平均值如下:

下面是2018年至今和2024年至今的不同价格区间的日均成交额分布:

 

显然,成交额较大的是≤95和(130,135]区间,且近年来“低价”可转债的交易显著增多。

结合近6年来各区间的可转债成交额变化情况验证。(单位:亿元)

 

 可以看到,2023年,除了“低价”可转债,各价格区间可转债总交易额均下滑,而近6年来,“低价可转债”的成交额迅猛增长,未来将有更多机会。

2.2.3 稳健性检验——成交量

进一步观察不同价格区间下成交量差异。去除离群点后分布如下:

可以看到,仍然是≤95和(130,135]价格区间的可转债市场容量、深度等方面表现更优。尤其是2024年以来,“低价”可转债迅猛发展,日均成交量平均超50万。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值