固定止盈止损功能
由crisvalentine创建,最终由qxiao 被浏览 277 用户
更新
本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明
新版量化开发IDE(AIStudio):
https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW
新版模版策略:
https://bigquant.com/wiki/doc/demos-ecdRvuM1TU
新版数据平台:
https://bigquant.com/data/home
https://bigquant.com/wiki/doc/dai-PLSbc1SbZX
新版表达式算子:
https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS
新版因子平台:
https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5
版本v1.0
在开发策略时,经常使用个股的固定点位/百分比止盈止损功能。
本策略以赚3元止盈,亏10%止损为例,介绍功能实现步骤:
-
新建AI可视化模板策略
-
在回测/模拟模块m19的属性栏中进入“主函数”代码框,在函数体中最前面插入固定止盈止损的代码段,详见策略代码。
本例中,止盈条件为固定点位止盈:赚3元就卖出,并使用 stopwin_stock 用来记录止盈的股票列表;
本例中,止损条件为固定百分比止损:亏10%就卖出,并使用 stoploss_stock 用来记录止损的股票列表。
-
在回测/模拟模块m19的属性栏中进入“主函数”代码框,在函数体中找到“# 2. 生成卖出订单” 位置,修改此处的轮仓卖出逻辑:
在前面初始化变量stock_sell用来记录卖出的股票,
在卖出下单代码context.order_target(context.symbol(instrument), 0)前面加入判断语句,如果该股票已经止盈止损卖出过就不再换仓卖出;
在卖出下单代码context.order_target(context.symbol(instrument), 0)后面加入 stock_sell.append(instrument) 用来记录轮仓卖出的股票:
-
在回测/模拟模块m19的属性栏中进入“主函数”代码框,在函数体中找到“# 3. 生成买入订单”位置,将原有的buy_instruments一行代码修改为如下:
获取所有排序结果股票列表
buy_list = list(ranker_prediction.instrument)
保证买入的股票不在轮仓、止盈、止损代码中已经卖出的股票,以防止二次卖出出现空头
buy_instruments = [i for i in buy_list if i not in stock_sell+stopwin_stock+stoploss_stock][:len(buy_cash_weights)]
https://bigquant.com/experimentshare/9470cd7fe4b34cf7a55fd51a424bae8f
\