【金融量化】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)
相关推荐
元宇宙时间1 天前
数字人民币助力亚太经合新金融秩序——构建亚太数字经济与区域金融协同的关键基础设施
大数据·人工智能·金融
2501_921649492 天前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
数据猿2 天前
【金猿CIO展】莱商银行信息科技部总经理张勇:AI Infra与Data Agent驱动金融数据价值新十年
人工智能·金融
雷焰财经2 天前
从“金桂奖”看金融创新:中和农信如何为乡村振兴引来金融“活水”
金融
低调电报2 天前
技术王者局・鸿蒙 6.0 特性实战闯关:金融级应用安全与异构设备协同开发复盘
安全·金融·harmonyos
雷焰财经2 天前
引金融“活水”精准滴灌,筑乡村振兴坚实根基——中和农信的普惠金融实践
金融
中电金信2 天前
中电金信:智能辅助审单方案让跨境金融审核又快又准
大数据·金融
菊风 Juphoon2 天前
赋能金融租赁,菊风中标浙银金租视频双录系统项目,打造金融租赁合规运营范式
金融
期权汇小韩2 天前
科技砸盘释放流动性!消费成焦点!
金融
祝威廉2 天前
摘下数据分析的皇冠:机器学习,InfiniSynapse 金融评分卡案例
人工智能·机器学习·金融·数据挖掘·数据分析