源码如下:

%%商品期货趋势高频日内策略

%%商品期货高频趋势交易策略。标的为大豆、豆油、豆粕、玉米,跟踪强势领涨品种,适时买入同板块其他待涨的品种,数据是2013年4月12日的1分钟收盘价,具体策略是计算4个商品中当前价距离盘中最低价涨幅大于3的家数,如果家数超过2家则说明其他品种存在补涨机会,买入其余品种,涨幅大于3时卖出,其余收盘前平仓,策略采取滚动操作

w=windmatlab

%选取豆一、豆油、豆粕、玉米作为标的

strStockList='A1309.DCE,Y1309.DCE,M1309.DCE,C1309.DCE'

cellStockList=regexp(strStockList,'[,]','split');

%%读取历史交易分钟价格

Close=[];

for i=1:length(cellStockList)

[Close_Daily,~,~,DateTime]=w.wsi(cellStockList{i},'close','2013-04-12 00:00:00','2013-04-12 15:30:00','barsize','1');

Close=[Close,Close_Daily];

end

minBar=Close(1,:);

HighBar=Close(1,:);

[m,n]=size(Close);

%%设置交易状态初值

position=[0 0 0 0];%记录交易位置,1表示买入,-1表示卖出,0表示持仓

position_Buy=logical([1 1 1 1]);%记录可买状态,1表示可以买入,0表示不能买入

position_Sell=logical([0 0 0 0]);%记录可买状态,1表示可以卖出,0表示不能卖出

position_Price=[0 0 0 0];%记录买入价格

for i=2:m

%%买入条件

minBar=min([minBar;Close(i,:)]);

maxbar=max([minBar;Close(i,:)]);

sing_Buy=Close(i,:)-minBar>3;

conBuy_1=(sum(sign_Buy)>=2)*[1 1 1 1];%条件1:涨幅大于3的商品家数大于等于2

conBuy_2=Close(i,:)-minBar<=5;%条件2:涨幅小于3品种入选

conBuy_3=position_Buy;%条件3:当前处于可买状态,1可以买入,0表示不可买入

common=logical(conBuy_1.*conBuy_2.*conBuy_3);%买入条件交集,1表示条件都满足,0表示不能满足所有条件

position_Buy(common)=logical(false);%修改可以买状态,1表示可以买入,0表示不可买入

position_Sell(common)=logical(true);%修改可卖状态,1表示可以卖出,0表示不可卖出

position(i,:)=1*common;%记录买入位置,1表示买入,-1表示卖出,0不变

position_Price(common)=Close(i,common);%记录买入价格

%%卖出条件

conSell_1=logical((Close(i,:)-position_Price>3).*(Close(i,:)-position_Price<1000));%条件1:收益大于3时卖出

conSell_2=position_Sell;%条件2:当前处于可卖状态

common=logical(conSell_1.*conSell_2);%卖出条件集

position_Buy(common)=logical(true);%修改可买状态,1表示可以买入,0表示不可买入

position_Sell(common)=logical(false);%修改可卖状态,1表示可以卖出,0表示不可卖出

position(i,:)=position(i,:)+(-1)*common;%记录买入状态,1表示买入,-1表示卖出,0不变

position_Price(common)=0;%清除买入价格

minBar(common)=Close(i,common);%更新最低价

maxbar(common)=Close(i,common);%更新最高价

end

%%买入与卖出配成对,如果最后一次交易只用买入,按收盘价平仓

sign_pair=sum(position)==1;

sign_pair=sign_pair.*position(end,:)==1;

position(end,logical(sign_pair))=0;

sign_pair=sum(position)==1;

position(end,logical(sign_pair))==-1;

%%计算收益

Return = nansum(Close.*position)

matlab 定义一个cell,未定义与 'cell' 类型的输入参数相对应的函数 'min'。相关推荐

  1. matlab报错之未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘tf‘

    前言:一方面是为了自己学习的记录:另一方面是让有同样困惑的同学有个应对的办法. num =[1,7,24,24]; den =[1,10,35,50,24]; G = tf(num,den); roo ...

  2. matlab 手工实现normalize函数 未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘normalize‘

    matlab自带的normalize函数有时候总抽风不好使: 未定义与 'double' 类型的输入参数相对应的函数 'normalize' 不过考虑到这个东西本身也不难,无非就是这么个公式:Xi−μ ...

  3. matlab参数数目不足lorenz,求指导,MATLAB程序,老是提示这个“未定义与 'double' 类型的输入参数相对应的函数 'genfisl'。”错误,...

    答:不要帖图,否则看不出是咋回事,要程序可调试.利用, >> help genfisl genfisl not found. Use the Help browser search fie ...

  4. matlab没有int函数,matlab 未定义与 'char' 类型的输入参数相对应的函数 'int'。

    最后你那zd句plot(int(k),double(s));里的int(k);不对.你如果想以k为横坐标,直接把int去掉,如回果非想要变成整数可以用floor(k);注:fix:向零取整 floor ...

  5. matlab boundaries和fchcode函数无法执行的解决办法 未定义与 'double' 类型的输入参数相对应的函数 'boundaries'

    在测试代码时发现,自己的matlab无法执行Freeman链码函数: boundaries和fchcode函数都无法正常运行: 需要在自己的工作目录中添加如下函数: boundaries   fchc ...

  6. 用MATLAB仿真SCARA机器人,报错:未定义与 ‘char‘ 类型的输入参数相对应的函数 ‘Link‘

    在使用MATLAB仿真SCARA机器人的时候报错如下 是因为我们没有安装Robotics Tools工具箱,解决办法: https://blog.csdn.net/u011831805/article ...

  7. matlab中的uint8函数,未定义与 'uint8' 类型的输入参数相对应的函数 'fitnessty'

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 程序如下: clear all clc tic popsize=15; lanti=10; maxgen=50; cross_rate=0.4; muta ...

  8. matlab int8 函数,未定义与 'uint8' 类型的输入参数相对应的函数 'fitnessty'

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 程序如下: clear all clc tic popsize=15; lanti=10; maxgen=50; cross_rate=0.4; muta ...

  9. 未定义与 struct 类型的输入参数相对应的函数 fetch_引入鲁棒性作为连续参数,这种新损失函数实现了自适应、随时变换...

    编辑:陈萍 损失函数是机器学习里最基础也是最为关键的一个要素,其用来评价模型的预测值和真实值不一样的程度.最为常见的损失函数包括平方损失.指数损失.log 对数损失等损失函数.这里回顾了一种新的损失函 ...

  10. 未定义与 double 类型的输入参数相对应的函数 eval_点评一下鸿蒙os的时钟计算函数...

    鸿蒙os liteos-m版,是面向嵌入式的分支,看代码 arch 目录下,有 cortex m4 架构的支持的代码. cortex m4相对于其他mcu芯片的优势,支持浮点.dsp等运算,适合某些需 ...

最新文章

  1. 如何防止博客文章被窃取
  2. html制作nba网页,NBA篮球_实用电脑小技巧:通俗解答html 自己动手建一个非常简单的网页_沪江英语...
  3. apache tomcat下32还是64_linux平台下Tomcat的安装与优化
  4. 【作业】第六章 面向对象基础
  5. flume与Mosquitto的集成
  6. 《人月神话》阅读体会(二)
  7. python中获取异常描述与else用法
  8. 数学大家闵嗣鹤:生死哥德巴赫猜想
  9. python 第一行 报错_初学Python-只需4步,爬取网站图片
  10. fail-fast与fail-safe工作机制
  11. 中山大学计算机专业研究生报录比,中山大学报录比(中山大学2019各专业报录比)...
  12. mysql 组内排名_【原】MySQL分组排序(包含组内排名、求中位数)
  13. 2019PKU\THU WC题解
  14. 事务到底是隔离的还是不隔离的?
  15. 无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域。...
  16. php db类 应用实例,PHP-Laravel(DB类操作数据库)
  17. umijs有什么好处_umijs核心代码解读
  18. 无监督学习之稀疏编码,自编码
  19. SAP文件上传服务器并下载
  20. 改oracle sockets,安装GI最后检查时出现warning - Domain Sockets,PRVG-11750

热门文章

  1. Google 机器学习术语表
  2. pwnable.kr-passcode WP
  3. 幻立方解法之素数3阶幻立方
  4. oracle 此处不允许序号
  5. C++ bit field 位域/位段
  6. 图像处理:图像清晰度评价
  7. b站下载器,支持分辨率登录,带弹幕,简洁bilili
  8. leetcode 838.推多米诺
  9. VS2013 OpenCV 2.4.9 “HEAP:Invalid Address specified to RtlValidateHeap( 000D0000, 019FEF18 )” 错误
  10. 广告系统,业务与架构细节