熟悉聚宽框架使用
简单策略说明:
基准: 以沪深 300 成分股作为基准
建仓标准: 选取沪深 300 成分股中低价股票买入 (股价 < 4 元)
止盈标准: 当收益率 >=25% 时卖出持仓股票止盈
止损标准: 当收益率 <=-10% 时卖出持仓股票止损
代码:
- # 导入函数库
- from jqdata import *
- # 初始化函数
- def initialize(context):
- # 设置基准
- set_benchmark('000300.XSHG')
- # 动态复权
- set_option('use_real_price', True)
- # 设置手续费
- # 股票类每笔交易时的手续费是: 买入时佣金万分之三, 卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣 5 块钱
- set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')
- # 用户定义
- # get_index_stocks 获取成分股
- g.security = get_index_stocks('000300.XSHG')
- def handle_data(context, data):
- # 账户总资金
- t_value = context.portfolio.total_value
- for stock in g.security:
- # 前一天收盘价
- p = attribute_history(stock, count=1, df=False)['close'][0]
- # 持仓总数
- amount = context.portfolio.positions[stock].total_amount
- # 平均成本
- cost = context.portfolio.positions[stock].avg_cost
- # 持仓标准: 低价买入
- if p <4 and amount == 0:
- order_target_value(stock, 0.1 * t_value)
- # 止盈标准: 收益率 > 25%
- elif amount> 0 and p>= cost * 1.25:
- order_target(stock, 0)
- # 止损标准: 收益率 < 10%
- elif amount> 0 and p <= cost * 0.9:
- order_target(stock, 0)
编辑完代码选择时间范围, 运行回测就能看到结果
回测结果:
来源: http://www.bubuko.com/infodetail-3260457.html