【量化投资实训】基于MATLAB实验五.某行业PB最小的10只股票

该博客介绍了如何使用MATLAB编写函数FindMinPBStock10,该函数从指定行业的股票数据中找出PB值最小的前10只股票。函数首先剔除PB值小于0的股票,然后对数据按PB值降序排序,最后返回包含代码、简称和PB值的表格,数据已按PB值降序排列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数原型

function MinPBStock = FindMinPBStock10 (WholeStockFinc,IndustryName)

matlab实现

function MinPBStock = FindMinPBStock10( WholeStockFinc,IndustryName )
%   函数功能:求行业内PB最小的前10只股票,注意剔除PB<0的股票
%   输入参数:WholeStockFinc     - table型号,全部股票的横截面数据
%             IndustryName       - char型,行业名称,如“农林牧渔”
%   输出参数:MinPBStock        - table型,各变量为代码、简称、PB。按照PB大小进行降序排列   
%   此处显示详细说明
WholeStockFinc.PB(WholeStockFinc.PB<0)=NaN;
%find功能:    寻找非零元素的索引和值
%strcmp功能:  是用于做字符串比较的函数
%找到和输入参数IndustryName一样的行业
TF = find(strcmp(IndustryName,WholeStockFinc.SwClass));
%得到行业对应的数据
T=WholeStockFinc([TF],:);
%sortrows功能:    对第四列进行排序
a=sortrows(T,4,'descend');
%得到前十
b=a(end-9:end,:);
%得到需要的数据
StockCode=b.StockCode;
StockName=b.StockName;
PB=b.PB;
SwClass=b.SwClass;
MinPBStock=table(StockCode,StockName,PB,SwClass);
end

 ps:不要全部参考博主的哦!!!

 ps:不要全部参考博主的哦!!!

 ps:不要全部参考博主的哦!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值