3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
许多初学者在使用 PTrade 量化平台时,经常会遇到一个典型的报错:在策略中使用 Python 的 open() 函数尝试读取本地电脑(如 C:\\data.csv)的文件时,系统提示找不到文件或路径错误。这主要是因为混淆了 PTrade 客户端的本地运行 与 量化引擎的云端部署 机制。
get_history)、交易撮合引擎等,全部都在云端服务器上执行。结论:策略代码的实际执行环境在云端,因此它无法直接访问你个人电脑硬盘上的任何文件。
为了保护用户的知识产权和策略安全,PTrade 将策略文件加密存储在券商的云端数据库中。这意味着你无法在本地安装目录下找到明文的策略源码文件,也无法通过外部 IDE(如 PyCharm)直接挂载运行。
既然策略在云端运行,如果我们需要加载自定义的股票池、机器学习模型权重或外部因子数据,应该怎么做呢?PTrade 提供了专门的**研究环境(Research)**作为数据中转站。
Upload 按钮,将你的本地文件(如 my_data.csv 或 model.pkl)上传到云端服务器。get_research_path() 获取路径上传后,文件就已经存在于云端服务器上了。在策略代码中,你需要使用 PTrade 提供的 API get_research_path() 来获取研究环境的根目录路径,然后拼接文件名进行读取。
import pandas as pd
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
# 1. 获取研究环境的根目录路径
research_path = get_research_path()
# 2. 拼接你上传的文件名
file_path = research_path + 'my_data.csv'
# 3. 使用 pandas 读取云端文件
try:
g.my_custom_data = pd.read_csv(file_path)
log.info('成功读取外部数据!数据行数:%d' % len(g.my_custom_data))
except Exception as e:
log.error('读取文件失败,请检查文件是否已上传至研究环境。错误信息:%s' % e)
def handle_data(context, data):
pass
D:\\...)。pickle)并保存到 get_research_path() 目录下,这样即使服务器重启,数据也不会丢失。convert_position_from_csv('Poslist.csv') 接口,前提同样是先将 CSV 文件上传至研究环境。