企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

从零学习-量化交易(013)-下载A股实时数据

wudianyun 2025-03-03 20:32:45 精选文章 18 ℃

(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 文件。
最近发表
标签列表