前言
在金融领域,行情的获取是至关重要的,量化领域更是加大了这种重要性!所以今天来讲的就是怎么使用函数来获取!
ptrade的开通渠道可以看文章末尾!
一、get_trading_day -——获取交易日期
这个是用来获取当前这个时间点往前一段时间或者往后一个时间的一个交易日期的函数
注意事项:
1、默认情况下,回测中当前时间为策略中调用该接口的回测日日期(context.blotter.current_dt)。
2、默认情况下,研究中当前时间为调用当天日期。
3、默认情况下,交易中当前时间为调用当天日期。
示例
def initialize(context):
g.security = ['600670.SS', '000001.SZ']
set_universe(g.security)
def handle_data(context, data):
# 获取后一天的交易日期
previous_trading_date = get_trading_day(1)
log.info(previous_trading_date)
# 获取前一天的交易日期
next_trading_date = get_trading_day(-1)
log.info(next_trading_date)
二、get_all_trades_days —— 获取全部交易日期
这个函数只能获得某个时间点之前的交易日期,但是是全部的!
注意事项:
1、默认情况下,回测中date为策略中调用该接口的回测日日期(context.blotter.current_dt)。
2、默认情况下,研究中date为调用当天日期。
3、默认情况下,交易中date为调用当天日期。
示例
def initialize(context):
# 获取当前回测日期之前的所有交易日
all_trades_days = get_all_trades_days()
log.info(all_trades_days)
all_trades_days_date = get_all_trades_days('20150312')
log.info(all_trades_days_date)
g.security = ['600570.SS', '000001.SZ']
set_universe(g.security)
def handle_data(context, data):
pass
三、get_trade_days - 获取指定范围交易日期
get_trade_days(start_date=None, end_date=None, count=None)
就是获取某个时间段的函数
注意事项:
1、默认情况下,回测中end_date为策略中调用该接口的回测日日期(context.blotter.current_dt)。
2、默认情况下,研究中end_date为调用当天日期。
3、默认情况下,交易中end_date为调用当天日期。
函数具体解析
start_date:开始日期,与count二选一,不可同时使用。如'2016-02-13'或'20160213',开始日期最早不超过1990年(str);
end_date:结束日期,如'2016-02-13'或'20160213'。如果输入的结束日期大于今年则至多返回截止到今年的数据(str);
count:数量,与start_date二选一,不可同时使用,必须大于0。表示获取end_date往前的count个交易日,包含end_date当天。count建议不大于3000,即返回数据的开始日期不早于1990年(int);
示例
def initialize(context):
# 获取指定范围内交易日
trade_days = get_trade_days('2016-01-01', '2016-02-01')
log.info(trade_days)
g.security = ['600570.SS', '000001.SZ']
set_universe(g.security)
def handle_data(context, data):
# 获取回测日期往前10天的所有交易日,包含历史回测日期
trading_days = get_trade_days(count=10)
log.info(trading_days)
结语
ptrade的渠道可以通过《ptrade开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区支出!