(1)打开Spyder软件,在目录D:\zwPython\zwrk\1_Quant_TensorFlow,新建文件
29-ReadTDSFinancialDataset.py
# -*- coding: utf-8 -*-
"""
Created on Fri Feb 14 15:48:43 2025
Program Function:Learning from Zero - Quantitative Trading (027) - reads the TDS financial dataset
读取TDS金融数据集
@author: Administrator
"""
import sys, os
sys.path.append("topqt/")
import numpy as np
import pandas as pd
import tushare as ts
import plotly as py
import plotly.figure_factory as pyff
import math,arrow,ffn
import pypinyin
import pandas_datareader as pdr
import matplotlib.pyplot as plt
import zsys2025 #20250213
import ztools as zt
import ztools_str as zstr
import ztools_data2025 as zdat
import ztools_draw2025 as zdr
import ztools_tq2025 as ztq #20250213
import zpd_talib2025 as zta
#----------
#1
print('\n#1,set.sys')
pd.set_option('display.width', 450)
pd.set_option('display.float_format', zt.xfloat3)
#2
print('\n#2,读取数据')
#rss,fsgn,ksgn='/ailib/TDS/','TDS2_sz50','avg'
rss='tmp/'
fsgn='TDS2_zz500'
ksgn='avg'
#xlst=zsys.TDS_xlst9
xlst=zsys2025.TDS_xlst1
print('\nrss,fsgn,ksgn',rss,fsgn,ksgn)
print('xlst',xlst)
df_train,df_test,x_train,y_train,x_test, y_test=zdat.frd_TDS(rss,fsgn,ksgn,xlst)
#
print('\ndf_test.tail()')
print(df_test.tail())
#3
print('\n#3,数据格式')
num_x_train,num_y_train=x_train.shape[0],y_train.shape[0]
num_x_test,num_y_test=x_test.shape[0],x_test.shape[0]
print('\nnum_x_train,num_y_train:',num_x_train,num_y_train)
print('\nnum_x_test,num_y_test:',num_x_test,num_y_test)
print('\ntpye(x_train):',type(x_train))
(2)程序输出结果
runfile('D:/zwPython/zwrk/1_Quant_TensorFlow/29-ReadTDSFinancialDataset.py', wdir='D:/zwPython/zwrk/1_Quant_TensorFlow')
Reloaded modules: zsys2025, ztools, zsys, ztools_str, ztools_web, ztools_data, ztools_tq, zpd_talib, ztools_data2025, zpd_talib2025, ztools_draw2025, ztools_tq2025
#1,set.sys
#2,读取数据
rss,fsgn,ksgn tmp/ TDS2_zz500 avg
xlst ['open', 'high', 'low', 'close', 'volume', 'avg']
df_test.tail()
open high low close volume avg y price price_next price_change
937394 2.820 2.880 2.810 2.880 187107.000 2.850 2.930 2.850 2.930 102.807
937395 2.870 2.880 2.830 2.860 165540.000 2.860 2.940 2.860 2.940 102.797
937396 2.870 2.920 2.860 2.880 168867.000 2.880 2.940 2.880 2.940 102.083
937397 2.870 2.890 2.840 2.870 122651.000 2.870 2.950 2.870 2.950 102.787
937398 2.880 2.900 2.850 2.870 152776.000 2.880 2.990 2.880 2.990 103.819
#3,数据格式
num_x_train,num_y_train: 1495235 1495235
num_x_test,num_y_test: 937399 937399
tpye(x_train): <class 'numpy.ndarray'>
(3)程序代码注释
# -*- coding: utf-8 -*-
# 声明文件使用 UTF-8 编码,确保可以正确处理包含非 ASCII 字符的文本
"""
Created on Fri Feb 14 15:48:43 2025
Program Function:Learning from Zero - Quantitative Trading (027) - reads the TDS financial dataset
读取TDS金融数据集
@author: Administrator
"""
# 文档字符串,记录代码的创建时间、程序功能和作者信息,表明此代码用于读取 TDS 金融数据集
import sys, os
# 导入 sys 和 os 模块
# sys 模块提供了与 Python 解释器和系统相关的功能,例如修改模块搜索路径
# os 模块提供了与操作系统进行交互的功能,如文件和目录操作
sys.path.append("topqt/")
# 将 'topqt/' 目录添加到 Python 的模块搜索路径中
# 这样 Python 在导入模块时会搜索该目录,方便使用自定义模块
import numpy as np
# 导入 numpy 库并将其重命名为 np
# numpy 是用于科学计算的基础库,提供了多维数组对象和各种数学函数
import pandas as pd
# 导入 pandas 库并将其重命名为 pd
# pandas 是用于数据处理和分析的库,提供了 DataFrame 和 Series 等数据结构
import tushare as ts
# 导入 tushare 库
# tushare 是一个免费、开源的 Python 财经数据接口包,可用于获取金融数据
import plotly as py
# 导入 plotly 库并将其重命名为 py
# plotly 是用于创建交互式可视化图表的库
import plotly.figure_factory as pyff
# 从 plotly 库中导入 figure_factory 模块并将其重命名为 pyff
# figure_factory 模块提供了一些创建特定类型图表的工厂函数
import math,arrow,ffn
# 导入 math 模块(提供数学函数)、arrow 模块(用于处理日期和时间)和 ffn 模块(用于金融数据分析)
import pypinyin
# 导入 pypinyin 库,用于将中文转换为拼音
import pandas_datareader as pdr
# 导入 pandas_datareader 库并将其重命名为 pdr
# pandas_datareader 用于从不同的数据源读取数据
import matplotlib.pyplot as plt
# 导入 matplotlib 库的 pyplot 模块并将其重命名为 plt
# matplotlib.pyplot 用于创建静态可视化图表
import zsys2025 #20250213
# 导入自定义模块 zsys2025,注释表明该模块在 2025 年 2 月 13 日进行了相关操作
import ztools as zt
# 导入自定义模块 ztools 并将其重命名为 zt
import ztools_str as zstr
# 导入自定义模块 ztools_str 并将其重命名为 zstr
import ztools_data2025 as zdat
# 导入自定义模块 ztools_data2025 并将其重命名为 zdat
import ztools_draw2025 as zdr
# 导入自定义模块 ztools_draw2025 并将其重命名为 zdr
import ztools_tq2025 as ztq #20250213
# 导入自定义模块 ztools_tq2025 并将其重命名为 ztq,注释表明该模块在 2025 年 2 月 13 日进行了相关操作
import zpd_talib2025 as zta
# 导入自定义模块 zpd_talib2025 并将其重命名为 zta
#----------
#1
print('\n#1,set.sys')
# 打印提示信息,表示接下来进行系统设置
pd.set_option('display.width', 450)
# 设置 pandas 的显示选项,将显示宽度设置为 450 个字符
# 这样在打印 DataFrame 时可以显示更多的列
pd.set_option('display.float_format', zt.xfloat3)
# 设置 pandas 显示浮点数的格式,使用 zt 模块中的 xfloat3 函数进行格式化
#2
print('\n#2,读取数据')
# 打印提示信息,表示接下来进行数据读取操作
#rss,fsgn,ksgn='/ailib/TDS/','TDS2_sz50','avg'
# 注释掉的代码,可能是之前使用的参数设置
rss='tmp/'
# 定义数据存储的目录路径
fsgn='TDS2_zz500'
# 定义数据集的文件名前缀
ksgn='avg'
# 定义关键列的名称
#xlst=zsys.TDS_xlst9
# 注释掉的代码,可能是之前使用的特征列表
xlst=zsys2025.TDS_xlst1
# 从 zsys2025 模块中获取 TDS_xlst1 列表,并赋值给 xlst
# 该列表可能包含用于训练和测试的特征列名
print('\nrss,fsgn,ksgn',rss,fsgn,ksgn)
# 打印数据存储目录、文件名前缀和关键列名称
print('xlst',xlst)
# 打印特征列名列表
df_train,df_test,x_train,y_train,x_test, y_test=zdat.frd_TDS(rss,fsgn,ksgn,xlst)
# 调用 zdat 模块中的 frd_TDS 函数读取数据
# 参数说明:
# rss:数据存储目录
# fsgn:文件名前缀
# ksgn:关键列名称
# xlst:特征列名列表
# 返回值说明:
# df_train:训练集的 DataFrame
# df_test:测试集的 DataFrame
# x_train:训练集的特征数据
# y_train:训练集的标签数据
# x_test:测试集的特征数据
# y_test:测试集的标签数据
print('\ndf_test.tail()')
# 打印提示信息
print(df_test.tail())
# 打印测试集 DataFrame 的最后几行数据
#3
print('\n#3,数据格式')
# 打印提示信息,表示接下来查看数据的格式信息
num_x_train,num_y_train=x_train.shape[0],y_train.shape[0]
# 分别获取训练集特征数据和标签数据的行数
num_x_test,num_y_test=x_test.shape[0],x_test.shape[0]
# 分别获取测试集特征数据和标签数据的行数
# 这里原代码可能有误,应该是 x_test.shape[0], y_test.shape[0]
print('\nnum_x_train,num_y_train:',num_x_train,num_y_train)
# 打印训练集特征数据和标签数据的行数
print('\nnum_x_test,num_y_test:',num_x_test,num_y_test)
# 打印测试集特征数据和标签数据的行数
print('\ntpye(x_train):',type(x_train))
# 打印训练集特征数据的类型
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/907135
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!