Config#

tradetime.set_date#

tradetime.set_date(default_freq: str = ‘D’)

设置交易日期,将默认交易日期设置为日、周、月、季、年频率。

Parameters:

  • default_freq: str

    • 交易日期频率,可选择参数为D,W,M,Q,Y,默认为D。所有设置的日期将默认通过该频率进行检验,判断是否符合交易日期频率;

Returns:

  • None


Examples


  • 设置为D日线频率

    >>> tradetime.set_date()  # default 'D'
    

    在日线频率上,2022-03-18是交易日,而2022-03-20不是交易日,因此在创建2022-03-20时会抛出ValueError

    >>> tradetime.date(2022, 3, 18)
    date(year=2022, month=3, day=18, freq='D')
    
    >>> tradetime.date(2022, 3, 20)
    Traceback (most recent call last):
     ...
    ValueError: 2022-03-20 doesn't match freq D
    

    可以通过tradetime.dateignore参数关闭该检查:

    >>> tradetime.date(2022, 3, 20, ignore=True)
    date(year=2022, month=3, day=20, freq='D')
    

  • 设置为Q季度频率

    >>> tradetime.set_date('Q')
    

    2022-03-31是2022Q1季度,而2022-03-18虽然是交易日,但并不符合季度频率,因此抛出ValueError

    >>> tradetime.date(2022, 3, 31)
    date(year=2022, month=3, day=31, freq='Q')
    
    >>> tradetime.date(2022, 3, 18)
    Traceback (most recent call last):
      ...
    ValueError: 2022-03-18 doesn't match freq Q
    

tradetime.set_time#

tradetime.set_time(bars=241, freq=’1min’)

设置交易时间,设置为241bar的1分钟频率、240bar的1分钟频率,以及其它频率。

Parameters:

  • bars: int

    • 一分钟频率bar的数量,只接受240和241,默认241。

      (1)241表示一分钟频率第一根bar为09:30

      (2)240表示一分钟频率第一根bar为09:31,将09:30纳入09:31

  • freq: str

    • 时间频率,可选择参数为<x>min,<x>T,<x>H,默认为1minmin,T代表分钟频率,H代表小时频率,<x>代表几分钟或者几小时,换算为分钟数必须被120整除。

    • 当频率不为1min时,bars参数不再起作用。

Returns:

  • None


Examples


  • 设置为241 bar1min频率

    >>> tradetime.set_time()  # default setting
    

    09:3009:31均符合,而09:28不符合该频率的bar会抛出ValueError,同样可以通过tradetime.timeignore参数忽略自动检查:

    >>> tradetime.time(9, 30)
    time(hour=9, minute=30, second=0, freq='1min')
    
    >>> tradetime.time(9, 31)
    time(hour=9, minute=31, second=0, freq='1min')
    
    >>> tradetime.time(9, 28)
    Traceback (most recent call last):
    	...
    ValueError: time(hour=9, minute=28, second=0, freq='1min') is not match freq
    
    >>> tradetime.time(9, 28, ignore=True)
    time(hour=9, minute=28, second=0, freq='1min')
    

  • 设置为240 bar1min频率

    >>> tradetime.set_time(bars=240)
    

    此时09:30不符合,而09:31均符合

    >>> tradetime.time(9, 30)
    Traceback (most recent call last):
      ...
    ValueError: time(hour=9, minute=30, second=0, freq='1min') is not match freq
    
    >>> tradetime.time(9, 31)
    time(hour=9, minute=31, second=0, freq='1min')
    

  • 设置为15min频率

    >>> tradetime.set_time(freq='15min')
    

    此时10:25不符合,而10:30均符合

    >>> tradetime.time(10, 25)
    Traceback (most recent call last):
      ...
    ValueError: time(hour=10, minute=25, second=0, freq='15min') is not match freq
    
    >>> tradetime.time(10, 30)
    time(hour=10, minute=30, second=0, freq='15min')