前言
在本次项目中我主要以技术指标(technical indicator)作为特征。
每个技术指标的提取都是通过长期的经验而获得的,而且持续有人提出更新的指标。
可以参考一下网上的一些资料:http://www.yingjia360.com/gongshi/,里面有每个指标的大概思想以及指标的计算公式。
所以呢,针对于每一只股票,我们可以基于它过去一段时间的行情数据来计算各式各样的指标,然后把指标结果作为特征值来对待就可以了,接着通过特征值预测未来会不会涨或者跌。而且我们可以提前构建好需要预测的标签。
项目内容
本项目的目的是通过股票的历史行情价格来预测未来某只股票的涨跌。 问题本身其实就是二分类问题。数据是通过tushare库来获取到的。
本项目主要做了如下几个部分:
- 根据已经给定的数据,构造出样本数据。在样本数据的构造过程我们需要使用特征工程,这个特征工程其实就是技术指标的提取
- 提取完技术指标之后,做一些简单的数据处理
- 构造训练数据和测试数据
- 利用随机森立学习二分类器
# 导入相应的函数库
import pandas as pd
import datetime
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score
import matplotlib.pyplot as plt
1. 对于股票数据提取技术指标
构建技术指标提取函数
def moving_average(d