【新一配】选股+择时策略组合
导语:本文讨论交易中两个非常重要的命题:选股+择时,并将其两者结合起来开发策略。
选股就是要选一只好股票,而择时就是选一个好的买卖时机。如果投资者选了一只很差劲的股票,无论怎样择时操作,都无法获得超额的利润。但如果只选股而不进行择时,又可能面临系统性风险爆发的困境。如何将选股和择时策略有机地结合起来?
本文列出两个策略,第一个策略为纯选股策略,没有择时,即任何时候都有股票仓位。第二个策略为选股+择时,当大盘处于死叉(短期均线下穿长期均线)的时候就保持空仓。对比发现,有择时的策略资金曲线更为平滑。
def prepare(context):
# 获取股票市净率数据,返回DataFrame数据格式
market_cap_data = D.history_data(context.instruments,context.start_date,context.end_date,
fields=['pb_lf','amount'])
# 获取每日按市净率排序 (从低到高)的前三十只股票
context.daily_buy_stock = market_cap_data.groupby('date').apply(lambda df:df[(df['amount'] > 0)&((df['pb_lf'] > 0))].sort_values('pb_lf')[:30])
纯选股策略¶
# 回测参数设置,initialize函数只运行一次
def initialize(context):
# 手续费设置