中欧医疗健康基金预测

我做了一个预测, 根据前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%。  某次的概率的不会因为前面的数据影响概率。

 

posted @ 2021-08-05 21:07  Please Call me 小强  阅读(106)  评论(0编辑  收藏  举报