scheduler.run_weekly - 每周运行

  • scheduler.runweekly(_function, weekday=x, tradingday=t)
  • 每周运行一次指定的函数,只能在init内使用。

注意:

  • tradingday中的负数表示倒数。
  • tradingday表示交易日。如某周只有四个交易日,则此周的tradingday=4与tradingday=-1表示同一天。
  • weekday和tradingday不能同时使用。参数:
  • function (func) – 使传入的function每日交易开始前运行。注意,function函数一定要包含(并且只能包含)context, bar_dict两个输入参数。
  • weekday (int) – 1~5 分别代表周一至周五,用户必须指定
  • tradingday (int) – 范围为[-5,1],[1,5] 例如,1代表每周第一个交易日,-1代表每周倒数第一个交易日,用户可以不填写。Example:

以下的代码片段非常简单,在每周二固定运行打印一下现在的portfolio剩余的资金:

  1. #scheduler调用的函数需要包括context, bar_dict两个参数
  2. def log_cash(context, bar_dict):
  3. logger.info("Remaning cash: %r" % context.portfolio.cash)
  4.  
  5. def init(context):
  6. #...
  7. # 每周二打印一下剩余资金:
  8. scheduler.run_weekly(log_cash, weekday=2)
  9. # 每周第二个交易日打印剩余资金:
  10. #scheduler.run_weekly(log_cash, tradingday=2)