Python 金融量化 均线系统交易策略专题(简单移动平均,加权移动平均,指数加权移动平均,异同移动平均MACD等解读与绘图)

  • 6.2 绘图代码

  • 6.3常用MACD交易思想

获取数据


以从Tushare获取深证成指(‘399001.SZ’)股价数据为例。

导入相关模块

import os

import numpy as np

import tushare as ts

import pandas as pd

import matplotlib.pyplot as plt

from datetime import datetime, timedelta

from pylab import mpl

token = ‘Your token’ # 输入你的接口密匙,获取方式及相关权限见Tushare官网。

pro = ts.pro_api(token)

df = pro.index_daily(ts_code=‘399001.SZ’) #index_daily为指数日线的接口。股票的则为daily。

将获取到的DataFrame数据进行标准化处理,转换为方便自己使用的一种规范格式。

df = df.loc[:, [‘trade_date’, ‘open’, ‘high’, ‘low’, ‘close’, ‘vol’]]

df.rename(

columns={

‘trade_date’: ‘Date’, ‘open’: ‘Open’,

‘high’: ‘High’, ‘low’: ‘Low’,

‘close’: ‘Close’, ‘vol’: ‘Volume’},

inplace=True) # 重定义列名,方便统一规范操作。

df[‘Date’] = pd.to_datetime(df[‘Date’]) # 转换日期列的格式,便于作图

df.set_index([‘Date’], inplace=True) # 将日期列作为行索引

df = df.sort_index() # 倒序,因为Tushare的数据是最近的交易日数据显示在DataFrame上方,倒序后方能保证作图时X轴从左到右时间序列递增。

Close = df[‘Close’] # 取出收盘数据。

now = datetime.now() # 现在时间

today = now.strftime(‘%Y-%m-%d’) # 今日日期

设置一会儿生成的图像文件的保存路径,这里该三行命令在D盘创建一个以今日日期命名的文件夹。

path = ‘D:/’ + today

if not os.path.exists(path):

os.mkdir(path)

准备工作完毕,走起!


1.简单移动平均(SMA)


1.1 简单移动平均数

  • 即以算术平均的方式对目标数据对象求均值。(5日为例)

SMAt=5 = p 1 + p 2 + p 3 + p 4 + p 5 5 \displaystyle {\frac{p1+p2+p3+p4+p5}{5} } 5p1+p2+p3+p4+p5​

求取5日简单移动平均数

Sma5 = pd.Series(0.0,index=Close.index)

for i in range(4,len(Close)):

Sma5[i] = sum(Cl

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值