strategy模块里面base的calculate_portfolio_return方法疑问
wongwingsun opened this issue · 0 comments
wongwingsun commented
我想问问strategy模块里面base的calculate_portfolio_return方法,如果某只股票的signal是-1,意思是做空该股票吗?
比如2020-02-29股票sz.000001的signal是-1,2020-03-31的收益率是-0.117241,如果按照-1*(-0.117241)计算的话,收益率是正,2020-02-29股票的signal是-1,那么那时应该是已经卖出股票,3月份时这个股票应该是没有收益,除非是做空股票
def calculate_portfolio_return(data, signal, n): ''' 投资组合收益率(等权重) = 收益率之和 / 股票个数 :param data: :param signal: :param n: :return: ''' # 投资组合收益率(等权重) print((signal * data.shift(-1)).T) returns = (signal * data.shift(-1)).T.sum() / n return returns.shift(1) # 匹配对应的交易月份