【金融量化】Ptrade中如何获取各类回测数据?

1. get_history

  • 功能: 获取指定时间段内的历史行情K线数据,支持多股票、多行情字段获取。
  • 参数 :
    • security: 股票代码或股票代码列表(list[str]/str)。
    • start_date: 开始时间,格式为YYYYmmdd、YYYY-mm-dd、YYYY-mm-dd HH:MM、YYYYmmddHHMM。
    • end_date: 结束时间,格式同上。
    • frequency: 时间频率,支持1m、5m、15m、30m、60m、120m、1d、1w、mo、1q、1y等。
    • fields: 输出字段,如open、high、low、close、volume等。
    • fq: 复权选项,支持pre(前复权)、post(后复权)、None(不复权)。
    • count: 获取end_date前count根的数据,不能与start_date同时使用。
  • 返回: 返回pandas.DataFrame对象,行索引为datetime.datetime,列索引为行情字段。

2. get_price

  • 功能: 获取指定日期的前N条历史行情K线数据或指定时间段内的历史行情K线数据。
  • 参数 :
    • security: 股票代码或股票代码列表(list[str]/str)。
    • start_date: 开始时间,格式为YYYYmmdd、YYYY-mm-dd、YYYY-mm-dd HH:MM、YYYYmmddHHMM。
    • end_date: 结束时间,格式同上。
    • frequency: 时间频率,支持1m、5m、15m、30m、60m、120m、1d、1w、mo、1q、1y等。
    • fields: 输出字段,如open、high、low、close、volume等。
    • fq: 复权选项,支持pre(前复权)、post(后复权)、None(不复权)。
    • count: 获取end_date前count根的数据,不能与start_date同时使用。
  • 返回: 返回pandas.DataFrame对象,行索引为datetime.datetime,列索引为行情字段。

3. get_current_data

  • 功能: 获取实时行情数据,包括当前价格、成交量等。
  • 参数 :
    • security: 股票代码或股票代码列表(list[str]/str)。
  • 返回: 返回当前行情数据,包括价格、成交量等信息。

4. get_instruments

  • 功能: 获取股票的基本信息,如股票代码、名称等。
  • 参数 :
    • security: 股票代码或股票代码列表(list[str]/str)。
  • 返回: 返回股票的基本信息。

5. get_position

  • 功能: 获取当前持仓信息。
  • 参数 :
    • security: 股票代码或股票代码列表(list[str]/str)。
  • 返回: 返回当前持仓的详细信息,包括持仓数量、成本价等。

6. get_Ashares

  • 该函数用于获取指定日期沪深市场的所有A股代码列表。
  • 使用场景:在研究、回测、交易模块中可用。
  • 参数:date(格式为yyyymmdd),如果不传入参数,默认取回测日期(回测中)或当天日期(研究和交易中)。
  • 返回:股票代码列表,类型为list[str]。
  • 示例:
plain 复制代码
ashares = get_Ashares("20230512")
log.info("20230512 A股数量为 %s" % len(ashares))

7.get_index_stocks

  • 该函数用于获取一个指数在平台可交易的成分股列表。
  • 使用场景:在研究、回测、交易模块中可用。
  • 参数:index_code(指数代码,如000300.SS),date(格式为yyyymmdd,默认为当前日期)。
  • 返回:股票代码列表,类型为list[str]。
  • 示例:
plain 复制代码
stocks = get_index_stocks('000300.SS', '20230512')
log.info("20230512 沪深300成分股为 %s" % stocks)

8. get_industry_stocks

  • 该函数用于获取一个行业的所有股票。
  • 使用场景:在研究、回测、交易模块中可用。
  • 参数:industry_code(行业编码,如a01000.xbhs)。
  • 返回:股票代码列表,类型为list[str]。
  • 示例:
plain 复制代码
stocks = get_industry_stocks('a01000.xbhs')
log.info("农业股列表为 %s" % stocks)

9.get_fundamentals

  • 该函数用于获取股票的财务及估值数据,支持灵活筛选、排序和组合查询。
  • 使用场景:在研究、回测模块中可用。
  • 参数:query_object(通过query()构建的查询对象),date(查询日期,格式为字符串或datetime对象),statDate(财报统计周期,如"2024q1")。
  • 返回:以DataFrame格式返回数据,列名对应查询字段,行索引为股票代码。
  • 示例:
plain 复制代码
q = query(valuation.code, valuation.pe_ratio)
df = get_fundamentals(q, date='2025-02-25')

10.context.portfolio.portfolio_value

  • 该属性用于获取当前投资组合的总价值。
  • 使用场景:在回测和交易模块中可用。
  • 示例:
plain 复制代码
portfolio_value = context.portfolio.portfolio_value
log.info("当前投资组合总价值为 %s" % portfolio_value)
相关推荐
进取星辰20 小时前
21. LangChain金融领域:合同审查与风险预警自动化
金融·langchain·自动化
时空自由民.1 天前
金融小知识
金融
geneculture2 天前
金融的本质是智融、融资的实质是融智、投资的关键是投智,颠覆传统金融学的物质资本中心论,构建了以智力资本为核心的新范式
大数据·人工智能·算法·金融·系统工程融智学
weixin_307779134 天前
金融信贷公司所需的技术和风控体系及其带来的价值
数据仓库·金融·etl
云攀登者-望正茂4 天前
使用 Azure DevSecOps 和 AIOps 构建可扩展且安全的多区域金融科技 SaaS 平台
金融·云计算
灏瀚星空4 天前
鞅理论:从数学基石到金融工程的量化革命
笔记·python·学习·数学建模·信息可视化·金融·矩阵
weixin_307779134 天前
使用Python和Pandas实现的Amazon Redshift权限检查与SQL生成用于IT审计
数据仓库·金融·云计算·etl·aws
灏瀚星空4 天前
基于Python开发Markdown兼容公式格式转换工具
笔记·python·数学建模·金融
ahe1685 天前
使用DeepSeek、MCP和AKShare实现智能金融问答系统技术方案
人工智能·ai·金融·股票
华为云PaaS服务小智5 天前
华为云汪维敏:AI赋能应用现代化,加速金融生产力跃升
人工智能·金融·华为云