3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在量化交易中,日线、周线、月线并没有绝对的“最好”,而是取决于你的资金体量、策略逻辑(如趋势跟踪还是均值回复)、风险承受能力以及交易成本。不同的操作周期有着截然不同的优缺点。
JoinQuant(聚宽)平台提供了非常灵活的定时运行 API,可以轻松实现日线、周线、月线级别的策略调度。主要依赖于 run_daily、run_weekly 和 run_monthly 这三个函数。
run_daily)日线策略通常在每天的特定时间(如开盘、收盘前)执行调仓逻辑。
def initialize(context):
set_benchmark('000300.XSHG')
set_option('use_real_price', True)
g.security = '000001.XSHE'
# 每天 14:50 运行(收盘前调仓)
run_daily(daily_strategy, time='14:50')
def daily_strategy(context):
# 获取日线数据
df = get_bars(g.security, count=5, unit='1d', fields=['close'])
# 策略逻辑...
pass
run_weekly)周线策略可以指定在每周的第几个交易日运行。例如,每周最后一个交易日(通常是周五)收盘前调仓。
def initialize(context):
set_benchmark('000300.XSHG')
set_option('use_real_price', True)
g.security = '000001.XSHE'
# 每周倒数第一个交易日(通常为周五)的 14:50 运行
run_weekly(weekly_strategy, weekday=-1, time='14:50')
def weekly_strategy(context):
# 获取周线数据 (unit='1w')
df = get_bars(g.security, count=5, unit='1w', fields=['close'])
# 策略逻辑...
pass
run_monthly)月线策略常用于基本面选股或因子轮动,通常在每月的第一个交易日或最后一个交易日运行。
def initialize(context):
set_benchmark('000300.XSHG')
set_option('use_real_price', True)
# 每月第一个交易日的 09:30 运行
run_monthly(monthly_strategy, monthday=1, time='09:30')
def monthly_strategy(context):
# 获取月线数据 (unit='1M')
df = get_bars('000001.XSHE', count=5, unit='1M', fields=['close'])
# 策略逻辑...
pass
run_monthly)是最佳选择,既能跟上基本面变化,又不会过度交易。