3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在资产配置和量化交易中,投资者经常需要将特定股票的持仓市值定期或根据触发条件调整到设定的目标金额(即“目标价值调仓”)。QMT 提供了便捷的股票下单函数 order_target_value,可自动计算当前持仓市值与目标市值的差额并执行补仓或减仓操作。
order_target_value 用于将指定的股票仓位自动调整到目标价值(单位:元)。
order_target_value(stockcode, tar_value[, style, price], ContextInfo[, accId])
'000002.SZ'。0,则代表清仓该股票。'LATEST'。可选值包括:
'LATEST': 最新价'FIX': 指定价(需配合 price 参数)'COMPETE': 对手价'MARKET': 市价style='FIX' 时生效)。以下示例展示了如何在 handlebar 中判断调仓条件,并使用 order_target_value 将平安银行(000001.SZ)的持仓调整至固定金额 10,000 元。
#encoding:gbk
def init(ContextInfo):
# 设定资产账号
ContextInfo.accID = '600000248'
ContextInfo.set_account(ContextInfo.accID)
# 设置股票池
ContextInfo.set_universe(['000001.SZ'])
print("策略初始化完成,目标调仓金额:10000 元")
def handlebar(ContextInfo):
# 仅在最后一根 Bar 上触发调仓逻辑
if not ContextInfo.is_last_bar():
return
stock = '000001.SZ'
target_amount = 10000.0 # 目标调仓金额(元)
# 使用对手价(COMPETE)将 000001.SZ 的仓位自动调整到 10000 元持仓
print(f"开始执行目标价值调仓,标的: {stock}, 目标市值: {target_amount}")
order_target_value(stock, target_amount, 'COMPETE', ContextInfo, ContextInfo.accID)
FIX)外,其他下单选价类型均以当前 K 线的收盘价进行撮合结算。init 函数中使用 ContextInfo.set_account() 绑定交易账号。