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.date的ignore参数关闭该检查:>>> 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,默认为1min。min,T代表分钟频率,H代表小时频率,<x>代表几分钟或者几小时,换算为分钟数必须被120整除。当频率不为
1min时,bars参数不再起作用。
Returns:
None
Examples
设置为
241 bar的1min频率>>> tradetime.set_time() # default setting
09:30和09:31均符合,而09:28不符合该频率的bar会抛出ValueError,同样可以通过tradetime.time的ignore参数忽略自动检查:>>> 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 bar的1min频率>>> 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')