量化交易是用数学模型替代人的主观判断,通过使用计算机从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少投资者因为情绪波动而造成的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。
在这里推荐个组织:http://tushare.org 。Tushare是一个免费、开源的python财经数据接口包。
Tushare: 主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。
本项目需要的库文件有以下几个:
bs4
lxml
numpy
pandas
tushare
matplotlib
完整代码如下:
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2018.
# @Author : 绿色羽毛
# @Email : lvseyumao@foxmail.com
# @Blog : https://blog.csdn.net/ViatorSun
# @Note :
import numpy as np
import pandas as pd
import tushare as ts
import matplotlib.pyplot as plt
# 获取数据
s_pf = '600000' # 浦发发行号
s_gd = '601818' # 光大发行号
sdate = '2015-01-01' # 数据提取开始日期
edata = '2018-12-31' # 数据提取截止日期
# 提取数据信息
df_pf = ts.get_h_data(s_pf , start=sdate , end=edata).sort_index(axis=0,ascending=True)
df_gd = ts.get_h_data(s_gd , start=sdate , end=edata).sort_index(axis=0,ascending=True)
# 合并数据
df = pd.concat([df_pf.close , df_gd.close] , axis=1 ,keys=["pf_close" , "gd_close"])
df.ffill(axis = 0 , inplace = True)
# 防止数据丢失,备份数据
df.to_csv("pf_gd.csv")
# 重新从保存文件中提取数据
# df = pd.read_csv("pf_gd.csv")
# 计算相关系数
corr = df.corr(method = "pearson" , min_periods = 1)
df.plot(figsize = (20,12))
# 归一化处理
df["pf_one"] = df.pf_close / float(df.pf_close[0]) * 100
df["gd_one"] = df.gd_close / float(df.gd_close[0]) * 100
df.pf_one.plot(figsize = (20,12))
df.gd_one.plot(figsize = (20,12))
plt.savefig("pf_gd.png")
plt.show()
常见问题汇总(如有新问题留言即可,后续跟进补充):
1、出现如下情况的原因是网络掉线了,检查下网络即可解决
2、如果提示查找不到 “bs4” 的提示信息
出现的问题是 没有安装 “bs4” 库文件,安装上即可
来源:CSDN
作者:ViatorSun
链接:https://blog.csdn.net/ViatorSun/article/details/86577653