背景
近期在学习数据分析,在课程最后老师讲了一下通过量化分析选择股票的案例,感觉挺有意思的,恰好周围也有人在炒股票,干脆自己做一个软件来实践一下学到的知识。课程上主要用python相关库来处理比特币的数据,数据量也不大,但是理解原理之后我们可以举一反三。
首先来回顾一下主要的知识点,选择股票的时候会用到两个重要的指标RSV、KDJ。他们的定义见下面的课件截图,具体的内容我就不阐述了,因为我是非金融专业的,对这些词汇解释起来有点吃力。我们只要记住这两个指标如何计算,以及后面如何使用即可
KDJ指标的定义
计算K指标
计算D指标
计算J指标
实验原理
老师在课程中讲到K和D都是反映股票变化趋势的,K要比D灵敏,当K值上穿D值时(第一次出现K>D)时代表股票可能出现向上反弹,此时是买入时机,当K下穿D值时(第一次出现K<D)时,代表股票有较大概率出现下跌,此时是卖出时机。
通过利用这个方法,我们可以在4000多支股票中筛选出若干可能出现反弹的股票,然后再用人的经验和其他方面的信息选出心仪的股票了。
我们的实验思路是:
- 先从网络上获取过去半年 4000支股票的交易信息,包括日期(date)、最高价(high)、最低价(low)、开盘价(open)、收盘价(close),将这些信息存储到stockbars表中
- 用python程序读取stockbars表中的每条记录,计算出rsv指标存储到stockrsvs表中
- 最后用python程序读取stockrsvs表,计算出k、d、j三个指标
- 最后我们用SQL语句查询数据库,每个人可以基于RSV、k、d、j这四个值自由定义查询方式
这里我们用到了kdj金融知识、python编程知识、SQL语言以及数据