第一创业证券开户,注册一创聚宽后点击我的策略可以看到一个样板策略如下。
# 导入函数库
import jqdata
# 初始化函数,设定要操作的股票、基准等等
def initialize(context):
# 定义一个全局变量, 保存要操作的股票
# 000001(股票:平安银行)
g.security = '000001.XSHE'
# 设定沪深300作为基准
set_benchmark('000300.XSHG')
# 开启动态复权模式(真实价格)
set_option('use_real_price', True)
# 每个单位时间(如果按天回测,则每天调用一次,如果按分钟,则每分钟调用一次)调用一次
def handle_data(context, data):
security = g.security
# 获取股票的收盘价
close_data = attribute_history(security, 5, '1d', ['close'])
# 取得过去五天的平均价格
MA5 = close_data['close'].mean()
# 取得上一时间点价格
current_price = close_data['close'][-1]
# 取得当前的现金
cash = context.portfolio.cash
# 如果上一时间点价格高出五天平均价1%, 则全仓买入
if current_price > 1.01*MA5:
# 用所有 cash 买入股票
order_value(security, cash)
# 记录这次买入
log.info("Buying %s" % (security))
# 如果上一时间点价格低于五天平均价, 则空仓卖出
elif current_price < MA5 and context.portfolio.positions[security].closeable_amount > 0:
# 卖出所有股票,使这只股票的最终持有量为0
order_target(security, 0)
# 记录这次卖出
log.info("Selling %s" % (security))
# 画出上一时间点价格
record(stock_price=current_price)
点击模拟交易,可以根据既有策略和回测创建模拟交易
创建实盘策略的步骤如下,策略会被审核以确保满足监管要求
具体监管要求体现如下,简而言之,不能有过高的下单频率,撤单频率,以及下单金额。
实盘手机上即可开通,开通后可以根据指定策略的某一次回测新建实盘交易(同一个策略的不同回测体现为策略的超参数不同)
以上面的简单策略为例进行回测,结果报表会显示策略的各种评价指标
点击右上角导出,可以导出交易详情等细节信息。