楼主: 挖矿专家
6112 4

[源码分享] 【每日一策】Matlab量化交易策略之 LLT原始 [推广有奖]

  • 0关注
  • 74粉丝

讲师

22%

还不是VIP/贵宾

-

威望
0
论坛币
2016 个
通用积分
5.2622
学术水平
21 点
热心指数
21 点
信用等级
21 点
经验
6055 点
帖子
403
精华
0
在线时间
151 小时
注册时间
2017-2-8
最后登录
2017-6-27

楼主
挖矿专家 发表于 2017-3-17 11:29:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
策略思路:
LLT择时模型,低延迟趋势线,利用最近20个LLT指标数值,大部分LLT呈现上涨(斜率为正),做多;大部分下跌(斜率为负),做空;反向出场。

回测曲线(由Auto-Trader提供回测报告):

LLT原始.png

策略代码:

function LLTg(freq)targetList = traderGetTargetList();HandleList = traderGetHandleList();for i=1:length(targetList)    marketposition=traderGetAccountPosition(HandleList(1),targetList(i).Market,targetList(i).Code);    barnum=traderGetCurrentBar(targetList(i).Market,targetList(i).Code);    len=60;    dlen=60;    [time,open,high,low,close,volume,turnover,openinterest] = traderGetKData(targetList(i).Market,targetList(i).Code,'min',freq, 0-len, 0,false,'FWard');    [Dtime,Dopen,Dhigh,Dlow,Dclose,Dvolume,Dturnover,Dopeninterest] = traderGetKData(targetList(i).Market,targetList(i).Code,'day',1, 0-dlen, 0,false,'FWard');    if length(close)<len+1||length(Dclose)<dlen+1        continue;    end    a=2/(1+30);%d=30    %计算操作指标    lltv=LLT(close,a);    k=lltv(2:end)>lltv(1:end-1);    con1=sum(k(end-20:end))>=fix(0.9*21)&&k(end)==1;%斜率为正,上升阶段    con2=sum(k(end-20:end))>=fix(0.1*21)&&k(end)==0; %斜率为负,下降阶段        shareNum=1;        %%    if  marketposition==0        if con1            %             traderBuy(HandleList(1),targetList(i).Market,targetList(i).Code,shareNum,0,'market','buy');%开多单            orderID = traderBuy(HandleList(1),targetList(i).Market,targetList(i).Code,shareNum,0,'market','1');        elseif con2            orderID = traderSellShort(HandleList(1),targetList(i).Market,targetList(i).Code,shareNum,0,'market','1');        end    end        if  marketposition>0 &&con2        order= traderPositionTo(HandleList(1),targetList(i).Market,targetList(i).Code,0,0,'market','sell');%平多单    end        if  marketposition<0 &&con1        traderBuyToCover(HandleList(1),targetList(i).Market,targetList(i).Code,shareNum,0,'market','buytocover');%平空单    end        endendfunction LLTv=LLT(price,a)LLTv=zeros(length(price),1);LLTv(1:2)=price(1:2);for i=3:length(price)    LLTv(i)=(a-a^2/4)*price(i)+(a^2/2)*price(i-1)-(a-3*a^2/4)*price(i-2)+2*(1-a)*LLTv(i-1)-(1-a)^2*LLTv(i-2);endend


更多免费策略源码下载请登录DigQuant社区-策略资源下载~
二维码

扫码加我 拉你入群

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

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


沙发
peppep 发表于 2017-3-21 16:33:16
期待下一篇~~已关注楼主~~~

藤椅
ghjktdf 发表于 2017-3-22 10:12:21
楼主好人~

板凳
ydc129 发表于 2017-3-29 22:12:16
谢谢分享

报纸
ghjktdf 发表于 2017-3-31 18:42:27

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

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2026-1-29 04:14