## 提示

- `live-or-trading-module-only`
- `backtest-only`


## 原型

```python
run_daily(context, func, time='9:31')
```

## 释义

run_daily 是 PTrade 中用于按日周期处理的接口。

研究：不支持；回测：支持；模拟：官方目录未明确；实盘：支持。

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `context` | 是 | context |
| `func` | 是 | func |
| `time` | 否 | time='9:31' |

## 返回值

None

## 示例

```python
# 定义一个财务数据获取函数，每天执行一次

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:31~11:30与13:00~15:00之间，当回测周期为日时， 无论设定值是多少都只会在15:00执行；交易中不受此时间限制。

### 参数详细说明

context: Context对象，存放有当前的账户及持仓信息(Context)；

func：自定义函数名称，此函数必须以context作为参数(Callable[[Context], None])；

time：指定周期运行具体触发运行时间点，默认为9:31分(str)，交易场景可设置范围：00:00~23:59。

### 返回值

None
