【程序报错】Exception: invalid trading mode
由bq4o92ek创建,最终由bq4o92ek 被浏览 1 用户
代码是这样的,回测没问题,跑的很好,但一提交到模拟盘上就报错,选的是实时交易任务。
from bigmodule import M
# <aistudiograph>
# @param(id="m8", name="initialize")
# 交易引擎:初始化函数, 只执行一次
def m8_initialize_bigquant_run(context):
import math
import numpy as np
from bigtrader.finance.commission import PerOrder
# 系统已经设置了默认的交易手续费和滑点, 要修改手续费可使用如下函数
context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))
# 预测数据, 通过 options 传入进来, 使用 read_df 函数, 加载到内存 (DataFrame)
context.stock_count = 1
# 每只股票的权重平均分配
context.stock_weights = 1/context.stock_count
context.options['hold_days'] = 0
# @param(id="m8", name="before_trading_start")
# 交易引擎:每个单位时间开盘前调用一次。
def m8_before_trading_start_bigquant_run(context, data):
# 盘前处理,订阅行情等
pass
# @param(id="m8", name="handle_tick")
# 交易引擎:tick数据处理函数,每个tick执行一次
def m8_handle_tick_bigquant_run(context, tick):
pass
# @param(id="m8", name="handle_data")
# 回测引擎:每日数据处理函数, 每天执行一次
def m8_handle_data_bigquant_run(context, data):
today = data.current_dt.strftime('%Y-%m-%d')
equities = {e: p for e, p in context.portfolio.positions.items() if p.amount>0}
stock_now = len(equities); #获取当前持仓股票数量
stock_count = context.stock_count
# 按日期过滤得到今日的预测数据
df_today = context.data[
context.data.date == data.current_dt.strftime("%Y-%m-%d")
]
df_today.set_index('instrument')
now_stock = []
sell_stock = []
#df_today['instrument'] = df_today['instrument'].str.replace('A