BigQuant上如何确定交易日是星期几?

交易日历
标签: #<Tag:0x00007f73e651a5c0>

(htly) #1

如题,在开发策略的时候想知道当天是星期几?应该怎么实现呢 ?


(iQuant) #2

这其实就是Python的一个简单方法啊,查看下日期是星期几。例子如下:

克隆策略
In [25]:
def initialize(context):
    pass

# 回测引擎:每日数据处理函数,每天执行一次
def handle_data(context, data):
    dt = data.current_dt 
    print('今天星期:', dt.weekday()+1) # 之所以加1,是因为国外以星期天作为开始,因此0表示星期1,以此类推。
                                                           
# 调用交易引擎
m6 = M.trade.v2(
    instruments=['000001.SZA'],
    start_date='2017-08-01',
    end_date='2017-08-20' ,
    initialize=initialize,
    handle_data=handle_data,
    order_price_field_buy='open',       # 表示 开盘 时买入
    order_price_field_sell='close',     # 表示 收盘 前卖出
    capital_base=1000000,               # 初始资金
    benchmark='000300.SHA',             # 比较基准,不影响回测结果
     
)                                                                  
[2017-08-21 13:17:57.148303] INFO: bigquant: backtest.v7 start ..
今天星期: 2
今天星期: 3
今天星期: 4
今天星期: 5
今天星期: 1
今天星期: 2
今天星期: 3
今天星期: 4
今天星期: 5
今天星期: 1
今天星期: 2
今天星期: 3
今天星期: 4
今天星期: 5
[2017-08-21 13:17:57.669630] INFO: Performance: Simulated 14 trading days out of 14.
[2017-08-21 13:17:57.671574] INFO: Performance: first open: 2017-08-01 13:30:00+00:00
[2017-08-21 13:17:57.672400] INFO: Performance: last close: 2017-08-18 19:00:00+00:00
  • 收益率0.0%
  • 年化收益率0.0%
  • 基准收益率-0.35%
  • 阿尔法-0.04
  • 贝塔0.0
  • 夏普比率n/a
  • 收益波动率0.0%
  • 信息比率0.52
  • 最大回撤0.0%
[2017-08-21 13:17:57.978990] INFO: bigquant: backtest.v7 end [0.830661s].