3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 PTrade 量化交易平台中,get_fundamentals 函数用于获取财务数据。其中 merge_type 参数主要用于控制财务数据更新版本的选择,即决定是获取上市公司首次发布的数据,还是获取经过修正后的最新发布数据。
以下是关于 merge_type 参数的详细说明:
上市公司发布的财务报表(如年报、季报)在发布后,可能会因为会计差错更正、追溯调整等原因进行修正。merge_type 决定了策略获取的是原始数据还是修正后的数据。
不传 或 merge_type=None(默认值)
merge_type=1
假设某上市公司在 2022年4月20日 发布了2021年年报,净利润显示为 1亿元。
随后在 2022年5月20日,公司发布公告更正了年报数据,将净利润修正为 0.8亿元。
如果在策略中查询该股票2021年的净利润:
merge_type=None:无论何时查询,返回的都是 1亿元(还原历史发布时的状态)。merge_type=1:返回的是 0.8亿元(获取修正后的准确数据)。Q: 在回测中如果使用了 merge_type=1 会有什么后果?
A: 如果在回测中使用 merge_type=1,策略可能会利用“未来已知”的修正数据进行交易。例如,某公司原始财报很差导致股价下跌,但后来修正为盈利。如果回测使用了修正后的盈利数据买入,而当时市场上的投资者看到的是亏损数据在卖出,这会导致回测收益率虚高,无法反映真实交易情况(即引入了未来函数)。
Q: get_fundamentals 中哪些表支持 merge_type 参数?
A: 根据文档,只有部分表包含此字段。通常涉及核心财务报表(如资产负债表 balance_statement、利润表 income_statement、现金流量表 cashflow_statement)的数据更正较多,具体需以 API 文档中的各表字段说明为准。
Q: 实盘交易时必须设置 merge_type=1 吗?
A: 建议设置。实盘交易关注的是公司当前的真实财务状况。使用最新修正后的数据可以避免因原始报表错误而做出错误的估值判断。