- 阅读权限
- 255
- 威望
- 1 级
- 论坛币
- 1457 个
- 通用积分
- 5.0477
- 学术水平
- 11 点
- 热心指数
- 14 点
- 信用等级
- 11 点
- 经验
- 3660 点
- 帖子
- 214
- 精华
- 0
- 在线时间
- 119 小时
- 注册时间
- 2016-9-24
- 最后登录
- 2020-4-8
讲师
还不是VIP/贵宾
- 威望
- 1 级
- 论坛币
- 1457 个
- 通用积分
- 5.0477
- 学术水平
- 11 点
- 热心指数
- 14 点
- 信用等级
- 11 点
- 经验
- 3660 点
- 帖子
- 214
- 精华
- 0
- 在线时间
- 119 小时
- 注册时间
- 2016-9-24
- 最后登录
- 2020-4-8
|
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
1.策略介绍及主要特点
策略介绍:
空中花园属于日内突破策略,是期货CTA日内策略。空中花园比较看重开盘突破。开盘时的高开或者低开均说明有大的利好或者利空使得开盘大幅远离昨天的收盘价。开盘突破,是最快的一种入场方式。当然出错的概率也最高。因此为了提高策略的胜率,空中花园策略加了额外的条件,也就是开盘要大幅高开或者低开,形成一个空窗,因此顾名思义称为空中花园,然后再根据是否突破上下轨来进行开仓判断。这样一来,策略的胜率将大大提高,不过由于对高开或者低开的幅度要求过高,一般是超过1%,因此使得策略的交易次数可能相对其它策略而言要偏低一些。开盘第一根K线是收阳还是收阴,是判断日内趋势可能运动方向的标准。在当天开盘高开或低开时更有效。
策略主要特点:
日内交易策略,当日收盘平仓; 空中花园在当天高开或低开时使用,即当开盘价>=昨天收盘价*1.01 或开盘价<=昨天收盘价*0.99 时:
- 上轨=第一根K线的最高价;
- 下轨=第一根K线的最低价;
- 当价格突破上轨,买入开仓;
- 当价格跌穿下轨,卖出开仓;
- 当日收盘平仓
2.策略代码
本策略的回测平台使用的是掘金量化平台,平台详细介绍及安装说明请见文后链接。
2.1配置文件
配置文件中,需要按照各自信息进行配置。
username:填写掘金平台账号;
password:填写掘金平台账号密码;
strategy_id:填写掘金平台上策略的strategy_id(友情提示,此处策略ID非策略名称);
subscribe_symbols:填写订阅的信号代码;
trade_symbol:填写交易信号代码;
策略ID获取步骤:
1)登陆掘金平台,创建策略,点击【模拟交易】,然后选择对应的策略。
2)进入策略后,在策略ID后,点击复制,即将策略ID复制成功
2.2策略代码
配置文件【SkyPark.ini】,代码:
- <font size="2"><font size="3" face="宋体">[strategy]
- ;td_addr=localhost:8001
- username=
- password=
- strategy_id=
- ;回测模式
- mode=4
- ;订阅代码注意及时更新
- subscribe_symbols=CFFEX.IF1707.tick,CFFEX.IF1707.bar.60
- [backtest]
- start_time=2017-06-01 09:00:00
- end_time=2017-07-13 15:00:00
- initial_cash=10000000
- transaction_ratio=1
- commission_ratio=0
- slippage_ratio=0
- [para]
- trade_symbol=CFFEX.IF1707
- first_kline_time=09:30:00
- first_kline_time1=09:31:00
- end_time=14:55:00
- open_long_size=0.01
- open_short_size=0.01
- </font></font>
复制代码 策略文件【SkyPark.py】(代码过大无法上传,具体见证经社——
http://***/q/forum.php?mod=viewthread&tid=55&extra=page%3D1)
3.代码涉及的函数代码
3.1python标准函数 | 功能 | 函数原型 | 参数 | 返回值 | 参数名 | 含义 | sys | 提供了一系列有关Python运行环境的变量和函数。 | | | | sys.argv[0] | 当前程序名 | | sys.argv | 获取当前正在执行的命令行参数的参数列表(list)。 | sys.argv | sys.argv[1] | 第一个参数 | | sys.argv[2] | 第二个参数 | | arrow | 标准的时间日期库。 | time | 返回当前时间的时间戳 | time.time() | | | 返回当前时间的时间戳 | len | 返回对象(字符、列表、元组等)长度或项目个数。 | len(s) | s | 对象 | 返回对象长度。 | append | 用于在列表末尾添加新的对象。 | list.append(obj) | obj | 添加到列表末尾的对象。 | 该方法无返回值,但是会修改原来的列表。 | 3.2掘金接口函数
| 功能 | 函数原型 | 参数 | 返回值 | 参数名 | 类型 | 说明 | on_bar | 响应Bar事件,收到Bar数据后本函数被调用。 | on_bar(bar) | bar | bar | bar数据 | 无 | open_long | 异步开多仓,以参数指定的symbol、价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口 | open_long(exchange, sec_id, price, volume) | exchange | string | 交易所代码, 如上交所SHSE | 委托下单生成的Order对象 | sec_id | string | 证券代码,如浦发银行600000 | price | float | 委托价,如果price=0,为市价单,否则为限价单 | volume | float | 委托量 | close_long | 异步平多仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。 | close_long(exchange, sec_id, price, volume) | exchange | string | 交易所代码, 如上交所SHSE | 委托下单生成的Order对象 | sec_id | string | 证券代码,如浦发银行600000 | price | float | 委托价,如果price=0,为市价单,否则为限价单 | volume | float | 平仓量 | open_short | 异步开空仓,以参数指定的symbol、价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口 | open_short(exchange, sec_id, price, volume) | exchange | string | 交易所代码, 如上交所SHSE | 委托下单生成的Order对象 | sec_id | string | 证券代码,如浦发银行600000 | price | float | 委托价,如果price=0,为市价单,否则为限价单 | volume | float | 委托量 | close_short | 异步平空仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。 | close_long(exchange, sec_id, price, volume) | exchange | string | 交易所代码, 如上交所SHSE | 委托下单生成的Order对象 | sec_id | string | 证券代码,如浦发银行600000 | price | float | 委托价,如果price=0,为市价单,否则为限价单 | volume | float | 平仓量 |
|
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|
|
|