用matlab简单计算股票保本价代码

编程小白,因为发现手机炒股老是亏钱(说的好像算出保本价就不会亏了一样),所以花了一个下午(不算搜集规则的时间,可真菜)用matlab写了个保本价计算代码,多bb不好,直接上图,程序核心思路很简单,就简单的解个方程,因为本人不熟悉matlab的基本代码,所以搞了很久的定义,用法,修修补补很久

a=[600; 28.90] %每行一个数组  定义  第一行买入或卖出股数 买入100股就是100,卖出100就是—100,第二行是另一个参数,股价
[m,n]=size(a) %a的行数、列数
for b=1:n %n是列数,列数就是交易笔数
   if a(1,b)>0    %判定买还是卖 见某草稿纸方程   每次买卖的单项   !!!!a(x) x是竖着数的所以要写成a(1,b),本来用的a(x 挑选交易数量,行不通
      if a(1,b)*a(2,b)<5/0.0003 % 5               b即第n比交易,是个变量
       c(b)= roundn(5+a(1,b)*a(2,b)+a(1,b)*a(2,b)*0.00002,-2)   %买只有两项,佣金和过户
      else
           c(b)=roundn(a(1,b)*a(2,b)*0.0003+a(1,b)*a(2,b)+a(1,b)*
a(2,b)*0.00002,-2) 
      end
   else
       if abs(a(1,b)*a(2,b))<5/0.0003   %小于0 卖出 5  忘记加千1印花税     %卖有三项,佣金过户印花
           check(b)=abs(a(1,b)*a(2,b)*0.001)  %当时写的有问题所以加了这行check ,最后发现果然有问题
            c(b)=roundn(5+a(1,b)*a(2,b)+abs(a(1,b)*a(2,b)*0.001)+abs(a(1,b)*a(2,b)*0.00002),-2)  %猜测是保留两位小数
       else
           check(b)=abs(a(1,b)*a(2,b)*0.001)
           c(b)=roundn(abs(a(1,b)*a(2,b)*0.0003)+abs(a(1,b)*a(2,b)*0.001)+a(1,b)*a(2,b)+abs(a(1,b)*a(2,b)*0.00002),-2)
       end 
   end
end
vpa(c,7)  %猜测是保留7位小数
syms x
if sum(c)<5/0.0003   %进场时的总金额
    s=sum(c)+5+x*sum(a(1,:))*0.001-x*sum(a(1,:))+x*sum(a(1,:))*0.00002
else 
    s=sum(c)+x*sum(a(1,:))*0.0003+x*sum(a(1,:))*0.001-x*sum(a(1,:))+x*sum(a(1,:))*0.00002
end
x=solve(s)
digits(7) 
vpa(x)

以下为打算一起附上的信息:matlab讲义.pdf,百度到的一些实现的emm像vpa这种怎么称呼来着?算符?还是就叫他代码。。沪股和深股交易计算规则等全貌信息。后来因为懒+菜就无

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值