🚀 AI 一键生成 ptrade 策略代码

PTrade云端如何读取本地数据?(附文件上传与读取代码)

ptrade | 发布时间: 2026/5/28
以下内容由 EasyQuant 生成。

问题描述

本地数据读取限制

PTrade云端无法直接访问本地存储的历史数据或自定义指标文件,需通过手动上传至研究界面(单文件≤50M)。

解决方案

PTrade云端如何读取本地数据?

在PTrade量化交易平台中,由于策略运行在云端服务器上,无法直接访问用户本地电脑的存储路径(如 C:\data.csv)。如果需要使用本地的历史数据、自定义指标或外部信号文件,必须通过研究界面进行手动上传。

核心限制与规则

  1. 单文件大小限制:上传的文件大小不能超过 50MB。如果数据量过大,建议拆分成多个小文件,或仅上传核心特征数据。
  2. 文件命名规范:文件名长度不能超过256个字符,且不能包含特殊字符(如 :?,@#$&();"'<>~!%^*`)。

解决方案:通过研究界面上传并读取

第一步:上传文件

登录PTrade平台,进入**研究(Research)**模块,将你的本地文件(例如 custom_data.csv)上传到根目录或指定文件夹中。

第二步:在策略中获取路径并读取

在策略代码中,使用PTrade提供的 get_research_path() API 获取研究环境的根目录路径,然后拼接文件名进行读取。

Python 代码示例

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云端环境无法直接读取本地数据的限制。