股票技术术语中有很多重要的指标,例如 ma
macd
kdj
rsi
等
接下来, 介绍如何构造 ma
与 macd
这两个指标
为避免现金分红带来的影响, 我们以未分红过的新股为例进行演示
目标
- 抓取数据
- 计算ma指标
- 计算macd指标
- 简单画图展示
先看一下最终效果
抓取数据
从上交所抓取某个未分红过的新股
请注意该教程仅做教学演示, 不做任何个股分析
因为抓取数据的过程在第五课已经讲过, 这里仅提供代码, 不再重复讲解
这些的代码只是一个函数, 无法直接运行, 如果想亲自测试, 请使用最后提供的完整代码
def download():
response = requests.get(
'http://yunhq.sse.com.cn:32041/v1/sh1/dayk/603713?callback=jQuery111205234775875526079_1542185571865&select=date%2Copen%2Chigh%2Clow%2Cclose%2Cvolume&begin=-5000&end=-1&_=1542185571881',
headers={'Referer': 'http://www.sse.com.cn/market/price/trends/'}
)
# 针对结果进行格式处理
json_str = response.text[42:-1]
data = json.loads(json_str)
return data['kline']
def init_df(kline):
''' 根据K线数据,创建含有日期与收盘价的矩阵 '''
df = pd.DataFrame({})
df['date'] = [x[0] for x in kline]
df['close'] = [x[4] for x in kline]
return df
计算ma指标
ma指标的概念与分析
ma其实就是 Moving average, 移动平均线
我们需要使用pandas的rolling方法, 获取一定长度的移动窗口, 然后计算其平均值即可
如果我们有一系列数据, 只要计算出总和与长度, 做除法就是平均值