You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于公式剔除双表匹配观测值:日内与日度价格校验开发需求

实现步骤与代码示例

我会用Python的Pandas库来搞定这个任务——这是处理结构化金融数据的首选工具之一,代码清晰还容易维护。

步骤1:按name和date匹配两张表

首先得把日内价格表和日度价格表用name和date这两个关键字段做内连接,这样就能只保留两张表中同时存在的name-date组合,避免出现没有对应日度价格的日内数据。

步骤2:剔除超出价格区间的观测值

合并完成后,我们先算出日度价格的上下阈值(0.962倍到1.0398倍),再用这个区间过滤掉不符合要求的日内价格记录。


完整代码示例

假设你的日内数据表叫intraday_df,日度数据表叫daily_df,代码如下:

import pandas as pd

# 步骤1:内连接合并两张表,只保留匹配成功的观测值
merged_df = pd.merge(
    intraday_df,
    daily_df,
    on=['name', 'date'],
    how='inner'
)

# 步骤2:计算价格区间的上下限
merged_df['lower_threshold'] = merged_df['daily price'] * 0.962
merged_df['upper_threshold'] = merged_df['daily price'] * 1.0398

# 筛选符合区间的记录,同时移除临时生成的阈值列
filtered_df = merged_df[
    (merged_df['intraday price'] >= merged_df['lower_threshold']) &
    (merged_df['intraday price'] <= merged_df['upper_threshold'])
].drop(columns=['lower_threshold', 'upper_threshold'])

# 查看处理后的结果
print(filtered_df.head())

补充说明

  • 如果你的数据存在缺失值(比如某条日内数据找不到对应日度价格),how='inner'会自动排除这些记录;要是想保留并标记缺失,可以把how改成left,后续再处理NaN值。
  • 要是用SQL来实现,逻辑也是完全一致的:先做JOIN,再用WHERE子句筛选区间。核心SQL语句大概是这样:
SELECT i.*, d.`daily price`
FROM intraday_table i
JOIN daily_table d ON i.name = d.name AND i.date = d.date
WHERE i.`intraday price` BETWEEN d.`daily price`*0.962 AND d.`daily price`*1.0398;

内容的提问来源于stack exchange,提问作者Amin Karimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:41:14