量化最全介绍和操作指南
发布时间:2025-10-14 17:22阅读:455
在量化交易中,数据是策略研发的基石 —— 从基本面分析到盘口挖掘,从回测验证到实盘落地,高质量、多维度的数据支撑直接决定了量化策略的有效性与稳定性。PTrade 作为券商级量化交易平台,不仅具备全面的数据获取能力,更通过 “数据 - 回测 - 交易” 的一体化设计,为量化投资者提供了高效的策略研发闭环。今天我们来讲一讲PTrade如何转化聚宽的代码进行回测,进一步降低了跨平台策略迁移的成本,也可以利用 QMT捕捉聚宽模拟交易信号的进行是实盘。首先先讲一下PTrade可以提供的数据行情。
一、PTrade:全场景数据获取能力
PTrade 的数据体系围绕 “量化策略全生命周期” 设计,从基础交易日历、市场结构,到实时行情、证券属性,再到持仓交易记录,全方位覆盖股票、期货、可转债、ETF、融资融券等多品种的数据源,且所有数据均可通过简洁的 API 直接调用,无需额外对接第三方数据源。
1. 基础交易信息:
基础信息是量化策略基石,PTrade 提供了精准的交易日历与市场结构数据,确保策略在时间维度和市场维度的准确性。
· 交易日历数据:通过get_trading_day(day)获取当前日期前后的交易日(如get_trading_day(1)获取下一交易日),get_all_trades_days()获取 2005 年以来的全部交易日,get_trade_days(start_date, end_date)获取指定区间的交易日,解决非交易日策略暂停、定期调仓日期校准等核心需求。
· 市场结构数据:通过get_market_list()获取上海、深圳、中证指数等核心市场列表,get_market_detail(finance_mic)查询特定市场的产品明细(如上海证券交易所的指数成分、交易规则),为跨市场策略(如沪深 300 与创业板轮动)提供市场边界定义。
2. 多维度行情数据:
行情数据方面,PTrade 支持从日线、分钟线到 tick 级的全频率行情,满足不同策略的颗粒度需求。
· 历史行情:get_history(count, frequency, field, security_list)可获取多品种的历史 K 线数据(如近 100 个交易日的日线收盘价、近 60 分钟的分钟线成交量),支持前复权、后复权、动态前复权等多种复权方式,适配技术分析与趋势策略。
· 实时行情快照:get_snapshot(security)获取标的实时盘口数据,包括买一至买五、卖一至卖五档位价格与委托量、内盘外盘成交量、换手率、量比等,可用于盘口异动监控(如突放巨量、档位跳空)。
· 逐笔数据:get_individual_entrust(security)获取逐笔委托记录,get_individual_transaction(security)获取逐笔成交数据(需 Level2 行情权限,免费赠送),可深入分析市场微观结构(如大单成交分布、委托队列变化),支撑高频策略研发。
· 板块与行业行情:get_sort_msg(sort_type_grp, sort_field_name)获取行业、概念板块的涨幅排名(如沪深 300 成分股按涨跌幅排序),get_trend_data()获取集中竞价期间的行情数据,为板块轮动、行业配置策略提供数据支撑。
3. 证券属性数据:
证券属性数据是基本面分析、标的筛选的核心,PTrade 覆盖股票、ETF、可转债、期货等品种的基础属性与财务数据。
· 基础属性:get_stock_name(security)获取证券名称,get_stock_info(security)查询上市日期、退市状态,get_index_stocks(index_code)获取指数成分股(如沪深 300 成分股),get_etf_stock_list(etf_code)获取 ETF 成分券,解决标的池构建需求。
· 财务数据:get_fundamentals(security, table, fields)支持查询资产负债表、利润表、现金流量表及各类财务指标(如净资产收益率 ROE、毛利率、净利润增长率),可用于基本面因子选股(如低 PE、高 ROE 策略)。
· 特殊品种数据:针对可转债,get_cb_info()获取转股价格、溢价率、到期日;针对期货,get_dominant_contract(contract)获取主力合约代码,get_margin_rate(transaction_code)查询保证金比例,适配多品种策略研发。
4. 持仓与交易数据:
持仓与交易数据是策略实盘监控、绩效复盘的关键,PTrade 实时同步账户状态,无需手动对接柜台数据。
· 持仓数据:get_position(security)查询单只标的持仓(可用数量、成本价),get_all_positions()获取账户全部持仓(含股票、期货、可转债等),支持实时监控持仓市值、盈亏情况。
· 交易记录:get_trades()获取当日成交记录,get_deliver(start_date, end_date)查询历史交割单,get_fundjour(start_date, end_date)获取资金流水,可用于策略绩效分析(如胜率、盈亏比)与合规复盘。
二、研究模块的聚宽代码转换:
对于习惯使用聚宽(JoinQuant)研发策略的用户,PTrade 研究模块提供了check_jq_code('策略名.py')与trans_jq_code('策略名.py')两个核心函数,可快速将聚宽策略代码转换为 PTrade 兼容格式,大幅降低跨平台迁移的工作量。
1. 功能用法:简单两步实现代码转换
· 步骤 1:代码检查(check_jq_code):在 PTrade 研究模块中输入check_jq_code('你的聚宽策略.py')并运行,系统会自动扫描聚宽代码中的语法、函数、因子库依赖,输出兼容性报告(如 “发现聚宽专属函数 q.get_bars,PTrade 建议替换为 get_history”)。
· 步骤 2:代码转换(trans_jq_code):运行trans_jq_code('你的聚宽策略.py'),系统会将聚宽的核心语法(如initialize、handle_data函数结构)、基础数据接口(如get_price)自动转换为 PTrade 格式,生成可直接在 PTrade 回测 / 实盘中运行的代码文件。
2. 注意事项:聚宽专属功能的兼容局限
由于聚宽与 PTrade 的底层架构、因子库设计存在差异,转换功能无法支持聚宽的部分 “专属特性”,主要包括两类:
· 聚宽专属因子库:如聚宽的jqfactor.factors模块(含动量因子、价值因子等预制因子)、jqfactor_analyzer(因子分析工具),PTrade 暂无直接对应的内置因子,转换后需手动用 PTrade 的基础数据接口重构(如用get_fundamentals计算 ROE 替代聚宽的ROE()因子)。
· 聚宽特有函数与语法:如聚宽的q.fundamentals财务数据查询语法、get_bars的特殊参数(如end_date='2024-01-01'的格式差异)、set_universe的不同用法,这些需要根据 PTrade 的 API 文档手动调整。
3. QMT 的替补方案:解决聚宽专属功能兼容问题
QMT 解决聚宽实盘问题的核心思路,是 “绕开代码转换”,直接捕捉聚宽策略运行时生成的模拟交易信号,再将信号转化为实盘委托。其实现路径与 PTrade 的 “代码重构” 完全不同,具体流程如下:
1. 聚宽生成模拟信号:在聚宽回测环境中运行策略,通过修改聚宽策略代码(如在order函数后增加信号输出逻辑),将每次模拟买卖的标的代码、数量、价格、委托方向等信号,以文件(如 CSV)或网络接口(如 Socket)的形式输出到本地或共享路径;
2. QMT 捕捉信号:在 QMT 策略中编写信号监听逻辑,实时读取聚宽输出的信号文件或接收网络信号,解析出 “买卖标的、数量、价格” 等关键信息;
3. QMT 自动实盘下单:QMT 调用自身的实盘交易接口(如股票下单order_stock、期货下单order_future),将解析后的聚宽信号转化为真实委托,完成实盘交易。
三、总结:PTrade 的数据价值与生态协同
总的来说PTrade 的核心竞争力,在于从全面获取数据到自动下单交易的深度融合 —— 不仅能为量化策略提供从宏观到微观、从历史到实时的全维度数据,更能通过简洁的 API 设计、贴近实盘的回测模拟,让数据快速转化为策略生产力。而研究模块的聚宽代码转换功能,进一步降低了跨平台迁移的门槛,对于量化投资者而言,ptrade 从数据挖掘、策略编写,到回测验证、实盘落地,无需在多平台间切换,大幅提升量化交易的效率与稳定性。无论是高频交易、基本面选股,还是跨品种套利,PTrade 的数据分析能力都能成为策略成功的重要支撑。
温馨提示:投资有风险,选择需谨慎。
-
中信证券现在可以买黄金吗?有人知道吗?
2025-10-20 09:58
-
诺贝尔经济学奖揭晓,三位得主荣获825万奖金,究竟研究的啥?
2025-10-20 09:58
-
主播、骑手、网约车司机收入全面裸奔!10月起你的个税这样算
2025-10-20 09:58


当前我在线
13696256467 
分享该文章
