【金融量化】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)
相关推荐
tang7778915 小时前
“交易IP被标记?”—— 金融数据API调用的代理IP合规指南
网络·tcp/ip·金融
Highcharts.js2 天前
深入理解 Highcharts Stock:为金融 / 时间序列可视化量身打造
金融
zzywxc7872 天前
AI 行业应用:AI 在金融、医疗、教育、制造业等领域的落地案例
人工智能·spring·金融·prompt·语音识别·xcode
xiaofan6720132 天前
金融分析师职场学习技能提升方法分享
学习·金融
央链知播2 天前
链改2.0总架构师何超秘书长重构“可信资产lPO与数链金融RWA”
金融·重构·web3·区块链·业界资讯
科技圈快讯3 天前
解构IDP未来前景:去中心化金融的“阳谋”与以人为本的生态蓝图(解读)
金融·去中心化·区块链
不是光头 强3 天前
A股大盘数据-20250925&分析
金融·理财·程序员理财·程序员财富
EmmaXLZHONG3 天前
云计算在金融领域中的应用
金融·云计算
综合热讯3 天前
平安产险深圳分公司在深圳莲花山公园 参与2025年金融教育宣传周启动仪式活动
人工智能·金融
央链知播3 天前
三板汇茶咖空间签约“可信资产IPO与数链金融RWA”链改2.0项目联合实验室
金融·区块链·业界资讯