微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将快速傅立叶变换应用于股票

如何解决将快速傅立叶变换应用于股票

我尝试使用此代码找到股票的周期性模式。但是,我对我刚刚所做的事情有疑问。有人能告诉我这是否属实,因为我对傅立叶变换概念还很陌生。

谢谢

import numpy as np
from scipy.fftpack import fft
import matplotlib.pyplot as plt
import pandas as pd 
from pandas_datareader import data as wb

T=['SPY']
d= pd.DataFrame()
for t in T:
    d[T]=wb.DataReader(T,data_source='yahoo',start='2000-01-01')['Adj Close']
    
#--------
z = d.rolling(200).mean()
z.columns = ['SMA200']
RM = d.join(z)
RM['Residuals'] = RM['SPY']-RM.iloc[:,-1]
#--------

y = RM['Residuals'].dropna().values
N = int(y.size) # Number of sample points
T = 1/(3600*24) #One value per day
yf = fft(y)
xf = 1/(N*T)*np.arange(N//2) #We only take non negative freqs
plt.figure(figsize=(15,5))
plt.plot(xf,1/N*np.abs(yf[0:N//2])) 
plt.xlabel('Days Cycles')
plt.ylabel('Frequencies')
plt.grid()
plt.show()

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。