Pine Script中financial函数FLOAT_SHARES_OUTSTANDING与筛选器数值差异问题
差异产生的核心原因
- 数据更新频率不同:你当前调用的
financial(syminfo.tickerid, "FLOAT_SHARES_OUTSTANDING", "FY")取的是上市公司财年(FY)年报披露的期末流通股数值,仅每年年报发布时更新一次。而股票筛选器的流通股数值一般为近实时更新,会同步窗口期内的限售股解禁、增发、回购等变动,以FUTU为例,若其在两次年报披露间隔有大规模限售股解禁操作,未更新的财年数据自然会和筛选器最新数值产生明显偏差。 - 统计口径规则不同:部分平台的
FLOAT_SHARES_OUTSTANDING字段统计时会额外扣除公司高管、核心战略股东持有的长期锁定股份,而不少股票筛选器的流通股统计仅扣除法定限售股份,不对大股东长期持有股份做额外扣除,规则不同的前提下数值必然存在差异。 - 数据源差异:如果你使用的脚本平台和股票筛选器的财务数据来自不同供应商,两边的更新时差、数据修正规则不同也会导致数值不一致。
对应的解决方法
- 调整财务数据的获取周期:将代码中的财年参数
"FY"替换为季度"FQ"或最近十二个月"TTM",可以拿到更新频率更高的流通股数据,大幅缩小和实时数值的差值。 - 匹配对应统计口径:先确认你使用的股票筛选器的流通股统计规则,再对应选择
financial()函数的匹配字段,比如部分平台支持"PUBLIC_FLOAT"字段取仅扣除法定限售股的流通股数值,和多数筛选器口径一致。 - 若需要完全和筛选器数值对齐,可以自行同步筛选器对应的数据源数值,导入脚本后进行计算。
内容的提问来源于stack exchange,提问作者Link 88
相关产品推荐
相关产品推荐

