从零学习量化交易029读取TDS金融数据集

(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
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 3小时前
下一篇 3小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注