20230904至20231025,基于公募基金转债历史持仓和主要分析指标,研究了可转债的因子策略和组合 file_excel=0可转债分析模板-20200331.xlsx ;path_excel=C:\rc_2023\rc_202X\0固收投资策略和产品\可转债策略和数据-公募季度持仓 file_ppt=乐盈3号10月路演PPT-修改数据来源-20231012.pptx ;path_ppt=C:\rc_2023\rc_202X\0固收投资策略和产品 file_python=test_1_strategy_convertible_bond_indi.py,test_2_strategy_convertible_bond_indi.py,test_3_strategy_convertible_bond_indi_statistics.py ;;path_python=C:\rc_2023\rc_202X\0固收投资策略和产品\可转债策略和数据-公募季度持仓
file_excel= ;path_excel= file_ppt= ;path_ppt= file_python= ;;path_python=
分析指标-提取Wind-api指标 步骤:1,Wind导出季末基金持仓转债; DATA:数据来源:Wind终端导出的数据,数据来源:Wind--可转债--持有人信息--基金季度公告披露;Wind--可转债--持有人信息--可转债公告披露 OUTPUT:file=基金季度公告披露-20240331.xlsx ; path=C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible
步骤2,对于操作sheet内的转债列表,提取对应的指标。 操作sheet=基础筛选,file=0可转债组合监控.xlsx; 备份file=0可转债研究-基本面事件.xlsx【这里的模板没有mv_stock列】 | 2020~2023.6历史数据:sheet=分析,file=0可转债分析模板-20200331.xlsx INPUT:1,最新/季度指标:sheet=基础筛选,file=0可转债组合监控.xlsx; || OUTPUT:file=score_bond_convert_20240331.xlsx 主要是打分分数,score_all_bond_convert_20240331.xlsx 打分和指标 ; path=C:\rc_2023\rc_202X\data_pms\bond_convertible
对主要指标计算score OUTPUT:file=score_all_bond_convert_20240331.xlsx,score_all_bond_convert.xlsx ; path=C:\rc_2023\rc_202X\data_pms\bond_convertible
OUPUT:df_score= ;
通过input-file里3类参数计算个券权重:weight 默认权重,股债混合;weight_bond 纯债类转债打分权重;weight_stock 股性转债打分权重 input:转债指标参数管理文件sheet=weight_indi,file=C:\rc_2023\rc_202X\ciss_web\CISS_rc\db\bond_convert\bond_convert_manage.xlsx OUTPUT:file=score_bond_convert_20231231.xlsx;stra_bond_convert_20231231.xlsx ; path= C:\rc_2023\rc_202X\data_pms\bond_convertible
代码文件地址:C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\quote\0list_code.xlsx
多个因子的量化可转债组合权重 OUTPUT:file=port_all_bond_convert_20231231.xlsx ; path= C:\rc_2023\rc_202X\data_pms\bond_convertible notes:这里更多是从综合指标角度筛选,对于纯债性转债,需要单独选择。
单一因子的量化可转债组合权重: 量化可转债多因子3 , convertbond_factor_3f 量化可转债正股因子 , convertbond_factor_stock 量化可转债双低 , convertbond_factor_2low 量化可转债低价 , convertbond_factor_lowprice OUTPUT:file=stra_convertbond_factor_3f.xlsx,port_convertbond_factor_3f_20231231.xlsx ; path= C:\rc_2023\rc_202X\data_pms\bond_convertible notes:为了统一导入PMS,策略文件还需要保存到 path= C:\rc_2023\rc_202X\data_pms\strategy
20240523,quote目录从C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\ 转到 C:\rc_2023\rc_202X\data_pms\wind_terminal\
功能:输入代码和频率等相关参数,测试该转债择时策略的有效性。 转债波动的特征:经常涨1~2个月后跌2~3个月,如果股价高于150,连续跌4+月也正常。 INPUT:1,转债数据文件|默认文件是日频率:file=511380.SH,511380.SH_15min.xlsx ;path=C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\quote INPUT:2,证券代码列表文件;file=0list_code.xlsx;path=C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\quote 分析指标-策略算法文件py:1,file= OUTPUT:file= ; path=D:\CISS_db\bond_convert ;C:\rc_2023\rc_202X\data_pms\bond_convertible\timing
Notes:1,若选择2+指标数量前,需要先完成单指标信号和绩效的计算,因为需要先从单指标绩效文件中提取有相对收益或风险的指标。
主流择时策略均显示了显著的超额收益和更低回撤,如510300,513010,159967,588080,510500,512100 金农转债-128036.SZ是很典型的A股转债品种,上市初期价格下跌到80多元,也暴涨到200+,大部分时间在108~139之间波动。 日频率下,转债+41.45%,mdd-33.93%;前20的策略平均收益率+60%,mdd-33.93%。30分钟频率下,转债+9.99%,mdd-33.87%;前20的策略平均收益率+70%,mdd-24%。
若要画净值图,按如下方式运行服务器 python manage.py runserver --nothreading --noreload
功能:在择时策略结果的基础上进行改进,按ma-x的信号,每次买入后x/2 ~ x 天内不能卖,避免来回买卖 持有期,如最少持有3~100个交易日后才能卖出,卖出后x/2个交易日才能买入 INPUT:转债数据文件|默认文件是日频率:file=511380.SH,511380.SH_15min.xlsx ;path=C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\quote 分析指标-策略算法文件py:1,file= OUTPUT:file= ; path=D:\CISS_db\bond_convert ;C:\rc_2023\rc_202X\data_pms\bond_convertible\timing
功能:对品种在无趋势期间,采取区间内低买高卖的策略 小结:可转债日线频率,即便用3周更短线的策略,依然会面临基础资产波动小+在1.0 +/-8%左右波动,导致的缺乏赚钱机会。可能更适合的方式是在30分钟频率下,通过8~16个周期内做短波段来赚钱。 小结:截至231123,2周以内的小区间震荡策略,对于转债个券和指数上,并没有明显优于标的本身的收益和回撤; 中证1000ETF,优。512100.SH,osci2_p_ma_40__-0.045策略净值1.1558,mdd=0,持有时间1.05%;同期512100基金净值0.9047,mdd=-22.81%,超额收益比较显著。 转债等权889033.WI,良。没有明显优于标的本身的收益和回撤,但也没有很差 INPUT:转债数据文件|默认文件是日频率:file=511380.SH,511380.SH_15min.xlsx ;path=C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\quote 分析指标-策略算法文件py:1,file= OUTPUT:file= ; path=D:\CISS_db\bond_convert ;C:\rc_2023\rc_202X\data_pms\bond_convertible\timing
确定股票目前处于震荡状态:ma8和ma40的近10日平均or最大偏离幅度不超过一定比例。 震荡或无趋势的定义:(ma_short - ma_long)/ma_long 偏离幅度 小于 5% ; osci1,区间的上下沿-买入:连续10个交易日收盘价低于ma8后第一天突破,买入;卖出:连续10个交易日收盘价高于ma8后第一天突破,买入; ======== osci2,区间的上下沿-买入:close/ma8连续扩大3天; 卖出:close/ma8连续收窄3天; ======== osci3,区间的上下沿-买入:ma8或16_up,负值(ma下跌)连续超过8天后第一天转负; 卖出:ma8或16_up,正值(ma上升)后第一天转负; 主要上下区间(算法:q25-std+1%,q75+std-1%):p_ma8,-5%,+5%;p_ma16,-7%~7%;p_ma40,-10%,10%;p_ma60-12%,12%.ma_up_8,-0.3,0.3%,ma_up_16,-0.2,+0.2%;ma_up_40,-0.15%,0.15%;ma_up_60, -0.13%,0.13%.
功能:1,对所有样本池证券,用同一种固定的策略指标及参数测算;2,对不同证券,用给定的不同策略指标及参数测算 INPUT:0,list_code 证券代码列表文件;file=0list_code.xlsx;path=C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\quote 转债回撤步骤:1,每40天调整转债样本池;2,每个交易日计算样本池内品种的交易信号;3,根据权重分配,计算组合收益率 INPUT:1,转债数据文件|默认文件是日频率:file=511380.SH,511380.SH_15min.xlsx ;path=C:\rc_2023\rc_202X\data_pms\wind_terminal\bond_convertible\quote 2,导入证券对应策略及参数的excel表格 OUTPUT:file= ; path=D:\CISS_db\bond_convert ;C:\rc_2023\rc_202X\data_pms\bond_convertible\timing notes:小结:可转债日线频率,即便用3周更短线的策略,依然会面临基础资产波动小+在1.0 +/-8%左右波动,导致的缺乏赚钱机会。可能更适合的方式是在30分钟频率下,通过8~16个周期内做短波段来赚钱。 notes:由于不同资产交易日不同,可能会出现证券x在某个日期前无收盘价,此时日收益率用 交易费率0.1%或 0 替代。 notes:240419,平滑了交易信号,如【0,1,1】才能买入,和【1,0,0】才能卖出,def tool_signal_lazy,file=indicator_momentum.py
证券池:导入file=0list_code里 if_port=是否属于组合=1的代码。 选股因子权重及打分:引入季度总分数据;无【后期可考虑加入 】 调仓频率:3日、8日、15日、30日 Notes:不同转债起始时间不同,都有净值的区间一般从 20211122;20211122开始有7个转债有历史数据
notes:
OUTPUT: port_str_mid= ||
notes:todo,调仓频率,单券权重上限,组合权重上限,目前还没用
OUPUT:
OUPUT:df_stra_ma= ;
评估指标和参数需要关注:1,指标在某一参数下的绩效较好,需要观察相近参数策略是否具有类似表现,避免单一参数对应的特定时点交易没有可复制性。 2,关注持仓时间占比,若超过80%,收益可能更多来自于持有而非策略择时。 3,同样表现下,优先选择最大回撤更小的、再选择参数最接近0.0的。例如,最大回测每减小1%,累计收益可以减少2% notes:
TODO:计划研发的其他策略: 策略名:转债期权定价;来源:中金固收;介绍:“甜点”是期权定价的视角下,性价比较高、容易获利的品种。这个指标我们可以通过观察数量,来评价彼时转债市场的难易程度。 “甜点”个券为:(转股价值*delta*0.05+theta+0.5*((转股价值*正股波动率)^2)*gamma)/转债价格 > 0.05的个券