pytdx数据获取:在线获取和离线获取(8年前的东西,还能用吗?)
文章目录
- 前言
- 另一个github地址
- 配置文件
- 离线获取数据
- 在线数据获取
前言
pytdx是一个神奇的python库。我们可以在这个地方看到它的github:
https://github.com/rainx/pytdx
不过点进去是一个空的项目。
只有一个5年前的readme,别的空无一物。
然后作者说在github上archive这个项目,咱也不知道啥意思。~
另一个github地址
https://github.com/leegb/pytdx
8年前的玩意儿,还能用吗?
说实话,第一次看到这玩意儿,我也是这么想的。
配置文件
[tdx]
local_path = "E:\\new_tdx\\"
api_host = "124.71.163.106"
api_port = 7709
[workspace]
path = "C:\\mcp-workspace\\pytdx"
离线获取数据
离线获取数据,需要安装客户端。
然后就可以:
import os
import toml
from pytdx.reader import TdxLCMinBarReaderconfig_path = os.path.join(os.path.dirname(__file__), '../config.toml')
with open(config_path, 'r') as f:config = toml.load(f)tdx_install_path = config['tdx']['local_path']# 构建数据目录路径(示例股票代码:sh510300)
stock_code = "sh510300"
data_dir = os.path.join(tdx_install_path, "vipdoc", "sh", "minline")
data_file = os.path.join(data_dir, f"{stock_code}.lc1")# 验证路径有效性
if not os.path.exists(data_file):raise FileNotFoundError(f"数据文件 {data_file} 不存在")# 使用pytdx读取分钟线数据
reader = TdxLCMinBarReader()
df = reader.get_df(data_file)
print(df.tail())
成功。(.lc1是1分钟)
在线数据获取
from pytdx.hq import TdxHq_API
import os
import tomlconfig_path = os.path.join(os.path.dirname(__file__), '../config.toml')
with open(config_path, 'r') as f:config = toml.load(f)api = TdxHq_API()
api.connect(config['tdx']['api_host'], config['tdx']['api_port'])
data = api.get_security_bars(7, 60, '510300', 0, 100)
df = api.to_df(data)
print(df)
data = api.get_security_bars(7, 60, '510300', 100, 100)
df = api.to_df(data)
print(df)
api.disconnect()
# with api.connect(config['tdx']['api_host'], config['tdx']['api_port']):
# # 参数说明:周期类型(7=分钟线),分钟数(60),股票代码,起始位置,数量
# data = api.get_security_bars(7, 60, '000001', 0, 100)
# df = api.to_df(data)# print(df)
也是可以的~