3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
根据聚宽官方文档,JoinQuant 目前不支持期权下单交易(包括回测和模拟盘)。
get_ticks 获取。同时,可以通过 get_all_securities(['options']) 获取期权合约列表。如果您在交易股票、基金或期货时遇到此类报错,通常是由以下原因引起的,请按照以下步骤进行排查:
聚宽默认的初始仓位(subportfolios[0])类型为 'stock'(仅允许买卖股票和场内基金)。如果您尝试在此账户下交易期货或进行融资融券,系统会报错或拒绝订单。
initialize 函数中调用 set_subportfolios 初始化对应的子账户类型。
def initialize(context):
init_cash = context.portfolio.starting_cash
# 设定账户为期货账户类型
set_subportfolios([SubPortfolioConfig(cash=init_cash, type='futures')])
def initialize(context):
init_cash = context.portfolio.starting_cash
# 设定账户为融资融券账户类型
set_subportfolios([SubPortfolioConfig(cash=init_cash, type='stock_margin')])
def initialize(context):
init_cash = context.portfolio.starting_cash / 2
set_subportfolios([
SubPortfolioConfig(cash=init_cash, type='stock'), # subportfolios[0]
SubPortfolioConfig(cash=init_cash, type='futures') # subportfolios[1]
])
注意:下单时需通过 pindex 参数指定对应的子账户序号(如期货下单指定 pindex=1)。聚宽对不同交易市场的代码后缀有严格规定。如果后缀不正确,系统将无法识别标的,导致下单失败。
.XSHG(如 '600519.XSHG').XSHE(如 '000001.XSHE').CCFX(如 'IF2109.CCFX').XSGE(如 'RB2109.XSGE').XDCE(如 'A2109.XDCE').XZCE(如 'SR109.XZCE').XINE(如 'SC2109.XINE')normalize_code() 函数将其他格式的代码转换为聚宽标准代码:# 输出 ['000001.XSHE']
print(normalize_code('000001'))
在期货交易中,AG9999.XSGE(主力合约)和 AG8888.XSGE(指数)仅用于获取数据,不能直接下单交易。
get_dominant_future 获取当前实际的主力具体合约代码,再进行下单:# 获取白银实际主力合约,如 'ag2112.XSGE'
real_code = get_dominant_future('AG')
order(real_code, 1)
如果标的处于停牌状态、尚未上市或已经退市,提交订单也会失败。
get_current_data() 检查标的是否停牌:current_data = get_current_data()
if current_data['000001.XSHE'].paused:
log.info("该股票已停牌,无法交易")