3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在PTrade量化交易平台中,由于策略运行在云端服务器上,无法直接访问用户本地电脑的存储路径(如 C:\data.csv)。如果需要使用本地的历史数据、自定义指标或外部信号文件,必须通过研究界面进行手动上传。
:?,@#$&();"'<>~!%^*`)。登录PTrade平台,进入**研究(Research)**模块,将你的本地文件(例如 custom_data.csv)上传到根目录或指定文件夹中。
在策略代码中,使用PTrade提供的 get_research_path() API 获取研究环境的根目录路径,然后拼接文件名进行读取。
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 + 'custom_data.csv'
# 3. 使用 pandas 读取 CSV 文件
try:
g.custom_data = pd.read_csv(file_path)
log.info("成功读取本地上传的数据!数据行数:%s" % len(g.custom_data))
except Exception as e:
log.error("读取数据失败,请检查文件是否存在或格式是否正确。错误信息:%s" % e)
def handle_data(context, data):
# 在盘中逻辑中使用 g.custom_data
pass
如果你上传的CSV文件是为了设置回测的初始底仓,PTrade提供了一个专用API convert_position_from_csv(path)。
CSV格式要求:包含 sid, enable_amount, amount, cost_basis 四列。
def initialize(context):
# 直接传入上传到研究界面的CSV文件名
poslist = convert_position_from_csv("Poslist.csv")
set_yesterday_position(poslist)
通过以上方法,即可完美解决PTrade云端环境无法直接读取本地数据的限制。