用途:利用金融市场中的时间规律(月份效应、星期效应等)生成交易信号,例如中国A股的“春季行情”(1月至3月)和“Sell in May”效应。
主要能力:月效应为默认模式,指定看涨月份则做多,指定看跌月份则做空或空仓,其余月份保持空仓;星期效应为可选叠加,涵盖周一/周五效应、月初/月末效应;组合模式下月信号与星期信号相乘,仅当两者同时确认时才开仓。
常见日历效应参考:春季行情 bullish_months=[1,2,3];Sell in May bearish_months=[5,6,7,8,9,10];年末效应 bullish_months=[11,12];周一效应 bearish_weekdays=[0];周五效应 bullish_weekdays=[4]。
参数:bullish_months 默认 [1,2,3,11,12];bearish_months 默认 [5,6,7,8,9];use_weekday 默认 False;bullish_weekdays 默认 [4];bearish_weekdays 默认 [0]。
信号约定:1 表示做多(看涨窗口),-1 表示做空(看跌窗口),0 表示观望。
依赖:pip install pandas numpy
限制与注意:pd.DatetimeIndex.month 从1开始(1=一月);pd.DatetimeIndex.weekday 从0开始(0=周一,4=周五);季节性策略属于统计规律而非确定性信号,回测时需注意样本量;中性月份(既非看涨也非看跌)应输出0,不可跳过。