一个matlab小程序:挑出沪市A股年报与一季度报在同一天发布的股票

function [a,b,c]=sameday(x,y)
% x,y分别是年报与次年一季度报的发布时间,其格式是:股票代码  公告年  季  发布年  月  日;

%  有些x和y的数据记录可能有重复,就是相邻两行的数据相同。下面两段程度分别去掉x和y中重复记录的部分数据;
id=zeros(size(x,1),1);
for i=2:size(x,1)
    if x(i,1)==x(i-1,1)
        id(i)=i;
    end
end
id=find(id(:,1)==0);
x=x(id,:);

id=zeros(size(y,1),1);
for i=2:size(y,1)
    if y(i,1)==y(i-1,1)
        id(i)=i;
    end
end
id=find(id(:,1)==0);
y=y(id,:);

% 由于数据不全,可能某些股票只有年报或一季度报的数据,下面两段程序找出同时又年报和一季度报数据的股票,并赋值给a和b;
id=zeros(size(x,1),1);
for i=1:size(x,1)
    if any(y(:,1)==x(i,1))
        id(i)=i;
    end
end
id=find(id(:,1)~=0);
a=x(id,:);

id=zeros(size(y,1),1);
for i=1:size(y,1)
    if any(a(:,1)==y(i,1))
        id(i)=i;
    end
end
id=find(id(:,1)~=0);
b=y(id,:);

% 找出年报与一季度报在同一天发布的股票,赋值给c;
if any(a(:,1)-b(:,1)~=0)
    fprintf('Something goes wrong\n')
else
    c=[a,b(:,[2:end])];
    id=find( (c(:,1)>=600000)&(c(:,5)==c(:,10)) & (c(:,6)==c(:,11)) );
    c=c(id,:);
end

转载于:https://www.cnblogs.com/mphyfin/archive/2011/07/03/2096847.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值