楼主: 点宽DigQuant
901 0

[其他] 【点宽专栏】中国海龟——在实盘大赛中获奖的NEWS系统解密 [推广有奖]

  • 0关注
  • 4粉丝

本科生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.5552
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
990 点
帖子
35
精华
0
在线时间
34 小时
注册时间
2020-12-14
最后登录
2023-3-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币







作者:吴雨豪

北师大珠海校区 | 金融数学 | 本科

点宽量化俱乐部第一期会员


本节提要

提及趋势跟踪, 我们不得不涉及在该领域有至高地位的海龟交易法则。与原版的海龟交易法则不同, 这里更重视的是动态风险的管理。与其臆测市场未来的波动性水平,不如援引动态参数。


背景


提及趋势跟踪, 我们不得不涉及在该领域有至高地位的海龟交易法则, 在趋势跟踪领域, 它的地位可能不亚于《圣经》之于耶稣教。1971年,海龟交易法则创始人理查德·丹尼斯以600美金入市, 至1987年在剔除众多的该基金捐赠之后, 本金仍升逾2亿美金。简单地说, 海龟交易法则就是上涨突破20周期或55周期的最高价后做多, 下跌突破20周期或55周期的最低价做空。然后, 以2/N为单位进行三次加仓(N是该品种的平均周期波动性水平)。


曾经在美国期货市场上大获成功的海龟交易法则是否同样适用于中国期货市场呢?带着这样的疑问, 2007年, 将海龟交易法则略做修改后, 将其命名为NEWS交易系统模型, 并且以完全按照系统信号的机械化交易模式报名参加了第七届中期杯实盘交易大赛。在不到半年(2007年5~10月)的参赛时间里面,取得了百分之105的收益率回报。


中国版海龟思维


在常态市场的应用中, 贯穿过程中的 “ 停、 走 ” 概念, 可以有效地回避该系统可能带来的巨幅资金回撤, 换句话说, 该系统并非持续在市, 当然,如果将 “ 停、 走” 引申为一种头寸调整的方法, 也可以让它持续在市。何时获利了结中断系统的运行?何时增、 减仓?与原版的海龟交易法则不同, 我更重视的是动态风险的管理。所谓动态风险, 就是当前交易信号的反向位置可能带来的最大损失(没有考虑到隔夜直接以反向涨、 跌停板跳空的情形)。


每一笔交易,最多愿意承受多大的损失?所有的交易,假如集体失败,最多面临多大的损失合计?这就是动态风险管理的基础。值得提醒的是,这种考量在日线级别下, 是基于每天的收盘价, 而非该笔交易的初始建仓成本。以NEWS系统为例, 我们不难得到反向交易系统信号的位置, 以及对应头寸可 能带来的亏损金额, 与我们预设的风险水平核对, 我们就不难形成头寸增减的交易决策。这样操作的意义在于每一笔交易、 每一天的交易,我们始终承受着同样水平的风险。


传统的观点认为, 如果市场始终维持一个足够高水平的波动性, 那么,趋势系统永远都不会失效。对于这个观点, 我有一点补充:趋势系统的参数必须与市场的波动性水平相吻合。否则, 仍然有可能无法盈利。1987年, 海龟交易法则的惨败:1991年, 理查德·丹尼斯改用调大参数后的海龟交易法则 重出江湖, 都印证着这个道理。


“惶恐滩前说惶恐, 零丁洋里叹零丁“,与其臆测市场未来的波动性水平, 不如援引动态参数, 根据市场实际波动性的水平, 自动调整趋势系统的参数。


加入了动态调整系统参数的NEWS系统交易模型思路

EF=(HHV(C,N1)-LLV(C,N1))/SUM(ABS(C-REF(C,N1)),N1);

EF10=EMA(EF, N2);

CLOSE > REF (HHV (HIGH, INTPART (10-(EF10-0.5)×10)), 1), BPK;

CLOSE < REF (LLV (LOW, INTPART (10-(EF10-0.5)×10)), 1), SPK;

策略代码分享


4.1策略文件(滑动屏幕查看完整代码)function  chinatt(Int,Begin,cellPar)
%UNTITLED2 此处显示有关此函数的摘要
global idexK
global Tlen
global TimeDT
global TimeKT
N1=cellPar{1};
N2=cellPar{2};
if Int
   traderSetParalMode(false);
   idexK=traderRegKData('day',1);
   Tlen=length(idexK(:,1));
   TimeDT=zeros(Tlen,1);
   TimeKT=zeros(Tlen,1);
else
   %提取数据
   [mp,~,~] = traderGetAccountPositionV2(1,(1:Tlen));
   [~,HandListCap,~,~,~]=traderGetAccountInfoV2(1);
   iddexK = traderGetRegKData(idexK, 100, false);
   [Multiple, ~, ~, ~, ~, ~, ~] = traderGetFutureInfoV2(1:Tlen);
   for i=1:Tlen
       idddexK=iddexK(1+8*(i-1):8*i,:);
       time=idddexK(1,:);
       high=idddexK(3,:);
       low=idddexK(4,:);
       close=idddexK(5,:);
       sharenum=floor(HandListCap*0.8/close(end)/Multiple(i)/Tlen);
       %指标计算
       diff=close(N1+1:end)-close(1:end-N1);
       EF=(max(close(end-N1+1:end))-min(close(end-N2+1:end)))/sum(abs(diff(end-N1+1:end)));
       EF10=EMA(EF,N2);
       t=floor(10-(EF10-0.5)*10);
       if isnan(t)
           continue;
       end
       conbuy=close(end)>max(high(end-t:end-1));
       consell=close(end)<min(low(end-t:end-1));
       %开平仓动作
       if mp(i)==0
           if conbuy
               traderBuyV2(1,i,sharenum,0,'market','buy');
           elseif  consell
               traderSellShortV2(1,i,sharenum,0,'market','sell');
           end
       elseif mp(i)>0
           if consell
               traderPositionToV2(1,i,0,0,'market','stop');
           end
       elseif  mp(i)<0
           if conbuy
               traderPositionToV2(1,i,0,0,'market','stop');
           end
       end
   end
end
end
function EMAValue=EMA(Price,Length)
EMAValue=zeros(length(Price),1);
K=2/(Length+1);
for i=1:length(Price)
   if i==1
       EMAValue(i)=Price(i);
   else
       EMAValue(i)=Price(i)*K+EMAValue(i-1)*(1-K);
   end
end
end

4.2执行文件(滑动屏幕查看完整代码)targetList1 = traderGetCodeList('dce000');
targetList2 =traderGetCodeList('czce000');
targetList3 = traderGetCodeList('shfe000');
targetList=[targetList1,targetList2,targetList3];
targetList=targetList([ 5 7 8 12 14 16  33  40  43 44 ]);
traderSetBacktest(100000000,0.0025,0.02,0,1,0,0);
AccountList(1) = {'FutureBackReplay'};
N1=9;
N2=11;
traderRunBacktestV2('chinatt',@chinatt,{N1,N2},AccountList(1),targetList,'day',1,20110101,20170820,'FWard');

回测表现


随机挑选出10种不同类型同时成交量活跃的商品期货

自2010年至2017年进行回测



&#128071;点宽精品课程推荐&#128071;


&#128161;本周值得读的文章&#128161;

&#128073;  2020“大湾区杯”粤港澳金融数学建模竞赛获奖名单

&#128073;  2020“大湾区杯”粤港澳金融数学建模竞赛优胜奖名单

&#128073;  点宽金融科技实验室预研课题新进展


                                                      


二维码

扫码加我 拉你入群

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

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

关键词:EWS 中国海 NEW accountinf position

已有 1 人评分经验 收起 理由
wwqqer + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

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

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 13:25