1、策略
先看一个非常简单的交易策略:
为了让这个策略能让计算机执行,首先,要使策略符合“初始化+周期循环”框架,像这样:
2、什么是“初始化+周期循环”框架?
3、如何把策略变成计算机可执行的程序?
4、如何将策略写成代码?
“初始化+周期循环”框架代码的两种写法:
1.写法一
def initialize(context):
这里是用来写初始化代码的地方,例子中就是选定要交易的股票为平安银行
def handle_data(context,data):
这里是用来写周期循环代码的地方,例子中就是买100股的平安银行2.写法二
def initialize(context):
run_daily(period,time='every_bar')
这里是用来写初始化代码的地方,例子中就是选定要交易的股票为平安银行
def period(context):
这里是用来写周期循环代码的地方,例子中就是买100股的平安银行5、代码应该往哪里写
聚宽网址
1.来到聚宽网站后,通过导航栏-我的策略-策略列表,点击新建策略

2.进入策略编辑页,左侧就是策略代码编辑区域,初始会默认给你提供代码模板,全删除后写入我们的代码就好了。

6、两种写法用哪个好?
1、编写代码
1.选定要交易的股票为平安银行
g.security = '000001.XSHE'2.买100股的平安银行(市价单写法):
order(g.security, 100)3.以写法二为例把剩下的代码补上后,完整代码为
# 导入函数库
from jqdata import *
# 初始化函数,设定基准等等
def initialize(context):
run_daily(period,time='every_bar')
# 选定要交易的股票为平安银行
g.security = '000001.XSHE'
def period(context):
# 买100股的平安银行(市价单写法)
order(g.security, 100)2、设置好初始资金与起止时间
比如初始资金100000元,起止时间20160601-20161231),频率设置成天。点击编译运行,运行结束后就可以看到结果

可以看到,若你20160601有初始资金100000元,每个交易日尝试买100股的平安银行,到20161231,你的收益曲线将如图中蓝线般增长。图中红线是基准收益(默认是沪深300指数,代表整个市场增长水平)
3、接下来,点击运行回测,运行结束后就可以看到更为详细的结果,包括下单记录、持仓记录等。

4、回测、编译运行、运行回测都是什么意思?