(1)打开Spyder软件,在目录D:\zwPython\zwrk\1_Quant_TensorFlow,新建文件
13-DownloadSingleStockReal-timeData
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 13 11:20:18 2025
Program Function:Download single stock real-time data
@author: Administrator
"""
import sys, os
sys.path.append("topqt/")
import os,arrow
import numpy as np
import pandas as pd
import tushare as ts
# TopQuant
import zsys
import ztools as zt
import ztools_datadown as zddown
import ztools_draw2025 as zdr
#----------
#1
#rss=zsys.rdatReal
#print('rss#1:',rss)
rss='tmp/'
zt.f_dirDel(rss)
print('rss#2:',rss)
#
xtyp='5'
tim=arrow.now().format('YYYY-MM-DD')
print('t',tim,xtyp)
#
#2
xcod='300766'
df=zddown.down_min_real010(rss,xcod,xtyp=xtyp,fgIndex=False)
print('\nxcod:',xcod)
print(df.tail())
hdr,fss='k-'+xcod,'tmp/tmp_'+xcod+'.html'
df.index=df['date']
zdr.drDF_cdl(df,ftg=fss,m_title=hdr)
#
#3
xcod='399006'
df2=zddown.down_min_real010(rss,xcod,xtyp=xtyp,fgIndex=True)
print('\nxcod:',xcod)
print(df2.tail())
hdr,fss='k-inx-'+xcod,'tmp/tmp_inx_'+xcod+'.html'
df2.index=df2['date']
zdr.drDF_cdl(df2,ftg=fss,m_title=hdr)
(2)程序运行结果:
runfile('D:/zwPython/zwrk/1_Quant_TensorFlow/13-DownloadSingleStockReal-timeData.py', wdir='D:/zwPython/zwrk/1_Quant_TensorFlow')
Reloaded modules: zsys, ztools, ztools_str, ztools_web, ztools_data, ztools_tq, zpd_talib, ztools_datadown, ztools_draw2025
rss#2: tmp/
t 2025-02-13 5
tmp/300766.csv , 2025-02-13
xcod: 300766
date open high low close volume
635 2025-02-13 11:00 53.18 54.88 53.02 54.88 41406.0
636 2025-02-13 11:05 54.91 57.18 54.34 56.00 123345.0
637 2025-02-13 11:10 56.10 57.00 55.44 55.94 62681.0
638 2025-02-13 11:15 55.82 55.82 54.74 55.25 22979.0
639 2025-02-13 11:20 55.24 55.30 54.68 55.01 9610.0
d:\zwpython\py37\python-3.7.6.amd64\lib\site-packages\plotly\graph_objs\_deprecations.py:550: DeprecationWarning:
plotly.graph_objs.XAxis is deprecated.
Please replace it with one of the following more specific types
- plotly.graph_objs.layout.XAxis
- plotly.graph_objs.layout.scene.XAxis
d:\zwpython\py37\python-3.7.6.amd64\lib\site-packages\plotly\graph_objs\_deprecations.py:578: DeprecationWarning:
plotly.graph_objs.YAxis is deprecated.
Please replace it with one of the following more specific types
- plotly.graph_objs.layout.YAxis
- plotly.graph_objs.layout.scene.YAxis
tmp/inx_399006.csv , 2025-02-13
xcod: 399006
date open high low close volume
635 2025-02-13 11:00 2182.88 2187.51 2182.88 2187.29 4494335.0
636 2025-02-13 11:05 2186.56 2186.56 2183.64 2183.65 4315123.0
637 2025-02-13 11:10 2183.76 2187.71 2182.06 2187.45 3489063.0
638 2025-02-13 11:15 2187.60 2188.28 2185.18 2185.27 2645802.0
639 2025-02-13 11:20 2185.23 2187.57 2185.03 2187.36 1628284.0
d:\zwpython\py37\python-3.7.6.amd64\lib\site-packages\plotly\graph_objs\_deprecations.py:550: DeprecationWarning:
plotly.graph_objs.XAxis is deprecated.
Please replace it with one of the following more specific types
- plotly.graph_objs.layout.XAxis
- plotly.graph_objs.layout.scene.XAxis
d:\zwpython\py37\python-3.7.6.amd64\lib\site-packages\plotly\graph_objs\_deprecations.py:578: DeprecationWarning:
plotly.graph_objs.YAxis is deprecated.
Please replace it with one of the following more specific types
- plotly.graph_objs.layout.YAxis
- plotly.graph_objs.layout.scene.YAxis
产生的文件在D:\zwPython\zwrk\1_Quant_TensorFlow\tmp目录下
(3)程序代码注释
# -*- coding: utf-8 -*-
# 指定文件的编码格式为 UTF - 8,确保文件中包含的非 ASCII 字符(如中文注释)能被 Python 解释器正确处理。
"""
Created on Thu Feb 13 11:20:18 2025
Program Function:Download single stock real-time data
@author: Administrator
"""
# 这是一个多行注释,记录了代码的创建时间、程序功能(下载单只股票的实时数据)以及作者信息。
import sys, os
# 导入 Python 的标准库模块 sys 和 os。
# sys 模块提供了与 Python 解释器交互的功能,例如修改模块搜索路径等。
# os 模块提供了与操作系统交互的功能,如文件和目录操作、环境变量获取等。
sys.path.append("topqt/")
# 将 "topqt/" 目录添加到 Python 的模块搜索路径中。
# 这样在使用 import 语句导入模块时,Python 解释器会去该目录下查找相应的模块文件,方便引入自定义模块。
import os, arrow
# 再次导入 os 模块,此处属于重复导入,可删除;导入 arrow 库,它是一个处理日期和时间的库,提供了更简洁易用的日期时间操作接口。
import numpy as np
# 导入 numpy 库,并将其重命名为 np。
# numpy 是一个用于科学计算的基础库,提供了高性能的多维数组对象和处理这些数组的工具。
import pandas as pd
# 导入 pandas 库,并将其重命名为 pd。
# pandas 是一个用于数据处理和分析的库,提供了 DataFrame 和 Series 等数据结构。
import tushare as ts
# 导入 tushare 库,并将其重命名为 ts。
# tushare 是一个免费、开源的 Python 财经数据接口包,可用于获取金融数据。
# TopQuant
import zsys
# 导入自定义模块 zsys,该模块可能包含一些系统级别的配置或工具函数。
import ztools as zt
# 导入自定义模块 ztools,并将其重命名为 zt。
# 该模块可能包含一些常用的工具函数。
import ztools_datadown as zddown
# 导入自定义模块 ztools_datadown,并将其重命名为 zddown。
# 该模块可能包含数据下载相关的函数。
import ztools_draw2025 as zdr
# 导入自定义模块 ztools_draw2025,并将其重命名为 zdr。
# 该模块可能包含数据可视化相关的函数。
#----------
#1
#rss=zsys.rdatReal
# 这行代码被注释掉了,原本可能是想从 zsys 模块中获取实时数据的存储路径。
#print('rss#1:',rss)
# 由于上面一行代码被注释,这行打印 rss#1 的代码也失去意义,同样被注释。
rss='tmp/'
# 将数据存储路径设置为 'tmp/' 目录。
zt.f_dirDel(rss)
# 调用 ztools 模块中的 f_dirDel 函数,删除 'tmp/' 目录及其包含的所有内容。
# 该函数的作用可能是在下载新数据之前清空存储目录。
print('rss#2:',rss)
# 打印当前设置的数据存储路径,方便确认。
#
xtyp='5'
# 设置数据类型为 5 分钟数据。
tim = arrow.now().format('YYYY-MM-DD')
# 使用 arrow 库获取当前日期,并将其格式化为 'YYYY-MM-DD' 的字符串。
print('t', tim, xtyp)
# 打印当前日期和数据类型,方便调试和确认。
#
#2
xcod='300766'
# 设置要下载实时数据的股票代码为 '300766'。
df = zddown.down_min_real010(rss, xcod, xtyp=xtyp, fgIndex=False)
# 调用 ztools_datadown 模块中的 down_min_real010 函数。
# 传入数据存储路径 rss、股票代码 xcod、数据类型 xtyp(5 分钟数据)和 fgIndex=False(表示不是指数数据)。
# 该函数的作用可能是下载指定股票的 5 分钟实时数据,并返回一个包含这些数据的 DataFrame 对象。
print('\nxcod:', xcod)
# 打印要下载数据的股票代码,方便确认。
print(df.tail())
# 打印 DataFrame 对象 df 的最后几行数据,方便查看下载的数据情况。
hdr, fss = 'k-' + xcod, 'tmp/tmp_' + xcod + '.html'
# 定义图表的标题 hdr 和保存图表的文件路径 fss。
# 标题包含股票代码,文件路径以 'tmp/tmp_' 开头,后面跟上股票代码和 '.html' 扩展名。
df.index = df['date']
# 将 DataFrame 对象 df 的索引设置为 'date' 列,方便后续按日期进行操作。
zdr.drDF_cdl(df, ftg=fss, m_title=hdr)
# 调用 ztools_draw2025 模块中的 drDF_cdl 函数。
# 传入用于绘制 K 线图的数据 df、保存图表的文件路径 fss 和图表标题 hdr。
# 该函数的作用可能是根据 DataFrame 对象 df 绘制 K 线图,并将其保存为 HTML 文件。
#
#3
xcod='399006'
# 设置要下载实时数据的指数代码为 '399006'。
df2 = zddown.down_min_real010(rss, xcod, xtyp=xtyp, fgIndex=True)
# 调用 ztools_datadown 模块中的 down_min_real010 函数。
# 传入数据存储路径 rss、指数代码 xcod、数据类型 xtyp(5 分钟数据)和 fgIndex=True(表示是指数数据)。
# 该函数的作用可能是下载指定指数的 5 分钟实时数据,并返回一个包含这些数据的 DataFrame 对象。
print('\nxcod:', xcod)
# 打印要下载数据的指数代码,方便确认。
print(df2.tail())
# 打印 DataFrame 对象 df2 的最后几行数据,方便查看下载的数据情况。
hdr, fss = 'k-inx-' + xcod, 'tmp/tmp_inx_' + xcod + '.html'
# 定义图表的标题 hdr 和保存图表的文件路径 fss。
# 标题包含指数代码并标明是指数,文件路径以 'tmp/tmp_inx_' 开头,后面跟上指数代码和 '.html' 扩展名。
df2.index = df2['date']
# 将 DataFrame 对象 df2 的索引设置为 'date' 列,方便后续按日期进行操作。
zdr.drDF_cdl(df2, ftg=fss, m_title=hdr)
# 调用 ztools_draw2025 模块中的 drDF_cdl 函数。
# 传入用于绘制 K 线图的数据 df2、保存图表的文件路径 fss 和图表标题 hdr。
# 该函数的作用可能是根据 DataFrame 对象 df2 绘制 K 线图,并将其保存为 HTML 文件。