在做数据预处理的时候,超额收益率是股票行业里的一个专有名词,指大于无风险投资的收益率,在我国无风险投资收益率即是银行定期存款。
pycharm + anaconda3.6开发,涉及到的第三方库有pandas,numpy,matplotlib,skllearn。
Python代码的基本功能注释里也写了一些。这三部分代码所实现的功能是读取数据,并对数据进行预处理。我已经把最原始的数据整理好放在了excel表格里,并且将第一个月的全部股票的参数放在一个excel里。
#6
print('选择模型')
if para.method == 'SVM':
model = svm.SVC(kernel=para.svm_kernel, C=para.svm_c)
print('模型选择为SVM')
#7用训练好的模型分别放到训练集和验证集上去预测,用来调参
print('模型开始训练')
if para.method == 'SVM':
model.fit(X_train, y_train)
y_pred_train = model.predict(X_train)
y_score_train = model.decision_function(X_train)
y_pred_cv = model.predict(X_cv)
y_score_cv = model.decision_function(X_cv)
print('模型训练结束')
这个也比较好理解,就是选择sklearn库里的svm模块对数据进行训练。svm模型是集成封装好的。
现在股票跌涨预测模型训练好了,然后就那训练好的模型在测试集上来跑。
一般数组是无法和数字做运算的,可是将普通数组用np.array()加工过后,变成了numpy数组,他拥有一个广播属性,可以直接与数字运算。该行python代码就是将数组里每个元素都减1。