楼主: dana.quant
2539 3

[程序化交易] 【原创】【量化策略】海龟交易体系的小白构建(二)之交易实现 [推广有奖]

  • 0关注
  • 7粉丝

已卖:3份资源

硕士生

52%

还不是VIP/贵宾

-

威望
0
论坛币
1030 个
通用积分
0
学术水平
8 点
热心指数
14 点
信用等级
8 点
经验
3609 点
帖子
103
精华
1
在线时间
55 小时
注册时间
2015-8-30
最后登录
2016-5-17

楼主
dana.quant 企业认证  发表于 2015-9-15 12:32:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
此文章是接着【原创】【量化策略】海龟交易体系的小白构建(一)之交易法则
所用策略平台:ricequant,米筐科技的策略平台(www.ricequant.com)

不考虑N仅根据突破信号构建的策略

TurtleBreakthroughStrategy Code:

http://commons.apache.org/proper/commons-math/userguide/stat.html 中1.2节示范代码        DescriptiveStatistics forMax = new DescriptiveStatistics();        for (int i = 0; i < highPrice.length-1; i++) {            forMax.addValue(highPrice);        }        double max = forMax.getMax();        //获得过去10天最低价的最小值        DescriptiveStatistics forMin = new DescriptiveStatistics();        for (int i = 0; i < lowPrice.length-1; i++) {            forMin.addValue(lowPrice);        }        double min = forMin.getMin();                //获取初始资金        double initialCash = info.portfolio().getInitialCash();        //每次使用初始资金的1/10进行交易        double quantity = Math.floor(initialCash * 0.1 / stats.get(stockId).getLastPrice());        double curPosition = info.position(stockId).getNonClosedTradeQuantity();                //如当前价格向下突破最近20日最低价,则卖出上一次买入的持仓        if (stats.get(stockId).getLastPrice() < min) {            if (curPosition > 0) {                trans.sell(stockId).shares(quantity).commit();            }        }                //如当前价格突破最近55日最高价,则买入1/10初始资金所对应数量的持仓        if (stats.get(stockId).getLastPrice() > max) {            trans.buy(stockId).shares(quantity).commit();        }      });    });  }}

回测结果:
http://commons.apache.org/proper/commons-math/userguide/stat.html 中1.2节示范代码
        DescriptiveStatistics forMax = new DescriptiveStatistics();        for (int i = 0; i < highPrice.length-1; i++) {            forMax.addValue(highPrice);        }        double max = forMax.getMax();                //获得过去10天最低价的最小值        DescriptiveStatistics forMin = new DescriptiveStatistics();        for (int i = 0; i < lowPriceForExtremem.length-1; i++) {            forMin.addValue(lowPriceForExtremem);        }        double min = forMin.getMin();                double portfolioValue = info.portfolio().getPortfolioValue();        double atr = atrArray[atrLength.value-1];        informer.info(atr);        double unit = Math.floor(portfolioValue * .01 / atr);        //informer.info(unit);                //获取初始资金        double initialCash = info.portfolio().getInitialCash();        //每次交易一个单位        double quantity = unit;        double curPosition = info.position(stockId).getNonClosedTradeQuantity();                                //informer.info("lastPrice is " + stats.get(stockId).getLastPrice());        //informer.info("max is" + max);        //如当前价格向下突破最近20日最低价,则卖出上一次买入的持仓        if (stats.get(stockId).getLastPrice() < min) {            if (curPosition > 0) {                trans.sell(stockId).shares(quantity).commit();            }        }                //如当前价格突破最近55日最高价,则买入一个单位        if (stats.get(stockId).getLastPrice() > max) {            trans.buy(stockId).shares(quantity).commit();        }    });  }}

回测结果:

额,夏普比率终于过1了,与之前没有引入N的策略相比,表现有了很大提高,最大回撤也由47降低到28,这说明,海龟体系中引入的N,即根据过去价格波动幅度而调节开平仓的单位,是经受得住数据考验的。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:海龟交易 量化策略 交易体系 Breakthrough descriptive 量化策略 量化交易策略 quant python

已有 1 人评分经验 论坛币 收起 理由
fantuanxiaot + 80 + 80 精彩帖子

总评分: 经验 + 80  论坛币 + 80   查看全部评分

沙发
dana.quant 企业认证  发表于 2015-9-15 12:43:11
【原创】【量化策略】海龟交易体系的小白构建(三)之完全体系构建  https://bbs.pinggu.org/thread-3896404-1-1.html
已有 1 人评分经验 论坛币 收起 理由
fantuanxiaot + 70 + 70 精彩帖子

总评分: 经验 + 70  论坛币 + 70   查看全部评分

藤椅
leichuanmei 发表于 2016-3-11 09:57:58
内容精彩。

板凳
sukiyou2000 发表于 2016-3-11 11:44:46
继续学习

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-9 06:29