【金融量化】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)
相关推荐
清咖啡13 小时前
金融工程(一)
金融
中电金信13 小时前
中电金信:首个金融信创中试平台揭牌,架设国产软硬件落地应用的“高速通道”
金融
侠客软件开发15 小时前
程序+股票一年随笔
金融·股票·量化
极客先躯2 天前
高可用巡检脚本实战:一键掌握服务、网络、VIP、资源状态
运维·网络·金融
YangYang9YangYan3 天前
金融分析师核心能力构建:从数据解读到战略洞察
大数据·信息可视化·金融·数据分析
bdawn4 天前
Vue3 项目首屏加载性能优化全攻略
性能优化·vue·策略·分包
落雪财神意4 天前
股指10月想法
大数据·人工智能·金融·区块链·期股
九河云5 天前
如何选择适合的加密方法来保护云计算中的数据
网络·科技·物联网·金融·云计算
高频交易dragon5 天前
xgboost参数含义以及应付金融数据中的类别不平衡的套路
金融
cxr8286 天前
AI智能体赋能金融研究领域之仿真:流动性风暴下的高维战略 —— QT驱动的系统性失位与方舟部署蓝图
人工智能·qt·金融·ai赋能