中欧医疗健康基金预测
我做了一个预测, 根据前100天的涨幅,预测第101天在哪个分段位。
将涨幅分了5个等级
设涨幅为x
x>=1.5. 为 0 段
x>=0.5. 为 1 段
x>=-0.25 为 2 段
x>=-1.25 为 3 段
x<-1.25 为 4 段
T = [1.5, 0.5, -0.25, -1.25] def getGroup(x): for i in range(4): if x>=T[i]: return i; return 4
之所以按这个分段, 是因为每一段的分布密度均等。 关于服从啥分布在上一面已经分析出来了。
理论上, 涨幅的所在的概率均为20%, 因为将这个分布平均分成了5等份。 结果
#coding:utf8 from sklearn.datasets import load_iris from sklearn import tree import matplotlib.pyplot as plt import numpy as np from sklearn.metrics import classification_report train_data = np.load("train003096.npy") valid_data = np.load("valid003096.npy") # iris = load_iris() # X, y = iris.data, iris.target X = train_data[:,:-1] y = train_data[:,-1].astype(np.int32) valid_X = valid_data[:,:-1] valid_y = valid_data[:,-1].astype(np.int32) # print(type(y[0])) clf = tree.DecisionTreeClassifier() clf = clf.fit(X, y) valid_y_pred = clf.predict(valid_X) # tree.plot_tree(clf) print(clf.score(valid_X, valid_y)) print(clf.tree_.predict(valid_X)) print(classification_report(valid_y, valid_y_pred, labels=range(5))) # clf.predict() # plt.show()
训练结果: 每个类别的正确率大概为21%。 只提升了1百分点。
总结: 靠这种预测未来的涨幅处于哪个分段,完成不可取。 没啥用。
估计不管是回归模型和分类模型,都对买基金没有实际用处。 只能靠RNN, GRU, LSTM模型, 带时预测模型才OK
为啥这样讲,就好比抛硬币,50%的概率朝上, 50%的概率的朝下。 人工智能预测下一次朝上或者朝下的概率,正确率也只能是50%,
即使前面连续出现10次朝上,第11次朝上的概率依次是50%。 某次的概率的不会因为前面的数据影响概率。