run_daily - 按日周期处理
run_daily 是 PTrade 中用于按日周期处理的接口。
提示
live-or-trading-module-onlybacktest-only
原型
run_daily(context, func, time='9:31')
释义
run_daily 是 PTrade 中用于按日周期处理的接口。
研究:不支持;回测:支持;模拟:官方目录未明确;实盘:支持。
参数
| 参数 | 是否必填 | 官方原始定义 |
|---|---|---|
context |
是 | context |
func |
是 | func |
time |
否 | time='9:31' |
返回值
None
示例
# 定义一个财务数据获取函数,每天执行一次
def initialize(context):
run_daily(context, get_finance)
g.security = '600570.SS'
set_universe(g.security)
def get_finance(context):
re = get_fundamentals(g.security,'balance_statement','total_assets')
log.info(re)
def handle_data(context, data):
pass
详细说明
run_daily(context, func, time='9:31')
使用场景
该函数仅在回测、交易模块可用
接口说明
该函数用于以日为单位周期性运行指定函数,可对运行触发时间进行指定。
注意事项
该函数只能在初始化阶段initialize函数中调用。
该函数可以在initialize中多次调用,以实现多个定时任务。 但需要注意的是交易中定时任务线程数限制为5且累计的任务不执行,即run_daily和run_interval累计调用超过5次时, 将会因堵塞导致部分定时任务不触发。
股票策略回测中,当回测周期为分钟时,time的取值指定在09:3111:30与13:0015:00之间,当回测周期为日时, 无论设定值是多少都只会在15:00执行;交易中不受此时间限制。
参数详细说明
context: Context对象,存放有当前的账户及持仓信息(Context);
func:自定义函数名称,此函数必须以context作为参数(Callable[[Context], None]);
time:指定周期运行具体触发运行时间点,默认为9:31分(str),交易场景可设置范围:00:00~23:59。
返回值
None