文末赠书
5本《Python量化交易实战》等你领取
基础准备
环境:python7+需要安装第三方模块:mplfinance、akshare运行编辑器:jupyternotebook
动手动脑
1环境准备
首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。
2模块安装
本次实验是在jupyternotebook上进行,默认你已经安装好了Python基本环境和jupyter,如果没有安装可以看上面的环境安装部分。
首先打开终端,输入:
jupyter notebook
即可进入jupyter,会自动连接服务器,并跳转到网页,新建一个python文件。给文件重命名,容易区分:
在代码块中输入以下指令并运行,即可安装mplfinance和akshare:
!pip3 install mplfinance --user
!pip3 install akshare --user
基本使用方法:
import mplfinance as mpf
mpf.plot(data)
其中data数据是一个DataFrame数据类型,必须包含:Open,High,LowandClose这四列,并且有时间日期索引。
接下来,我们虚拟一个数据来看看效果吧:
import mplfinance as mpf
import pandas as pd
# 创建日期索引
index_date = pd.DatetimeIndex(["20210906", "20210907", "20210908", "20210909"])
# 随便创建数据
data = pd.DataFrame({
"Open": [1, 2, 3, 4],
"High": [2, 3, 4, 5],
"Low" : [0.5, 1, 2, 2],
"Close": [2, 3, 4, 3]
}, index=index_date)
# 调用plot函数 进行绘图
mpf.plot(data)
我们看到,现在根据模拟数据我们简单绘制了一个简单的OHLC线条。
type参数使用,让绘更加精彩:
mpf.plot(data,type="candle")
mpf.plot(data,type="line")
type还可以为:renko、pnf。
mav参数可以添加移动平均线,更好的看趋势。
mpf.plot(data, type="candle", mav=2)
还可以添加多条移动平均线:
mpf.plot(data, type="candle", mav=(2, 3))
获取指数数据
import akshare as ak
# 获取上证指数每日的变化数据 OHLC
sz_index = ak.stock_zh_index_daily(symbol="sh000001")
这样就可以获取到上证指数所有历史数据啦~
获取A股数据
# 获取茅台股票每日的变化数据 采用前复权方式计算(关于复权计算更多知识以后分享,大家可以网络查找相关资料)
stock_zh_mt_hist_df = ak.stock_zh_a_hist(symbol="600519", period="daily", start_date="20170301", end_date="20210913", adjust="qfq")
获取港股数据
# 获取港股腾讯股票历史数据
stock_hk_tx_hist_df = ak.stock_hk_hist(symbol="00700", start_date="20170301", end_date="20210913", adjust="qfq")
获取美股数据
# 获取美股苹果公司历史股票数据
stock_us_apple_hist_df = ak.stock_us_hist(symbol="105.AAPL", start_date="20100101", end_date="20210913", adjust="qfq")
获取基金数据
# 获取易方达蓝筹从发行到现在的净值数据
yfd_fund = ak.fund_em_open_fund_info(fund="005827", indicator="单位净值走势")
来,操作
按上面方法,我们获取上证指数数据后,选取从2020-01-01到现在的数据进行可视化,然后在进行细分可视化,并选择不同的移动平均线。
2020-01-01-"2021-09-1mav=
import akshare as ak
import mplfinance as mpf
import pandas as pd
# 获取上证指数每日的变化数据 OHLC
sz_index = ak.stock_zh_index_daily(symbol="sh000001")
data1 = sz_index.loc["2020-01-01 00:00:00+00:00":"2021-09-13 00:00:00+00:00"]
mpf.plot(data1, type="candle", mav=(200, 300, 350), volume=True)
2021-01-01-"2021-09-1mav=
data2 = sz_index.loc["2021-01-01 00:00:00+00:00":"2021-09-13 00:00:00+00:00"]
mpf.plot(data2, type="candle", mav=(30, 60, 120), volume=True)
2021-04-01-"2021-09-1mav=
data3 = sz_index.loc["2021-04-01 00:00:00+00:00":"2021-09-13 00:00:00+00:00"]
mpf.plot(data3, type="candle", mav=(5, 10, 20), volume=True)
老表荐书
简单易学:本书使用Python7版本进行编写,代码简单,易于读者学习。
内容全面:覆盖量化回测步骤及即时选股系统搭建。
配备数据和源代码:提供所有案例的数据文件和Python源代码,供读者操作练习、快速上手。
学习路线清晰:每章均是基于“需求分析→步骤分解→Python编程开发”的学习路线,并根据项目的一般工作流程逐步展开,分析逻辑清晰,层层递进,由浅入深。
优惠购买:
特别感谢:
暖暖姐和中国水利水电出版社支持
文章为作者独立观点,不代表股票交易接口观点