matlab中利用快速傅里叶变换对股票价格进行频域分析

利用Matlab的快速傅里叶变换分析中兴通讯股票价格周期,发现主要周期为9.93年、3.31年和0.94年,对应频率分别为0.1007/年、0.3021/年和1.057/年。

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

matlab中利用快速傅里叶变换对股票价格进行频域分析

在学习matlab的快速傅里叶变换时,发现可以用他来对股票进行相对简单的快速处理,以判断股票价格的周期规律。

采集股票信息

本文重点在于快速傅里叶变换来处理股票价格周期,对于股票价格的采集不做过多描述。本文利用中兴通讯从1999年9月13日到2020年11月14日的收盘价作为数据基础进行研究。
matlab读取后进行plot,显示如下(横坐标未进行日期标注,仅按数据序列进行了简单的排列):
中兴通讯1999年9月13日到2020年11月14日的收盘价

快速傅里叶变换

得到收盘价后,对价格进行快速傅里叶变换,并转化成单边谱,采样频率设置为每年260次,得到如下趋势:
在这里插入图片描述
功率谱极值点位置
包含0点的极值图
从上面三张图可以看出来,中兴通讯从1999年9月13日到2020年11月14日价格波动中,波动的中心点为27.03元,相对波动值比较大的周期是9.93年(频率为0.1007/年),3.31年(频率为0.3021/年)和0.94年(频率为1.057/年),9.93年周期的波动范围是10.74元,3.31年的波动范围是3.51元,0.94年的波动范围是2.124元。
以上分析仅是用快速傅里叶变换做的初步分析,对于数据的深度挖掘可以在此方法上进一步延伸。
matlab代码如下:

b=load('ZXTX.txt');
Fs = 250;            % Sampling frequency                    
T = 1/Fs;             % Sampling period       
L = length(b);             % Length of signal
if mod(L,2)~=0
    a=b(1:end-1);
    L=L-1;
else
    a=b;
end

Y = fft(a);
P2 = abs(Y/L);  % 2-sides spectrum
P1 = P2(1:L/2+1); % fetch half of P2
P1(2:end-1) = 2*P1(2:end-1); 
f = Fs*(0:(L/2))/L;  
plot(f,P1); 

关于快速傅里叶变换及双边谱及单边谱的内容可参考以下内容:
关于实信号的双边谱和单边谱
负频率与双边频谱(信号与系统的基本概念)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值