可转债所有历史日线数据打包下载,含“双低”因子值——全历史年化22.8%。(含python代码)

原创文章第596篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。

昨天的文章里:

年化22.8%:可转债多因子策略之基准——“双低”因子策略

涉及的数据,已经发布到星球——所有的可转债历史日线,带双低因子。

这里数据处理需要一些技巧的,比如转债停牌后,很多数据平台的转股溢价率还有持续更新,导致价格为零,会回测出错。

图片

另外,关于有些转债,个别日期没有数据的问题,需要做前向填充,否则回测会出错:

图片

昨天有几个同学留言说,“双低”近期失效的问题,一个大家都知道的因子,其实表现还算可以了:

图片

下载地址:AI量化实验室——2024量化投资的星辰大海

后面星球有几件重要的事情同步:

1、持续给大家写策略,这是不变的。

从传统的信号指标策略到时间序列分析,然后到多因子模型,因子挖掘等。

2、基础设施。

我们不做数据中心,但策略需要的基础支撑,尤其是多因子,是需要数据持续更新,还有可能补充另类数据,比如文本数据等。——这样大家就可以通过网站下载增量更新的数据包,以及因子集等

3、量化论坛,现在一个群只能容纳200人,而且交流的东西无法沉淀。

星球是封闭的私域,还有很多暂时没有加入的同学,或者没有续期的同学就看不到最新的进展,因此,我们希望搭建一个学习量化,交流量化的平台(免费)。

吾日三省吾身

往前看五年,再往后看五年。

日常的很多事情,纠结的事情,在人生长河中,不值一提。

但长期主义,做时间的朋友很重要。

无论你怎么做,五年后总是会到来,而且比你想象中的快。

五年前,还在前一家公司。

五年前,量化从外汇转投研,开始折腾人工智能,对标的是当时很火的kensho——回过头看去,kensho的技术在大模型面前不值一提。

从债券基金、偏债混合型基金、稳健型偏股基金到优质指数基金,经历过理念的进化——当然这一切都是建立在数据的基础上——然后建立起自己的全球大类资产配置理念,全仓全天候不定期再平衡:实战:百万家庭资产配置方案总纲

——也就是我说的ABCZ里的Z计划:人生计划之"ABCZ"

然后开始写一些自媒体,把自己做的过程,一些结论分享出来,也收获了一些朋友的支持。

五年前,你要问,能不能想象到五年后的今天,其实想不到。

都只是一些模糊的,但正是这些模糊的目标,指引着我们往前走。

比如投资是一个重要的杠杆,尤其是当你本金较大的时候,你会稳健投资,意味着你拥有一条最好的被动收入管道,而这个能力就是——大类资产配置能力。——这五年里,这个目标——也就是稳健投资的能力,已经构建起来了。

比如大环境形势,应该做自媒体。至于怎么做,当时也完全不知道,也不知道问谁。那就尝试着开号,写点东西,看看反馈,就这么一步步开始,走下来。

所以,我一直说,有一个模糊的目标与方向,然后为之配置一个系统——转换为每天都会做的事情,就好了。

往前看未来五年:

身体健康这类的不算的话,在目前形势下,搭建多条低相关的被动收入管道或系统是必要的。产品(作品,平台,软件)+ 杠杆(流量,渠道)。产品是基础,流量在杠杆

以量化交易为生为核心,不断沉积产品、作品,为用户创造价值,真正帮助到一些希望以交易为生的朋友。流量帮助我们更容易触达他们,获得反馈。

历史文章:

年化22.8%:可转债多因子策略之基准——“双低”因子策略

10年13倍(年化28.2%,夏普1.2)大类资产趋势轮动(python代码+数据)

quantlab5.2代码更新,含本周所有策略集和数据集。

通用选股框架——多因子模型

AI量化实验室——2024量化投资的星辰大海

### 使用Python实现可转债双低投资策略 #### 1. 数据准备 为了实施双低策略,首先需要获取最新的市场数据。这些数据通常可以从金融API接口获得,如Tushare、Wind或其他第三方服务提供商。 ```python import pandas as pd from tushare import pro_api token = 'your_tushare_token' pro = pro_api(token) def fetch_data(): """ 获取最新交易可转债行情 """ df = pro.cb_basic(fields='ts_code,bond_short_name,convert_price,pre_close,ytm_rt') return df.set_index('ts_code') data = fetch_data() print(data.head()) ``` 此部分代码用于连接到Tushare API并提取必要的字段来计算后续所需的指标[^1]。 #### 2. 计算纯债价与双低 基于所取得的数据集,接下来定义函数以评估每只债券的基础属性——即其作为固定收益证券的价以及相对于市场价格而言是否存在低估情况。 ```python def calc_pure_bond_value(price, coupon_rate=0.03, years_to_maturity=5): """ 简单估算一只无风险利率下的理论价格 """ face_value = 100 # 假设面额为100元人民币 pv_coupons = sum([coupon_rate * face_value / (1 + 0.03)**i for i in range(1, int(years_to_maturity)+1)]) present_value_of_principal = face_value / ((1 + 0.03)**years_to_maturity) pure_bond_valuation = round(pv_coupons + present_value_of_principal, 2) return max(face_value - price, pure_bond_valuation) def compute_dual_low_score(row): """ 综合考虑转换溢价率和剩余限等因素后的评分机制 """ convert_ratio = row['face_amount'] / row['convert_price'] conversion_premium_pct = (row['close']/convert_ratio - 1)*100 dual_low = abs(conversion_premium_pct) + abs((1-row['ytm_rt'])) return {'dual_low': dual_low} ``` 上述逻辑实现了对于给定参数条件下估计某特定品种的实际内在价,并据此构建了一个衡量标准用来挑选潜在优质标的物[^2]。 #### 3. 应用筛选条件选出最优组合 最后一步则是应用之前提到过的“双低”原则,在整个样本空间里面找出那些既具备较高安边际又拥有良好成长潜力的对象加入投资组合之中。 ```python # 添加新列存储计算结果 data[['pure_bond', 'conversion_premium']] = data.apply(lambda x: pd.Series(compute_dual_low_score(x)), axis=1) # 排序得到最低得分列表 top_k_selection = data.sort_values(by=['dual_low']).head(k).copy() selected_codes = top_k_selection.index.tolist() print(f'Selected {len(selected_codes)} convertible bonds:', selected_codes) ``` 这段脚本会按照设定的数量`k`选取排名最靠前的一些候选者形成最终的投资建议名单[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量化投资实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值