欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > python:如何获取股票 周K线数据、月K线数据

python:如何获取股票 周K线数据、月K线数据

2025/5/4 11:34:51 来源:https://blog.csdn.net/belldeep/article/details/147675136  浏览:    关键词:python:如何获取股票 周K线数据、月K线数据

依赖库:
pip install tushare
pip install pandas
pip install matplotlib
pip install mplfinance

参阅接口文档:周线行情 , 月线行情

为了获取股票 周线数据 weekly 、月线数据 monthly ,编写 get_week_month.py  如下

# coding: utf-8
""" 获取股票 周K线数据、月K线数据 """
import os
import sys
import pandas as pd
import tushare as tsif len(sys.argv) ==2:code = sys.argv[1]
else:print('usage: python get_week_month.py stockcode ')sys.exit(1)if len(code) !=6:print('stock code length: 6')sys.exit(2)if code < '600000':s_code = code +'.SZ'
else:s_code = code +'.SH'# 初始化pro接口
pro = ts.pro_api('your token')# 获取周K线数据
df = pro.weekly(ts_code=s_code, start_date='20190101')if df.empty :print(" df is empty ")sys.exit(2)df = df.sort_values(by='trade_date')
#df = df.reset_index(drop=True)
# 为了与旧版的 tushare 保持一致性,修改列名
df.rename(columns={'trade_date':'date','vol':'volume'}, inplace=True)path = './data/'
file1 = 'w'+code+'.csv'
df.to_csv(path + file1, index=False)
print(file1)# 获取月K线数据
df = pro.monthly(ts_code=s_code, start_date='20190101')if df.empty :print(" df is empty ")sys.exit(2)df = df.sort_values(by='trade_date')
#df = df.reset_index(drop=True)
# 为了与旧版的 tushare 保持一致性,修改列名
df.rename(columns={'trade_date':'date','vol':'volume'}, inplace=True)path = './data/'
file2 = 'm'+code+'.csv'
df.to_csv(path + file2, index=False)
print(file2)

运行  python get_week_month.py 601225

为了绘制股票周K线图,编写 mpf_week.py  如下

# coding: utf-8
""" 绘制股票周K线图 """
import os, sys
import datetime
import matplotlib.pyplot as plt
import mplfinance as mpf
import pandas as pd
#import tushare as tsif len(sys.argv) ==2:scode = sys.argv[1]
else:print('usage: python mpf_week.py scode ')sys.exit(1)if len(scode) !=6:print('stock code length: 6')sys.exit(2)path = './data/'
f1 = 'w'+ scode +'.csv'
df = pd.read_csv(path+f1, parse_dates=True, index_col=1 )
#print(df.head())
df = df[ df.index >'20230101']
print(df.tail())
if len(df) <10:print(" len(df) <10 ")sys.exit(2)#df.index = pd.to_datetime(df.date)
#print(mpf.available_styles())
title = scode+' week'
mpf.plot(df, style='charles', mav=(5,10,20,30), volume=True, title=title)
# 线图
#mpf.plot(df, type='line', mav=(5,10,20), title=title)
# OHLC图
#mpf.plot(df, type='ohlc', mav=(5,10,20), title=title)
# 烛台图, K线图
mpf.plot(df, type='candle', mav=(5,10,25,50), volume=True, title=title)
# 砖形图( Renko chart)是一种只使用价格变动构建的图表
#mpf.plot(df, type='renko', mav=(5,10,20), title=title)
# 点数图,简称 P&F图,它在不考虑时间流逝的情况下绘制资产的价格走势
#mpf.plot(df, type='pnf',pnf_params=dict(box_size=0.03),style='starsandstripes', title=title)

运行 python mpf_week.py 601225 

为了绘制股票月K线图,编写 mpf_month.py  如下

# coding: utf-8
""" 绘制股票月K线图 """
import os, sys
import datetime
import matplotlib.pyplot as plt
import mplfinance as mpf
import pandas as pd
#import tushare as tsif len(sys.argv) ==2:scode = sys.argv[1]
else:print('usage: python mpf_month.py scode ')sys.exit(1)if len(scode) !=6:print('stock code length: 6')sys.exit(2)path = './data/'
f1 = 'm'+ scode +'.csv'
df = pd.read_csv(path+f1, parse_dates=True, index_col=1 )
#print(df.head())
df = df[ df.index >'20190101']
print(df.tail())
if len(df) <10:print(" len(df) <10 ")sys.exit(2)#df.index = pd.to_datetime(df.date)
#print(mpf.available_styles())
title = scode+' month'
mpf.plot(df, style='charles', mav=(5,10,20,30), volume=True, title=title)
# 线图
#mpf.plot(df, type='line', mav=(5,10,20), title=title)
# OHLC图
#mpf.plot(df, type='ohlc', mav=(5,10,20), title=title)
# 烛台图, K线图
mpf.plot(df, type='candle', mav=(6,12,24,36), volume=True, title=title)
# 砖形图( Renko chart)是一种只使用价格变动构建的图表
#mpf.plot(df, type='renko', mav=(5,10,20), title=title)
# 点数图,简称 P&F图,它在不考虑时间流逝的情况下绘制资产的价格走势
#mpf.plot(df, type='pnf',pnf_params=dict(box_size=0.03),style='starsandstripes', title=title)

运行 python mpf_month.py 601225 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词