【金融量化】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)
相关推荐
THMAIL14 小时前
量化基金从小白到大师 - 金融数据获取大全:从免费API到Tick级数据实战指南
人工智能·python·深度学习·算法·机器学习·金融·kafka
zzywxc78714 小时前
AI在金融、医疗、教育、制造业等领域的落地案例(含代码、流程图、Prompt示例与图表)
人工智能·spring·机器学习·金融·数据挖掘·prompt·流程图
tang7778916 小时前
金融行业:静态与动态代理 IP 的选型与风控
网络·tcp/ip·金融
CryptoPP1 天前
跨境金融数据对接实践:印度NSE/BSE股票行情API集成指南
开发语言·后端·金融
金融数据出海2 天前
黄金金融期货数据API对接技术文档
开发语言·金融·github
七夜zippoe2 天前
AI+Java 守护你的钱袋子!金融领域的智能风控与极速交易
java·人工智能·金融
dingzd952 天前
去中心化金融(DeFi)入门必看
金融·web3·去中心化·区块链·facebook·tiktok·instagram
zzywxc7873 天前
AI行业应用:金融、医疗、教育、制造业的落地案例全解析
人工智能·深度学习·spring·机器学习·金融·数据挖掘
一尘之中3 天前
《空中隧道》:一位金融预言家写在1927年的“科幻小说”,藏着何种投资秘钥?
人工智能·金融·ai写作
芒果量化3 天前
redis - 远程发送买卖信号、本地接收信号处理
redis·python·金融