python金融数据,Python金融大数据挖掘与分析
1.一招1 .熊猫:apply()和applymap()是DataFrame数据类型的函数,map()是Series数据类型的函数。Apply()是数据帧的一列或一行数据,applymap()是元素级的,它作用于每个数据帧的每个数据。Map()也是基于元素的,对序列中的每个数据调用一次该函数。
2.PCA分解德国DAX30指数DAX30指数有三十只股票。听起来不多,其实不少。我们有必要对其进行主成分分析,然后找出最重要的股票。想必大家都应该知道PCA的原理。说白了就是找一个回归中最有影响力的。当然数学原理涉及矩阵分解,还有什么SVD。
第一点代码
Import pandas as PD Import pandas . io . data as web Import numpy as NP . random . seed(1000)Import scipy . stats as SCS Import stats models . API as SMI Import matplotlib as mpl Import matplotlib . py plot as PLT from sk learn . decomposition Import kernel PCA # Import PCA package symbols=[ ads . de , alv.de , bas.de , bayn.de , ceremined aviation . de , bmw.de , cbk.de , con.de , dai.de EOAN .德, FME。德, FRE。德,黑。德,亨3。德, IFX。德, LHA。‘德’,林。德, LXS。德, MRK。DE , MUV2。德, RWE。德, SAP。德, SDF。德, SIE。德, TKA。DE 、Vow3.de 、 g daxi ]# DAX 30指数中每只股票的代码和德30指数的代码,共31个数据列Data=pd.dataframe () for symin符号:# Get data data[sym]=web。DataReader(sym,Data _ source= Yahoo )[ close ]Data=Data . dropna()#丢弃缺失的数据DAX=PD . Data frame(Data . pop( g daxi ))#单独取出索引数据,Pop在获取时已经将这一列数据从原位置删除。scale _ function=lambda x:(x-x . mean())/x . STD()PCA=内核PCA()。fit(data . apply(scale _ function))#这里使用的是apply函数。在做PCA之前,我们要标准化数据get _ we=lambda x:x/x . sum()print get _ we(PCA。lambda _) [:10]。这样就可以看到前十名股票对DAX30指数的贡献。
pca=KernelPCA(n_components=1)。fit(data . apply(scale _ function))DAX[ PCA _ 1 ]=PCA . transform(data)DAX . apply(scale _ function)。plot(figsize=(8,4))PCA=kernel PCA(n _ components=5)。fit(data . apply(scale _ function))weights=get _ we(PCA .s _)DAX[ PCA _ 5 ]=NP . dot(PCA . transform(data),weights)
这里我们只用第一个分量拟合,前五个分量拟合,发现效果出奇的好。这样,我们就完成了降维的工作。让我们展开来看看PCA的效果。
Plt。图形(图形大小=(8,4)) PLT。Scatter (DAX [PCA _ 5],DAX [g daxi],color= r )这里我们绘制PCA值和原始值之间的散点图,
我们可以看到,整体效果是好的,但显然,两边和中间总有些问题。所以要想提高,可以在中段进行PCA。这样,效果应该会更好。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。