有同学在群里提出了给选股策略加止损的想法,邢大给出了一种非常巧妙的实现思路,然后我进行了复现并做了简单测试,在此分享给大家。
一、基本思路
选股买入后,在持仓期间(卖出日之前)发现某只股票跌幅超出了止损范围,那么我们就要在当天临近收盘时将这只股票卖出,卖出后这部分资金一直空仓至本周期结束。
注意:这里卖出的只是超出止损范围的股票,而不是全部的股票。
接下来说邢大给的代码方案:对hdf数据中的['下周期每天涨跌幅']列进行修改,如果截至某天该股票的本周期涨跌幅超出了止损范围,那么该天之后的['下周期每天涨跌幅']全部设置为0。但是卖出费用还是在周期的最后一天核算,这样做虽然会有少许误差,但是影响不大。
二、代码实现
首先看下“选股.py”文件中的代码改动,在下图位置增加一行代码即可,其中stop_rate可以设置为全局变量,就跟select_stock_num一样。