如果不设置订阅会报以下错误
回测运行错误: AttributeError: 'NoneType' object has no attribute 'groupby'
需求是将原来的分钟策略改为秒级策略, 调用问财获取目标个股进行秒级监控, 但是使用问财提示报错
回测运行错误: File strategy.py, line 11 in before_trading NameError: name 'query_iwencai' is not defined (温馨提示:第11行,name 'query_iwencai' 未定义,建议检查是否定义了该变量,若在init中,则需要定义为全局变量。)
#初始化账户
def init(context):
subscribe(["000899.SZ"])
reg_signal('big', get_big)
# 开盘前运行函数
def before_trading(context):
query = (f"10天区间涨跌幅前20;")
# 过滤筛选, 简化问财数据
stock_data = query_iwencai(query, domain='股票', timeout=6, df=False)
# 取前x个股票的代码
g.loong.extend({item["股票代码"] for item in stock_data[:5]})
print(g.loong)
subscribe(g.loong)
print('before_trading')
# 收盘后运行函数
def after_trading(context):
print('after_trading')
# 信号定义函数
def get_big(data):
return data['current'] > data['open']
# 设置买卖条件,每个交易频率(tick)调用一次
def handle_tick(context, tick):
# 获取时间
time = tick.datetime.strftime('%H%M')
# 获取信号
big_single = get_signal(tick.order_book_id, "big")
if (big_single) and (time == '0930'):
order_shares(tick.order_book_id, 100)
if (not big_single) and (time == '0930'):
order_shares(tick.order_book_id, -100)