PTrade量化新手指南,模拟盘和实盘的持久化处理!(国金证券PTrade量化提供)!
发布时间:15小时前阅读:25
PTrade量化交易新手指南,模拟盘和实盘的注意事项—持久化处理!
模拟盘和实盘注意事项
关于持久化
为什么要做持久化处理
服务器异常、策略优化等诸多场景,都会使得正在进行的模拟盘和实盘策略存在中断后再重启的需求,但是一旦交易中止后,策略中存储在内存中的全局变量就清空了,因此通过持久化处理为量化交易保驾护航必不可少。
1.量化框架持久化处理
使用pickle模块保存股票池、账户信息、订单信息、全局变量g定义的变量等内容。
注意事项:
框架会在before_trading_start(隔日开始)、handle_data、after_trading_end事件后触发持久化信息更新及保存操作。
券商升级/环境重启后恢复交易时,框架会先执行策略initialize函数再执行持久化信息恢复操作。 如果持久化信息保存有策略定义的全局对象g中的变量,将会以持久化信息中的变量覆盖掉initialize函数中初始化的该变量。
全局变量g中不能被序列化的变量将不会被保存。您可在initialize中初始化该变量时名字以'__'开头。
涉及到IO(打开的文件,实例化的类对象等)的对象是不能被序列化的。
全局变量g中以'__'开头的变量为私有变量,持久化时将不会被保存。
示例:
class Test(object):
count = 5
def print_info(self):
self.count += 1
log.info("a" * self.count)
def initialize(context):
g.security = "XXXXXX.SS"
set_universe(g.security)
# 初始化无法被序列化类对象,并赋值为私有变量,落地持久化信息时跳过保存该变量
g.__test_class = Test()
def handle_data(context, data):
# 调用私有变量中定义的方法
g.__test_class.print_info()
2. 策略中持久化处理方法
使用pickle模块保存 g 对象(全局变量)。
示例:
import pickle
from collections import defaultdict
'''
持仓N日后卖出,仓龄变量每日pickle进行保存,重启策略后可以保证逻辑连贯
'''
def initialize(context):
g.notebook_path = get_research_path()
#尝试启动pickle文件
try:
with open(g.notebook_path+'hold_days.pkl','rb') as f:
g.hold_days = pickle.load(f)
#定义空的全局字典变量
except:
g.hold_days = defaultdict(list)
g.security = 'xxxxxx.SS'
set_universe(g.security)
(篇幅所限,示例仅截取部分,完整开发文档说明可联系我获取)
(我司上市券商平台,可提供QMT/PTrade量化系统,免费使用,提供券商极速交易服务配合使用;现在新开户交易佣金优惠,正在进行AI投ETF/选好股/选好基金等AI投顾工具体验活动;欢迎点击文章上方“问一问”,或文章下方微信+电话,直接联系沟通需求!)
智能交易可能因系统、通讯等原因无法正常使用或无法按照您的设置价格发出委托指令及完成成交,最终成交价格及数量以交易所、登记结算机构等记录为准。请密切关注交易回报情况及条件单设置情况。以上信息仅供参考,不构成对委托指令成交的承诺,不构成投资建议,不构成收益或避免损失的承诺。请您务必仔细阅读相关风险提示及协议,了解各类智能交易功能的区别及不同风险,审慎决策是否使用相关功能。
投资有风险,入市需谨慎!

温馨提示:投资有风险,选择需谨慎。
下一篇资讯:
暂无下一篇
- ETF投资小知识—科技板块还能投资吗?从Kimi K3出发,重新理解A股科技的下半场!
- QMT量化交易系统新手教程,QMT线程和进程介绍!(国金QMT量化软件提供)
- ETF投资小知识,工程机械行业—三重利好共振,底部配置价值凸显?
- PTrade量化新手指南,before_trading_start函数!(PTrade软件提供)
- QMT量化交易系统新手指南,数据下载函数介绍!(QMT量化软件提供!)
- QMT量化交易系统新手指南,实盘模型的两种交易模式!国金证券QMT量化软件低门槛提供!
- PTrade量化交易新手指南,如何开始写策略?国金证券低门槛PTrade量化软件提供!
- QMT量化交易系统新手指南,实盘模型的3种运行机制介绍!QMT量化软件申请来国金,低门槛!


问一问

+微信
分享该文章
