提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
在大数据时代下,金融数据呈现数量多、类型多等特征,金融方面的数据分析与挖掘越来越重要。数据的下载使用的是Tushare,一个免费、开源的Python财经数据接口包。它主要实现了对股票等金融数据从数据采集、加工到存储的过程,能够提供快速、整洁、和格式多样的数据,便于使用者进行金融数据分析。其最大的优势是数据全面和格式全面,数据包括大量股票、基金、债券、期货、境外股票信息。tushare ID:371897
import tushare as ts
import time
from sqlalchemy import create_engine
股票数据和指数数据,基本的日线、周线、月线数据获取,调用不同的函数
股票数据:daily,weekly,monthly
指数数据: index_daily,index_weekly,index_monthly
i为对应股票代码
data1 = pro.daily(ts_code=i,start_date='20180101', trade_date=now_date)
data2 = pro.weekly(ts_code=i,start_date='20180101',trade_date=now_date)
data3 = pro.monthly(ts_code=i,start_date='20180101',trade_date=now_date)
engine = create_engine("mysql+pymysql://用户名:用户密码@localhost:3306/数据库名称?charset=utf8")
pro = ts.pro_api('af4e78a046abd543ab2a37e2d1bd7081c4d87661e639ebef9d0e9b1b')
now_date = time.strftime('%Y%m%d', time.localtime(time.time()))
def dapan(tscode):
try:
data = pro.index_daily(ts_code=tscode, start_date=20000101, end_date='now_date')
res = data.to_sql(name='表名称', con=engine, if_exists="append", index=False)
except:
time.sleep(1)
tscode = dapan('000001.SH')
import pymysql
import pandas as pd
# from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
import statsmodels.api as sm
from matplotlib import pyplot as plt
def read_data(code):
# 1连接配置信息,用于读
config = {
'host': '127.0.0.1',
'port': 3306,
'user': '用户名',
'password': '用户密码',
'db': '数据库名称',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor,
}
#创建连接
con = pymysql.connect(**config)
sql = "select * from 表名称 where ts_code = '"+code+"'"
try:
with con.cursor() as cursor:
cursor.execute(sql)
result = cursor.fetchall()
finally:
con.close()
df = pd.DataFrame(result)
df = df[['trade_date', 'close']]
return df
data = read_data('000001.SH')
print(data.head())
def test1():
data.plot(figsize=(12, 6))
plt.show()
def test2():
sm.graphics.tsa.plot_acf(data.close)
plt.figure(figsize=(12, 6))
fig = plt.gcf()
plt.show()
def test3():
sm.graphics.tsa.plot_acf(data.close, lags=5000)
plt.figure(figsize=(12, 6))
fig = plt.gcf()
plt.show()
def test4():
sm.graphics.tsa.plot_pacf(data.close)
plt.figure(figsize=(12, 6))
fig = plt.gcf()
plt.show()
if __name__=='__main__':
test1()
test2()
test3()
test4()
(1)pacf偏相关系数,选取50个交易日数据,如图所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/f6d8519276ed4c6699e
(2)acf正相关系数,选取5000个交易日数据,如图所示。
结果分析:数学上的正相关系数和偏相关系数可视化分析,指数或者股票还是存在一定的周期性。