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

dfAssetBook['costPrice'] = 100.0

dfAssetBook['w'] = w

# 无论如何,都用dfRet来记录当日持仓的个券和权重

# join函数非常实用,用来连接字符串

dfRet['LOG:SEL'][date] =','.join(list(dfAssetBook.index))

# [func(t) for t in ...] 是非常具备python特色的一个处理方法

dfRet['LOG:WEIGHT'][date] =','.join([str(t) for t in list(dfAssetBook['w'])])

return dfRet

下面来逐个击破中间的小函数。首先是getStartLoc,实际上pd.DataFrame的index有一个get_loc的方法也能得到这个结果,但早期的版本没考虑过万一要找的变量不在index中怎么办。而后来的版本中,虽然给予了一定容忍度,但也基本没考虑过当index本身是不可比变量时的处理。所以此时我们要进行简单的改造,如下:

def getStartLoc(obj,date):

推荐阅读