【中金固收·可转债】简易的转债策略测试框架——以及python实现方法 20190519( 八 )

if code[:3] == '132' or code[:3] == '120':

columns.remove(code)

return columns

下面是择券的代码,也是对策略决定意义最大的函数。在调仓日期会调用这个函数。同样,为了给予投资者外部接口,这里也要保留传入函数的可能性。如下:

def selectCodes(obj, codes, date,selMethod=None):

i = getStartLoc(obj,date)

n = min([i,5])

# 这里利用一下pandas.DataFrame的逻辑运算做最基本的条件设定:前5个交易日必须有最少10万的交易

# 且存量不低于3000万

condition = (obj.DB['Amt'].iloc[i-n:i][codes].fillna(0).min() >100000.0) & \

(obj.DB['Outstanding'].iloc[i][codes]> 30000000.0)

## 如果selMethod不为空

推荐阅读