3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
根据 PTrade API 文档的“支持的三方库”列表,PTrade 平台是支持 Tushare 库的。
您可以在策略代码中导入并使用 Tushare,但需要注意运行环境的网络限制和数据源的稳定性。
根据文档,PTrade 环境中预装了以下 Tushare 相关库:
您可以在 initialize 或其他函数中导入并初始化 Tushare。由于 Tushare Pro 接口需要 Token,您需要拥有自己的 Tushare 账号。
import tushare as ts
def initialize(context):
# 设置 Tushare Token (请替换为您自己的 Token)
# 注意:不要在实盘代码中明文暴露重要 Token,建议仅在研究环境测试
token = 'YOUR_TUSHARE_TOKEN'
try:
ts.set_token(token)
pro = ts.pro_api()
# 示例:获取某只股票的基础信息
# 注意:这需要网络连接,回测或实盘环境可能受限
df = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
log.info(df.head())
except Exception as e:
log.info("Tushare 调用失败,可能是网络限制或 Token 错误: %s" % e)
def handle_data(context, data):
pass
虽然库已安装,但在实际使用中存在以下限制,强烈建议优先使用 PTrade 自带的数据 API:
get_history)可能存在除权、停牌处理上的细微差异,混合使用可能导致信号漂移。get_history, get_fundamentals)直接从本地或内网高速服务器读取数据,速度远快于通过网络请求 Tushare 接口。如果您需要获取行情或财务数据,建议直接使用 PTrade 提供的接口,无需联网且与回测系统完美兼容:
get_history() 或 get_price()。get_fundamentals()。get_stock_info()。原生 API 示例:
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 替代 Tushare 获取行情
# 获取过去 5 天的收盘价
history_df = get_history(5, '1d', 'close', g.security)
log.info(history_df)
Q: 为什么我在回测时调用 Tushare 报错连接超时?
A: PTrade 的回测和实盘运行容器通常是与外网隔离的(沙箱环境),无法发送 HTTP 请求到 Tushare 服务器。Tushare 仅推荐在“研究”模块中用于数据分析,不建议在策略运行逻辑中使用。
Q: PTrade 自带的数据够用吗?
A: PTrade 提供了完整的行情数据(日线、分钟、Tick)、财务数据(三大表)、以及基础信息(行业、概念、股本等),基本覆盖了 Tushare 的常用功能,且针对量化交易做了清洗和优化。
Q: 如何查看当前环境支持的所有第三方库?
A: 您可以查阅 PTrade 官方文档的“支持的三方库”章节,或者在研究环境中运行 pip list 命令来查看已安装的库及其版本。