PTrade量化,如何获取行情/市场信息?
发布时间:2026-3-30 16:48阅读:29
PTrade行情数据获取全攻略 | 高赞技巧+避坑指南
1. 市场列表与详情
get_market_list()
- 功能:一键获取支持交易的市场目录(如沪深A股、港股通等)
- 使用场景:盘前/盘后初始化时调用(实盘中禁止在
handle_bar使用!)
# 示例:获取市场列表
market_list = get_market_list()
log.info(f"支持的市场:{market_list}") # 输出如['XSHG', 'XSHE']
get_market_detail(finance_mic)
- 功能:查询指定市场(如上交所"XSHG")的交易规则、开市时间等
- 避坑点:仅支持
get_market_list()返回的4个市场代码!
# 示例:获取上交所详情
sh_detail = get_market_detail("XSHG")
log.info(f"上交所交易时间:{sh_detail['trading_hours']}")
2. 历史行情获取
️ get_history()
- 核心参数:
get_history(
count=100, # 获取最近100根K线
frequency='1d', # 1天/1m分钟/5m等
field='close', # 字段:open/close/high/low/volume等
security_list=['000001.SZ'], # 多股票支持
fq='pre' # 复权类型:pre(前复权)/post(后复权)
) - 优势:多股票批量查询,适合快速对比分析
⏳ get_price()
- 核心参数:
get_price(
security="600519.SH",
start_date="2023-01-01", # 与end_date二选一
count=30, # 取最近30条
frequency='1d',
fields=['open','volume'] # 多字段查询
) - 优势:时间范围灵活,支持单股票多字段深度分析
3. 实战技巧
✅ 数据获取优化
- 缓存机制:避免重复调用,盘前用全局变量存储数据:
def initialize(context):
context.his_data = get_history(500, frequency='1d') # 开盘前预加载 ❌ 常见错误
- 频率冲突:
frequency='1m'但策略日线运行 → 数据量爆炸! - 复权混淆:回测用
fq='pre',实盘用fq=None(实时行情默认不复权) - 非法调用:在
handle_bar中使用get_market_list()→ 报错!
4. 数据对比表
| 函数 | 适用场景 | 多股票支持 | 时间范围 | 性能消耗 |
|---|---|---|---|---|
get_history | 批量快速获取最新N条数据 | ✅ | 仅count | 低 |
get_price | 精细查询指定时间段数据 | ❌ | start/end或count | 中 |
5. 高级应用
跨品种分析案例
# 对比茅台和五粮液30日收盘价
stocks = ['600519.SH', '000858.SZ']
close_data = get_history(30, field='close', security_list=stocks)
maotai = close_data['600519.SH'].mean() # 计算均价
wuliangye = close_data['000858.SZ'].mean()
log.info(f"茅台均价:{maotai:.2f} vs 五粮液:{wuliangye:.2f}")
总结
- 市场信息 →
get_market_list+get_market_detail(仅限盘前/盘后) - 批量快查 →
get_history(多股票场景首选) - 深度分析 →
get_price(单股票多字段精准查询)
#量化交易 #PTrade教程 #行情数据 #Python量化
我司上市券商平台,可提供QMT/PTrade免费使用,低门槛免费提供QMT/PTade量化软件,费率优惠,有需要可评论或私信交流!
温馨提示:投资有风险,选择需谨慎。
-
2026年清明节假期股市休市安排出炉!一键查看
2026-04-02 11:42
-
2026年清明节假期国债逆回购理财攻略来啦!(3天假期赚8天利息)
2026-04-02 11:42
-
一文搞懂【周期股、价值股、稳定增长股、成长股、防御股】五大类股票
2026-04-02 11:42


问一问

+微信
分享该文章
