文华-第10讲-如何优化你的交易策略ppt课件

上传人:资****亨 文档编号:133681764 上传时间:2020-05-29 格式:PPT 页数:73 大小:4.30MB
返回 下载 相关 举报
文华-第10讲-如何优化你的交易策略ppt课件_第1页
第1页 / 共73页
文华-第10讲-如何优化你的交易策略ppt课件_第2页
第2页 / 共73页
文华-第10讲-如何优化你的交易策略ppt课件_第3页
第3页 / 共73页
文华-第10讲-如何优化你的交易策略ppt课件_第4页
第4页 / 共73页
文华-第10讲-如何优化你的交易策略ppt课件_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《文华-第10讲-如何优化你的交易策略ppt课件》由会员分享,可在线阅读,更多相关《文华-第10讲-如何优化你的交易策略ppt课件(73页珍藏版)》请在金锄头文库上搜索。

1、 文华财经研究部 课程内容 一 如何优化交易策略二 拓展思路 一 如何优化交易策略 1 减少盘整行情中的交易次数2 优化进出场点3 及时进行止损 1 减少盘整行情中的交易次数 很多趋势模型 在行情出现趋势的时候 都可以很好的抓住趋势 实现盈利 但长期运行下来 最终的结果却是小赚甚至亏钱 问题出在哪里 原因在于 盘整行情中模型在不断的反复交易 而盘整中的交易都是不盈利甚至亏损的 行情中绝大部分又都是盘整行情 长时间的连续小亏损导致之前的利润全部回吐 注 图片经过反色处理 并非白色时尚风格 PANZHENG判断当前行情是否为盘整注 返回1 表示盘整 返回0 表示不是盘整 作用一 增加收益率简单的均

2、线模型 MA1 MA C 5 MA2 MA C 10 CROSS MA1 MA2 BPK CROSS MA2 MA1 SPK AUTOFILTER 这段行情中实现盈利77040元 加入PANZHENG函数 在盘整行情中不开仓做多代码如下 MA1 MA C 5 MA2 MA C 10 CROSS MA1 MA2 做多实现盈利179580元 加入PANZHENG函数 在盘整行情中不开仓做空代码如下 MA1 MA C 5 MA2 MA C 10 CROSS MA2 MA1 加入盘整函数后 做空亏损44100元 未加入盘整函数前 这段行情中多空共实现盈利77040元加入盘整函数后 做多实现盈利1795

3、80元 做空亏损44100元这段行情中多空共实现盈利135480元加入盘整函数后 盘整行情交易次数大量减少 从而减少了亏损总盈利提升76 作用二 减小最大回撤均线模型 PTA指数 2010 1 1至今的测试结果代码如下 MA10 MA C 10 C MA10 BPK 价格大于10周期均线 做多C MA10 SPK 价格小于10周期均线 做空AUTOFILTER 模型虽然有年化55 的收益率 但也有65 的权益最大回撤 如此大的回撤导致模型的实际可用性大大降低 加入PANZHENG函数后 代码如下MA10 MA C 10 C MA10 胜率提升14 盈利率提升37 最大回撤减少45 年化盈利率提

4、升21 单次交易盈利能力提升40 减少盘整行情中的交易次数后 不仅仅盈利能力得到提升 模型的稳定性同时也得到大幅度提升 大大提高了模型的可执行性 2 优化进出场 大部分趋势模型采用趋势突破或者趋势跟踪的方法捕捉趋势 通常情况下 信号都出现在一根较长的k线上 如果使用收盘价模型 入场点在下根k线的开盘价上 因此会错过突破这根长k线的最佳入场时间 无形中损失掉很大一笔到手的利润 出场时也是如此 那么怎么才能以最优的价格进出场 得到更多的利润呢 如何实现在k线没有走完之前进出场呢 指令价模型 收盘价模型 红圈位置 由于k线当根涨幅较大或者第二根跳空 损失较多利润甚至盈利变为亏损 指令价模型具有明显的

5、进出场优势 红线为买开仓价绿线为卖平仓价 如何实现更具有优势的价格进场 CHECKSIG 模型中加入CHECKSIG函数 可以实现出信号立即发出委托 信号复核的意义 指令价模型 如果策略设计思路不够严谨 可能会产生信号出现后 再次消失的情况 称之为信号忽闪 即开错仓或者平错仓 这时可以使用信号复核进行恢复持仓的操作 CHECKSIG SEC设置信号复核确认方式 基础数据为TICK数据 CHECKSIG MIN设置信号复核确认方式 基础数据为1分钟数据 用法 CHECKSIG SEC SIG MODE1 TIME1 MODE2 TIME2 SIG为信号 MODE1为信号确认方式 TIME1信号确

6、认时间 MODE2信号复核方式 TIME2信号复核时间 几种典型的信号复核确认方式对应的写法举例 CHECKSIG SEC SIG A 0 D 0 出信号立即下单 K线走完复核CHECKSIG SEC SIG A N D 0 出信号N秒确认信号下单 K线走完复核CHECKSIG SEC SIG A N C 0 出信号N秒确认信号下单 不进行复核CHECKSIG SEC SIG B N D 0 K线走完前N秒确认信号下单 K线走完复核CHECKSIG SEC SIG B N C 0 K线走完前N秒确认信号下单 不复核 模型中加入CHECKSIG 在实现指令价模型的同时 可以针对不同指令实现不同的

7、信号复核方式 让交易策略的实现更加灵活 如 CHECKSIG SEC BK A 0 D 0 出信号立即下单 K线走完复核买开仓信号出现 立即发出委托 K线走完如果信号存在 则无需进行处理 如果K线走完信号消失 则恢复原状 即平掉多单 例 交易中开仓多采用k线走完前N秒下单 以保证进场准确性 避免因行情波动而频繁开平仓 从而增加交易成本平仓多采用出信号立即下单执行 保证单子能够及时出场 避免持仓过久导致无法及时止损和降低盈利空间 源码 MA5 MA C 5 MA10 MA C 10 RSV CLOSE LLV LOW 9 HHV HIGH 9 LLV LOW 9 100 K SMA RSV 3

8、1 D SMA K 3 1 EVERY MA5 MA10 5 如何实现指令价模型 模型中加入CHECKSIG 根据MIN或SEC基础数据 补充数据 补充1分钟数据或tick数据 基础数据为1分钟 在k线图上点击右键 补充1分钟数据 加载回测 Tick数据默认后台自动下载 是不是所有的模型用指令价效果都要优于收盘价呢 答案是否定的 究竟用指令价效果好还是收盘价效果好 还要根据交易策略决定 一些交易逻辑简单的模型 指令价或者收盘价效果区别较小 但收盘价模型无法处理更加细致的交易逻辑 就需要采用指令价了 指令价优于收盘价的模型 收盘价优于指令价的模型 历史回测 LL数值为2585 8价格为2585

9、6时满足SP信号条件 但盘中价格断档 所以回测结果为9 37 24时的价格2585 4 Wh8 2是国内程序化平台中唯一提供指令价模型tick回测的程序化交易软件 是历史回测最精准的程序化交易软件 是否支持指令价委托并不重要 重要的是是否支持回测 3 及时止损 期货价格瞬息万变 经常会出现价格瞬间拉升 接着就瞬间回吐的情况 拉升时模型出现开仓信号 如果遇到秒杀行情 不能够及时平仓 往往会带来较大的亏损 能否处理好秒杀行情 已经成为重点解决的问题 如何才能做到同一根k线开仓后快速止损呢 指令价模型 回撤止盈策略 在这种秒杀行情中 行情已经逆转 收盘价模型 还在执行上根k线的买开仓指令 显然是错误

10、的 导致亏损 而指令价模型 则可以当根k线同时完成进场和止盈动作 保证既得利润 收盘价模型 红线为买开仓价绿线为卖平仓价 如何实现在一根k线上更加灵活的进出 MULTSIG 模型中加入MULTSIG函数 可以在一根k线上交易多次 模型中加入MULTSIG 在实现指令价模型的同时 同时可以实现在一根k线上反复进行交易 实现更精致的交易策略 可以很好的规避掉秒杀行情 C REF H 1 BK 价格大于上一根k线最高价 开多仓C BKPRICE 3 MINPRICE SP 亏损3点止损MULTSIG SEC 0 0 3 开仓信号 出信号立即下单 不复核 平仓信号出信号立即下单 不复核 一根K线上最大

11、信号个数为3 AUTOFILTER 例 开仓当根k线如果满足止损条件 说明行情处于震荡区间 开仓方向判断有误 应当立即止损出场 避免更大亏损 收盘价模型 只能在下一根k线的开盘时止损ST ABS C O ST MA ST 20 加入MULTSIG函数 实现在同一根k线上开仓后及时止损 亏损变为盈利 ST ABS C O ST MA ST 20 二 拓展思路 1 拓展思路 指数交易2 如何解决移仓换月问题3 拓展思路 结合盘口数据研发策略 用指数回测本身是没有问题的 因为指数连续性好 能反应某个品种的连续走势 但现实中很多人发现 指数测试效果盈利 但是实盘跑下来确实亏钱的 为什么会出现这种情况呢

12、 导致历史回测和实盘差距较大的一个因素 指数回测并计算交易结果指数本身并不能交易 指数的价格并不是当时交易合约的价格 就会导致与实际交易不符的情况我们能不能测试出指数和实际交易差别的真实情况呢 1 拓展思路 指数交易 TRADE OTHER CODE 指定CODE合约为交易合约 CODE为合约代码 注 1 回测时 信号价格取值为该函数定义的交易合约的信号价格 模组加载时 数据合约为加载模组时选择的数据合约 交易合约为该函数指定的合约 不写入该函数时 交易和数据合约一致 2 该函数写为TRADE OTHER AUTO 时 可以加载到主连合约 实现自动换月移仓 3 从数据合约的数据和指定交易合约的

13、数据对齐的位置开始计算信号 4 1 CODE位置写为 AUTO 时 该函数可以和CHECKSIG SEC CHECKSIG MIN MULTSIG SEC MULTSIG MIN CLOSEKLINE MIN函数连用 2 CODE位置为具体合约时 该函数可以和CLOSEKLINE MIN CHECKSIG MIN MULTSIG MIN函数连用 不支持和CHECKSIG SEC MULTSIG SEC函数连用 5 1 CODE位置写为 AUTO 时 该函数可以加载到主连上 不可以加载到指数 主指和其他具体合约上 2 CODE位置为具体合约时 该函数可以加载到到所有合约上 6 该函数必须在有信号

14、的模型中使用 7 TRADE OTHER函数不支持加载到副图中 8 CODE位置写为合约代码时 该函数不支持加载到TICK周期 量能周期 秒周期上使用 CODE位置写为 AUTO 时 该函数不支持加载到日线以上周期使用 9 CODE位置不支持写入文华码 10 CODE写为 AUTO 时 不支持加载到页面盒子中 一个均线模型 在未指定交易合约的时候 测试结果如下 MA10 MA C 10 MA30 MA C 30 EVERY C MA10 4 模型在指数上计算信号 交易也直接在指数上进行 而现实中指数是无法完成交易的 这种测试结果的真实性就无法保证 那么真实的情况是什么样的 加入TRADE OT

15、HER函数测试结果为 MA10 MA C 10 MA30 MA C 30 EVERY C MA10 4 我们指定RB1501为交易合约后 发现盈利并没有明显变化 说明指数开平仓价格的价差 和具体合约比较接近 但这是真实的情况吗 下图是螺纹1501合约 2014年6月3号至今的走势 红圈中交易量较少 在这个时间段中出现的信号 很难完成交易或者将付出较大的滑点成本 必定会导致盈利的减少 那么如何知道最终的真实的交易结果 我们在模型中加入了流动性限制 即成交量 根据经验螺纹的成交量应该在50万手以上的时候 才能够使交易顺畅 即指定交易合约又保证流动性的代码如下 MA10 MA C 10 MA30 M

16、A C 30 EVERY C MA10 4 VV为跨合约引用RB1501的成交量 当我们加入了流动性限制后 发现真实的交易情况 比开始的测试结果又差了一些 这才是真实的结果 真实的结果 所以 是否支持指数映射到主力合约交易并不重要 重要的是我们是否可以测试出这种映射交易的真实结果 2 如何解决移仓换月问题 我们常常会这样做 模型加载在指数合约上 指定主力合约为交易合约 只要主力合约切换 就自动移仓 这种方法正确吗 正确的方法应该是怎么样的 我们可以测试出来吗 有没有更好的方法 我们能找到吗 指数加载模型 自动移仓换月 会产生较大的移仓成本MA10 MA C 10 MA30 MA C 30 EVERY C MA10 4 怎么做才能解决指数加载模型 移仓换月的问题呢 2014 10 20 主力合约切换为1505 螺纹1501一直到11 24日都可以持续交易 整整延迟一个月 即节省了移仓成本 又可以抓住新的交易机会 按照经验 螺纹50万手以上的交易量 交易可以进行的比较流畅 螺纹主连合约 螺纹1501合约 2014 11 24 更好的方法是 加载两个模型 分别交易新主力合约和老主力合约 在保

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号