3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在聚宽(JoinQuant)中,如果您希望策略在每个交易日的特定时间(例如上午10:00)运行一次,您需要在 initialize(context) 函数中使用 run_daily 函数来注册定时任务。
以下是具体的实现代码和说明:
# -*- coding: utf-8 -*-
def initialize(context):
# 设定基准,例如沪深300
set_benchmark('000300.XSHG')
# 开开启真实价格模式
set_option('use_real_price', True)
# 使用 run_daily 设置定时运行
# 第一个参数是您要执行的函数名(不要加括号)
# time参数设置为 '10:00'
run_daily(my_trade_func, time='10:00')
def my_trade_func(context):
# 这里编写您需要在每天10点执行的交易逻辑
log.info("当前时间是: " + str(context.current_dt))
print("策略在10点运行了")
# 示例:获取当前持仓
positions = context.portfolio.positions
# 您的其他策略逻辑...
run_daily 必须在 initialize(context) 中调用。my_trade_func),该函数必须接受 context 作为参数。'10:00'。支持24小时制。my_trade_func 函数。run_daily 指定具体时间,建议不要同时在 handle_data 中写复杂的定时逻辑,以避免逻辑冲突或重复运行。run_daily 指定的函数中,无法直接通过参数获取 data 对象,如果需要获取行情数据,请在函数内部使用 get_price、history 或 attribute_history 等API。