在 PTrade 中,策略的运行环境是决定其能否稳定、高效执行的关键因素。理解 PTrade 的策略运行机制和底层环境,有助于你更好地编写、测试和部署量化策略。
PTrade 支持 云端运行 和 本地运行 两种方式:
| 运行方式 | 特点 | 适用场景 |
|---|---|---|
| 云端运行(默认) | 策略由券商服务器运行,无需本地电脑持续在线 | 新手、轻量级策略、模拟交易、实盘交易 |
| 本地运行 | 需要本地安装 PTrade 客户端,策略在本地执行 | 高频交易、复杂策略、需要本地调试 |
️ 注意:实盘交易时通常采用云端运行,以确保策略稳定性和实时性。
numpy、pandas、matplotlib 等。scikit-learn、tensorflow),除非通过特定方式加载。提示:如果你需要使用自定义库,可以尝试将代码打包并上传到 PTrade 服务器中。
# 获取历史收盘价
close_prices = data.history('600570.SS', 'close', 20, '1d')
# 获取当前价格
current_price = data.current('600570.SS')
建议参考官方文档中的 API 列表,了解每个函数的具体用途和参数。
handle_data() 函数。PTrade 策略的执行过程分为几个阶段:
| 步骤 | 说明 |
|---|---|
| initialize(context) | 初始化函数,只执行一次,用于设置初始变量、股票池、参数等 |
| before_trading_start(context) | 每天开盘前执行一次,常用于准备数据 |
| handle_data(context, data) | 每个周期(如每分钟、每天)执行一次,核心逻辑在此 |
| after_trading_end(context) | 每天收盘后执行一次,可用于收尾工作 |
示例结构:
def initialize(context):
# 初始化配置
set_universe('600570.SS')
def before_trading_start(context):
# 每天开盘前处理
def handle_data(context, data):
# 核心策略逻辑
def after_trading_end(context):
# 每天收盘后处理
data.history()、data.current() 等函数的调用次数。pandas 的 apply() 函数)。log.info()、log.warn()、log.error() 输出日志信息。log.info("当前价格: %s" % current_price)
️ 注意:PTrade 的日志系统可能有延迟,不适合用于实时调试。
| 项目 | 说明 |
|---|---|
| 运行模式 | 云端运行为主,本地运行为辅 |
| Python 环境 | 3.x,内置常用库,不支持第三方库 |
| 数据接口 | 提供历史、实时、L2、财务等数据 |
| API 接口 | 提供下单、持仓、回测等功能 |
| 回测引擎 | 时间驱动,支持多种指标计算 |
| 限制 | 内存、CPU、网络、多线程等受限 |
| 优化建议 | 避免频繁 API 调用、减少循环、合理设置股票池 |
如你有具体的策略代码或运行问题,也可以发给我,我可以帮你分析运行环境是否合适、是否存在性能瓶颈或逻辑错误。股票开户找我!无门槛国债逆回购一折 (百万分之一)!ETF佣金万0.5!融资利率5%以下!优惠多多!免费量化!ptrade&QMT!